classification
Title: Anticipate fixes to 3.x and 2.7 for OS X 10.10 Yosemite support
Type: Stage: resolved
Components: Build, macOS, Tests Versions: Python 3.5, Python 3.4, Python 2.7
process
Status: closed Resolution: fixed
Dependencies: Superseder:
Assigned To: ned.deily Nosy List: benjamin.peterson, larry, loewis, ned.deily, python-dev, ronaldoussoren
Priority: release blocker Keywords: patch

Created on 2014-06-19 22:24 by ned.deily, last changed 2014-06-30 06:56 by python-dev. This issue is now closed.

Files
File name Uploaded Description Edit
issue_21811_yosemite_support.patch ned.deily, 2014-06-19 22:29 fixes common to 3.x and 2.7 review
issue_21811_yosemite_support_configure_3x.patch ned.deily, 2014-06-19 22:30 fixes to configure.ac for 3.x (run autoreconf)
issue_21811_yosemite_support_configure_27.patch ned.deily, 2014-06-19 22:30 fixes to configure.ac for 2.7 (run autoreconf)
Messages (9)
msg221042 - (view) Author: Ned Deily (ned.deily) * (Python committer) Date: 2014-06-19 22:24
Apple recently announced an upcoming public beta and anticipated fall release of the next version of OS X, 10.10 Yosemite.  As usual, developer previews of 10.10 have been made under non-disclosure since the exact details of 10.10 may change prior to the final release.  However, by inspection, there are definitely some issues in Python that will need to be addressed for 10.10 and beyond.  There are a number of places within the cpython code base where decisions are made based on either the running system version or the OS X ABI (e.g. the value of MACOSX_DEPLOYMENT_TARGET) that the interpreter was built with or is being built with.  Most of the current tests do string comparisons of these values which will not work properly with a two-digit version number ('10.10' < '10.9' --> True).  At a minimum, this will likely have the following effects:

1. When running current 3.4.1 and 2.7.7 binary installers on 10.10, building C extension modules will likely result in an incorrect universal platform name, for example, "x86_64" instead of "intel", and that could affect extension module file names and wheel or egg names.

2. In addition, when building Python on 10.10, standard library and third-party extension modules may be built with obsolete link options ("-bundle -bundle_loader python" rather than "-bundle -undefined dynamic_lookup") and some extension module builds may fail as a result.

3. Various tests in the Python test suite may fail, including test_distutils, test__osx_support, and test_sysconfig.

Note that versions of Python older than 3.4 and 2.7 are no longer eligible for bug fixes under python-dev policy but are likely to have similar and/or additional problems.  And, again, there may be other issues identified once 10.10 is released in its final form.
msg221044 - (view) Author: Ned Deily (ned.deily) * (Python committer) Date: 2014-06-19 22:35
The attached patches should address the above issues.  There is a common patch that applies to the current default, 3.4, and 2.7 branches and branch specific patches (one of r default and 3.4, the other for 2.7) for configure.ac changes.  As usual, run autoreconf after applying to update configure itself.
msg221047 - (view) Author: Ned Deily (ned.deily) * (Python committer) Date: 2014-06-19 22:58
To clarify, item 1 above should be read as:

"1. When running Pythons installed from current 3.4.1 and 2.7.7 binary installers [...]"
msg221193 - (view) Author: Martin v. Löwis (loewis) * (Python committer) Date: 2014-06-21 19:27
What version is that patch against? 21249d990428 does not appear to be from cpython.
msg221194 - (view) Author: Ned Deily (ned.deily) * (Python committer) Date: 2014-06-21 19:31
All of the patches are against the tips of their branches (as of the other day).  The rev number crept in as a result of the configure patch being applied via mq against the base patch.  Sorry for the confusion.
msg221195 - (view) Author: Martin v. Löwis (loewis) * (Python committer) Date: 2014-06-21 19:36
I was going to say that the patch is fine as it does not actually refer to details of unreleased operating systems (i.e. the code using numeric version comparison is correct whether or not 10.10 ever gets released).

However, some changes do refer to such information, e.g. knowledge of the format of MACOSX_DEPLOYMENT_TARGET. I'm generally -1 on committing such changes. As you say, the system vendor may change his mind (and e.g. chose to release the system as 11.0 instead of 10.10, because of issues with two-digit subversion numbers, in which case your change would be incorrect).
msg221196 - (view) Author: Ned Deily (ned.deily) * (Python committer) Date: 2014-06-21 19:53
I don't disagree with your comment in general but I have it on good authority that the format of MACOSX_DEPLOYMENT_TARGET is not going to change unexpectedly.  And it will all be a moot point in several weeks when the public beta appears.
msg221572 - (view) Author: Roundup Robot (python-dev) Date: 2014-06-25 20:50
New changeset a7ab09e00dbc by Ned Deily in branch '2.7':
Issue #21811: Anticipated fixes to 3.x and 2.7 for OS X 10.10 Yosemite.
http://hg.python.org/cpython/rev/a7ab09e00dbc

New changeset 2672e30d9095 by Ned Deily in branch '2.7':
Issue #21811: Anticipated fixes to 2.7 configure for OS X 10.10 Yosemite.
http://hg.python.org/cpython/rev/2672e30d9095

New changeset 14198fda1c70 by Ned Deily in branch '3.4':
Issue #21811: Anticipated fixes to 3.x and 2.7 for OS X 10.10 Yosemite.
http://hg.python.org/cpython/rev/14198fda1c70

New changeset 3583b2bedbe7 by Ned Deily in branch 'default':
Issue #21811: Anticipated fixes to 3.x and 2.7 for OS X 10.10 Yosemite.
http://hg.python.org/cpython/rev/3583b2bedbe7

New changeset 69ae7e4939f2 by Ned Deily in branch '3.4':
Issue #21811: Anticipated fixes to 3.x configure for OS X 10.10 Yosemite.
http://hg.python.org/cpython/rev/69ae7e4939f2

New changeset 7346ba934097 by Ned Deily in branch 'default':
Issue #21811: Anticipated fixes to 3.x configure for OS X 10.10 Yosemite.
http://hg.python.org/cpython/rev/7346ba934097
msg221945 - (view) Author: Roundup Robot (python-dev) Date: 2014-06-30 06:56
New changeset 53112afddae6 by Ned Deily in branch '2.7':
Issue #21811: Add Misc/NEWS entry.
http://hg.python.org/cpython/rev/53112afddae6

New changeset ec27c85d3001 by Ned Deily in branch '3.4':
Issue #21811: Add Misc/NEWS entry.
http://hg.python.org/cpython/rev/ec27c85d3001

New changeset 1f59baf609a4 by Ned Deily in branch 'default':
Issue #21811: Add Misc/NEWS entry.
http://hg.python.org/cpython/rev/1f59baf609a4
History
Date User Action Args
2014-06-30 06:56:48python-devsetmessages: + msg221945
2014-06-30 01:37:48ned.deilysetstatus: open -> closed
resolution: fixed
stage: patch review -> resolved
2014-06-25 20:50:13python-devsetnosy: + python-dev
messages: + msg221572
2014-06-21 19:53:18ned.deilysetmessages: + msg221196
2014-06-21 19:36:10loewissetmessages: + msg221195
2014-06-21 19:31:50ned.deilysetmessages: + msg221194
2014-06-21 19:27:51loewissetnosy: + loewis
messages: + msg221193
2014-06-19 22:58:23ned.deilysetmessages: + msg221047
2014-06-19 22:35:16ned.deilysetpriority: normal -> release blocker

nosy: + larry, ronaldoussoren, benjamin.peterson
messages: + msg221044

stage: patch review
2014-06-19 22:30:59ned.deilysetfiles: + issue_21811_yosemite_support_configure_27.patch
2014-06-19 22:30:34ned.deilysetfiles: + issue_21811_yosemite_support_configure_3x.patch
2014-06-19 22:29:41ned.deilysetfiles: + issue_21811_yosemite_support.patch
keywords: + patch
2014-06-19 22:24:11ned.deilycreate