classification
Title: OS X installer does not detect bad symlinks created by Xcode 3.2.6
Type: Stage: resolved
Components: Build, Macintosh Versions: Python 3.3, Python 3.2, Python 2.7
process
Status: closed Resolution: fixed
Dependencies: Superseder:
Assigned To: ned.deily Nosy List: ned.deily, python-dev
Priority: normal Keywords:

Created on 2012-02-15 01:01 by ned.deily, last changed 2013-01-29 08:19 by python-dev. This issue is now closed.

Messages (7)
msg153381 - (view) Author: Ned Deily (ned.deily) * (Python committer) Date: 2012-02-15 01:01
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.
msg166869 - (view) Author: Roundup Robot (python-dev) Date: 2012-07-30 09:37
New changeset f96579debefa by Ned Deily in branch 'default':
Issue #14018: Fix OS X Tcl/Tk framework checking when using OS X SDKs.
http://hg.python.org/cpython/rev/f96579debefa
msg166874 - (view) Author: Roundup Robot (python-dev) Date: 2012-07-30 10:38
New changeset 7232d544c811 by Ned Deily in branch '2.7':
Issue #14018: Update the OS X IDLE Tcl/Tk warning check to include
http://hg.python.org/cpython/rev/7232d544c811

New changeset 17ddc0c34d9d by Ned Deily in branch '3.2':
Issue #14018: Update the OS X IDLE Tcl/Tk warning check to include
http://hg.python.org/cpython/rev/17ddc0c34d9d

New changeset 28cb0bcaa22e by Ned Deily in branch 'default':
Issue #14018: merge
http://hg.python.org/cpython/rev/28cb0bcaa22e
msg166879 - (view) Author: Roundup Robot (python-dev) Date: 2012-07-30 11:21
New changeset e0eb7dea245f by Ned Deily in branch '2.7':
Issue #14018: Fix OS X Tcl/Tk framework checking when using OS X SDKs.
http://hg.python.org/cpython/rev/e0eb7dea245f

New changeset eb0af7f6ea6d by Ned Deily in branch '3.2':
Issue #14018: Fix OS X Tcl/Tk framework checking when using OS X SDKs.
http://hg.python.org/cpython/rev/eb0af7f6ea6d
msg166882 - (view) Author: Ned Deily (ned.deily) * (Python committer) Date: 2012-07-30 11:34
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
to issue a warning message about unstable Tcl/Tk versions was
updated to include the Apple-supplied Tcl/Tk 8.5 in OS X 10.7
and 10.8.  All of these are applied for release in 2.7.4, 3.2.4,
and 3.3.0.  In addition for 3.3.0, checks are added to the OS X
installer build script to ensure that the desired Tcl/Tk shared
library has actually been linked as expected.  (I plan to
backport all outstanding build script changes prior to the 2.7.4
and 3.2.4 releases.)
msg180735 - (view) Author: Roundup Robot (python-dev) Date: 2013-01-27 02:12
New changeset 49294e55311f by Ned Deily in branch '2.7':
Issue #14018: fix merge error
http://hg.python.org/cpython/rev/49294e55311f

New changeset 58646b0c5226 by Ned Deily in branch '3.2':
Issue #14018: fix merge error
http://hg.python.org/cpython/rev/58646b0c5226
msg180894 - (view) Author: Roundup Robot (python-dev) Date: 2013-01-29 08:19
New changeset c2830debb15a by Ned Deily in branch '2.7':
Issue #14018: Backport OS X installer updates from 3.3.
http://hg.python.org/cpython/rev/c2830debb15a

New changeset d54330c8daaa by Ned Deily in branch '3.2':
Issue #14018: Backport OS X installer updates from 3.3.
http://hg.python.org/cpython/rev/d54330c8daaa

New changeset 6e6a76166c47 by Ned Deily in branch '3.3':
Issue #14018: merge to 3.3
http://hg.python.org/cpython/rev/6e6a76166c47

New changeset 888590641c49 by Ned Deily in branch 'default':
Issue #14018: merge to default
http://hg.python.org/cpython/rev/888590641c49
History
Date User Action Args
2013-01-29 08:19:51python-devsetmessages: + msg180894
2013-01-27 02:12:32python-devsetmessages: + msg180735
2012-07-30 11:34:04ned.deilysetstatus: open -> closed
resolution: fixed
messages: + msg166882

stage: needs patch -> resolved
2012-07-30 11:21:41python-devsetmessages: + msg166879
2012-07-30 10:38:48python-devsetmessages: + msg166874
2012-07-30 09:37:38python-devsetnosy: + python-dev
messages: + msg166869
2012-02-15 01:01:27ned.deilycreate