building py-pyobjc2 gives $MACOSX_DEPLOYMENT_TARGET mismatch

Ryan Schmidt ryandesign at
Thu May 28 11:35:56 PDT 2009

On May 28, 2009, at 13:30, Harry van der Wolf wrote:

>> My understanding is that PyObjC 2.x requires Mac OS X 10.5.x or  
>> greater (thus the 10.5 or greater SDK and MACOSX_DEPLOYMENT_TARGET  
>> set to 10.5 or greater), while PyObjC 1.x requires Mac OS X 10.4.x  
>> or earlier.
> I'm affraid you are right. I had already seen that the Portfile  
> mentioned:
> if {${os.major} < 9} {
>     pre-fetch {
>         return -code error "PyObjC 2.0 requires Mac OS X 10.5"
>     }
> }
> But being ON 10.5 I assumed it would work.

Ok, got it, so you were on 10.5 but had your deployment target and  
SDK set to 10.4 in macports.conf.

> So I also tried to install the py-pyobjc version:
> sudo port install py-pyobjc
> --->  Computing dependencies for py-pyobjc
> --->  Fetching py-pyobjc
> Error: Target org.macports.fetch returned: PyObjC 1.4 is for Mac OS  
> X 10.4 and lower. On 10.5, use py-pyobjc2 instead.
> Error: Status 1 encountered during processing.
> As that one "sensed" it was on 10.5 instead of 10.4, I (again)  
> assumed that objc2 could also "sense" that it was on 10.5 despite  
> the deployment setting and the 10.4u.sdk.  So I switched back to py- 
> pyobjc2.

Yes. As you see, the ports only check the OS version. They don't  
check the SDK version or the deployment target. But if a port says it  
requires 10.5, then it's likely that means it requires the 10.5 SDK  
and the deployment target set to 10.5 as well.

> On your reply I also tried to change the macports.conf and set the  
> deployment target to 10.5 and the SDK to 10.5 as well.
> But again: "distutils.errors.DistutilsPlatformError:  
> $MACOSX_DEPLOYMENT_TARGET mismatch: now "10.5" but "10.4" during  
> configure"
> So, I'm affraid I'm in some dead-lock.

Did you clean the port after changing your macports.conf, so that it  
runs the configure phase again?

sudo port clean py-pyobjc2

More information about the macports-users mailing list