Skip to content
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

Closed
ned-deily opened this issue Feb 15, 2012 · 7 comments
Closed

OS X installer does not detect bad symlinks created by Xcode 3.2.6 #58226

ned-deily opened this issue Feb 15, 2012 · 7 comments
Assignees
Labels
build The build process and cross-build OS-mac

Comments

@ned-deily
Copy link
Member

BPO 14018
Nosy @ned-deily

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:

assignee = 'https://github.com/ned-deily'
closed_at = <Date 2012-07-30.11:34:04.891>
created_at = <Date 2012-02-15.01:01:27.860>
labels = ['OS-mac', 'build']
title = 'OS X installer does not detect bad symlinks created by Xcode 3.2.6'
updated_at = <Date 2013-01-29.08:19:51.791>
user = 'https://github.com/ned-deily'

bugs.python.org fields:

activity = <Date 2013-01-29.08:19:51.791>
actor = 'python-dev'
assignee = 'ned.deily'
closed = True
closed_date = <Date 2012-07-30.11:34:04.891>
closer = 'ned.deily'
components = ['Build', 'macOS']
creation = <Date 2012-02-15.01:01:27.860>
creator = 'ned.deily'
dependencies = []
files = []
hgrepos = []
issue_num = 14018
keywords = []
message_count = 7.0
messages = ['153381', '166869', '166874', '166879', '166882', '180735', '180894']
nosy_count = 2.0
nosy_names = ['ned.deily', 'python-dev']
pr_nums = []
priority = 'normal'
resolution = 'fixed'
stage = 'resolved'
status = 'closed'
superseder = None
type = None
url = 'https://bugs.python.org/issue14018'
versions = ['Python 2.7', 'Python 3.2', 'Python 3.3']

@ned-deily
Copy link
Member Author

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.

@ned-deily ned-deily self-assigned this Feb 15, 2012
@ned-deily ned-deily added build The build process and cross-build OS-mac labels Feb 15, 2012
@python-dev
Copy link
Mannequin

python-dev mannequin commented Jul 30, 2012

New changeset f96579debefa by Ned Deily in branch 'default':
Issue bpo-14018: Fix OS X Tcl/Tk framework checking when using OS X SDKs.
http://hg.python.org/cpython/rev/f96579debefa

@python-dev
Copy link
Mannequin

python-dev mannequin commented Jul 30, 2012

New changeset 7232d544c811 by Ned Deily in branch '2.7':
Issue bpo-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 bpo-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 bpo-14018: merge
http://hg.python.org/cpython/rev/28cb0bcaa22e

@python-dev
Copy link
Mannequin

python-dev mannequin commented Jul 30, 2012

New changeset e0eb7dea245f by Ned Deily in branch '2.7':
Issue bpo-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 bpo-14018: Fix OS X Tcl/Tk framework checking when using OS X SDKs.
http://hg.python.org/cpython/rev/eb0af7f6ea6d

@ned-deily
Copy link
Member Author

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.)

@python-dev
Copy link
Mannequin

python-dev mannequin commented Jan 27, 2013

New changeset 49294e55311f by Ned Deily in branch '2.7':
Issue bpo-14018: fix merge error
http://hg.python.org/cpython/rev/49294e55311f

New changeset 58646b0c5226 by Ned Deily in branch '3.2':
Issue bpo-14018: fix merge error
http://hg.python.org/cpython/rev/58646b0c5226

@python-dev
Copy link
Mannequin

python-dev mannequin commented Jan 29, 2013

New changeset c2830debb15a by Ned Deily in branch '2.7':
Issue bpo-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 bpo-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 bpo-14018: merge to 3.3
http://hg.python.org/cpython/rev/6e6a76166c47

New changeset 888590641c49 by Ned Deily in branch 'default':
Issue bpo-14018: merge to default
http://hg.python.org/cpython/rev/888590641c49

@ezio-melotti ezio-melotti transferred this issue from another repository Apr 10, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
build The build process and cross-build OS-mac
Projects
None yet
Development

No branches or pull requests

1 participant