On Nov 21, 2008, at 11:03 AM, Phil Thompson wrote:

This will take care of not-linking the python framework - in
siputils.py, ModuleMakefile().finalise(), change:

self.LFLAGS.append("-F%s" % string.join(dl, os.sep))
self.LFLAGS.append("-framework Python")

to:

self.LFLAGS.append("-undefined dynamic_lookup")

Thanks - it will be in SIP v4.8.

Thanks.

When I saw your reply, I suddenly remembered an old ld manpage that mentioned that dynamic_lookup isn't supported on older OSX versions - 10.2 or earlier.

The default "compatibility" mode on 10.4 and earlier is 10.1, and on 10.5 is 10.5, and thus dynamic_lookup won't work by default on 10.3 or 10.4. You can set this with C flag -macosx_version_min, or macro flag MACOSX_DEPLOYMENT_TARGET. (I always build for a specific version using MACOSX_DEPLOYMENT_TARGET, such as 10.4 or 10.5, so I don't run into old-version issues)

Note that the current python 2.5 and 2.6 binaries for OSX are 10.3 minimum. The system python in OSX 10.4 and 10.3 is v2.3 (the minimum for SIP). Earlier OSX versions have pre-2.3 pythons (I think). So supporting OSX before 10.3 is difficult if not impossible.

Also, if (and only if) macosx_version_min or MACOSX_DEPLOYMENT_TARGET are not set by the user, SIP should add a min version 10.3 to compilation flags. That could be tricky, since MACOSX_DEPLOYMENT_TARGET is read while running make, while SIP creates the makefiles. Maybe SIP documentation just needs a note for OSX users to set MACOSX_DEPLOYMENT_TARGET to a minimum of 10.3. ie:

export MACOSX_DEPLOYMENT_TARGET=10.3
python configure.py ...
make

My brain not up to the task of working out anything more complex such as testing for MACOSX_DEPLOYMENT_TARGET or -macosx_version_min in makefiles or during configuration. The key is that SIP should respect what the user sets (if it's at least 10.3), before defaulting to 10.3.

-----
William Kyngesburye <kyngchaos*at*kyngchaos*dot*com>
http://www.kyngchaos.com/

"I ache, therefore I am.  Or in my case - I am, therefore I ache."

- Marvin


_______________________________________________
PyQt mailing list    [email protected]
http://www.riverbankcomputing.com/mailman/listinfo/pyqt

Reply via email to