[New-bugs-announce] [issue14018] OS X installer does not detect bad symlinks created by Xcode 3.2.6
report at bugs.python.org
Wed Feb 15 02:01:28 CET 2012
New submission from Ned Deily <nad at acm.org>:
Xcode 3.2.6, the most recent release for OS X 10.6 (Snow Leopard), has a subtle but critical bug that affects Python builds using OS X SDKs (--enable-universalsdk=/Developer/SDKs/MacOSX10.?.sdk). The Xcode installer creates faulty symlinks to /Library within /Developer/SDKs. The net effect is that frameworks installed in /Library, such as ActiveState Tcl and Tk, are not found during a build using the SDK as they should be.
$ cd /Developer/SDKs/MacOSX10.6.sdk/Library
$ ls -l
lrwxr-xr-x 1 root wheel 19 Mar 17 18:24 Frameworks@ ->
it ends up with an extra Frameworks directory so that
/Developer/SDKs/MacOSX10.6.sdk/Library/Frameworks/Frameworks/ -> /Library/Frameworks
The solution is to manually go in and fix the symlinks in
/Developer/SDKs/MacOSX10.6.sdk, and remember to do so again if you have
to reinstall Xcode 3.2.6. AFAIK, this bug is unique to Xcode 3.2.6, not
earlier versions of 3.2.x.
The effect on Python builds is that tkinter is linked against the Apple-supplied Tcl and Tk frameworks rather than the ActiveState ones which is not what is desired.
While the problem is created by Apple, the OS X Python installer build script, Mac/BuildScript/build-installer.py, should include a post-build check using otool -L that _tkinter.so is linked as expected. The script already includes tests pre-build to ensure that the additional frameworks are in place.
components: Build, Macintosh
stage: needs patch
title: OS X installer does not detect bad symlinks created by Xcode 3.2.6
versions: Python 2.7, Python 3.2, Python 3.3
Python tracker <report at bugs.python.org>
More information about the New-bugs-announce