New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
OS X installer does not detect bad symlinks created by Xcode 3.2.6 #58226
Comments
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
total 8
lrwxr-xr-x 1 root wheel 19 Mar 17 18:24 Frameworks@ ->
/Library/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. |
New changeset f96579debefa by Ned Deily in branch 'default': |
New changeset 7232d544c811 by Ned Deily in branch '2.7': New changeset 17ddc0c34d9d by Ned Deily in branch '3.2': New changeset 28cb0bcaa22e by Ned Deily in branch 'default': |
New changeset e0eb7dea245f by Ned Deily in branch '2.7': New changeset eb0af7f6ea6d by Ned Deily in branch '3.2': |
The SDK test in setup.py has been extended to include files in /Library/Frameworks (see OS X ld man page). The test in IDLE |
New changeset 49294e55311f by Ned Deily in branch '2.7': New changeset 58646b0c5226 by Ned Deily in branch '3.2': |
New changeset c2830debb15a by Ned Deily in branch '2.7': New changeset d54330c8daaa by Ned Deily in branch '3.2': New changeset 6e6a76166c47 by Ned Deily in branch '3.3': New changeset 888590641c49 by Ned Deily in branch 'default': |
Note: these values reflect the state of the issue at the time it was migrated and might not reflect the current state.
Show more details
GitHub fields:
bugs.python.org fields:
The text was updated successfully, but these errors were encountered: