msg221042 - (view) |
Author: Ned Deily (ned.deily) *  |
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) *  |
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) *  |
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) *  |
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) *  |
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) *  |
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) *  |
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 |
|
|