[New-bugs-announce] [issue14018] OS X installer does not detect bad symlinks created by Xcode 3.2.6

Ned Deily 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
total 8
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.

assignee: ned.deily
components: Build, Macintosh
messages: 153381
nosy: ned.deily
priority: normal
severity: normal
stage: needs patch
status: open
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 mailing list