[MacPorts] #49272: python35: doesn't work with Xcode 4
#49272: python35: doesn't work with Xcode 4 ---------------------+---------------------- Reporter: mojca@… | Owner: jwa@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: Keywords: lion | Port: python35 ---------------------+---------------------- Python 3.5.0 fails to build on 10.7. See: https://bugs.python.org/issue24844 Maybe we could temporary add some compiler blacklisting code -- Ticket URL: <https://trac.macports.org/ticket/49272> MacPorts <https://www.macports.org/> Ports system for OS X
#49272: python35: doesn't work with Xcode 4 -----------------------+------------------- Reporter: mojca@… | Owner: jwa@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: Resolution: | Keywords: lion Port: python35 | -----------------------+------------------- Comment (by mojca@…): I just wanted to add that configure.compiler=macports-clang-3.4 seems to work. -- Ticket URL: <https://trac.macports.org/ticket/49272#comment:1> MacPorts <https://www.macports.org/> Ports system for OS X
#49272: python35: doesn't work with Xcode 4 -----------------------+------------------- Reporter: mojca@… | Owner: jwa@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: Resolution: | Keywords: lion Port: python35 | -----------------------+------------------- Comment (by mojca@…): Apart from blacklisting clang <= 425, a trivial `post-configure` patch would be to replace {{{ #define HAVE_BUILTIN_ATOMIC 1 }}} with {{{ #undef HAVE_BUILTIN_ATOMIC }}} in `pyconfig.h`. (I added some other weird suggestions to the upstream bug tracker. Ideally the configure check should be improved, but I'm not sure how.) -- Ticket URL: <https://trac.macports.org/ticket/49272#comment:3> MacPorts <https://www.macports.org/> Ports system for OS X
#49272: python35: doesn't work with Xcode 4 -----------------------+------------------- Reporter: mojca@… | Owner: jwa@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: Resolution: | Keywords: lion Port: python35 | -----------------------+------------------- Comment (by dgonyier@…): For what it is worth, this is how I got the python 3.5.2 port to build on PowerBook G4 running Leopard: port install python35@+readline config.compiler=macports-clang-3.4 -- Ticket URL: <https://trac.macports.org/ticket/49272#comment:4> MacPorts <https://www.macports.org/> Ports system for OS X
#49272: python35: doesn't work with Xcode 4 -----------------------+------------------- Reporter: mojca@… | Owner: jwa@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: Resolution: | Keywords: lion Port: python35 | -----------------------+------------------- Changes (by devans@…): * cc: eclipzed@…, devans@… (added) Comment: Also reported in #51963 after the original issue there was resolved. CCing reporter of that ticket. -- Ticket URL: <https://trac.macports.org/ticket/49272#comment:5> MacPorts <https://www.macports.org/> Ports system for OS X
#49272: python35: doesn't work with Xcode 4 -----------------------+------------------- Reporter: mojca@… | Owner: jwa@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: Resolution: | Keywords: lion Port: python35 | -----------------------+------------------- Changes (by larryv@…): * cc: larryv@…, nad@… (added) Comment: It’d probably be a good idea to get some kind of feedback from upstream first. -- Ticket URL: <https://trac.macports.org/ticket/49272#comment:6> MacPorts <https://www.macports.org/> Ports system for OS X
#49272: python35: doesn't work with Xcode 4 -----------------------+------------------- Reporter: mojca@… | Owner: jwa@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: Resolution: | Keywords: lion Port: python35 | -----------------------+------------------- Comment (by devans@…): Replying to [comment:6 larryv@…]:
It’d probably be a good idea to get some kind of feedback from upstream first. That's all well and good but it hasn't happened in the 10 months that this ticket has been open and 10.7 users still have a broken port. Since several users have confirmed that using clang-3.4 is a valid work around, wouldn't it be in our users' interests to go with that option now and sync with upstream if and when they get around to responding. Doesn't seem like an issue that has much traction upstream.
-- Ticket URL: <https://trac.macports.org/ticket/49272#comment:7> MacPorts <https://www.macports.org/> Ports system for OS X
#49272: python35: doesn't work with Xcode 4 -----------------------+------------------- Reporter: mojca@… | Owner: jwa@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: Resolution: | Keywords: lion Port: python35 | -----------------------+------------------- Comment (by mojca@…): I attached a stupid patch to the upstream ticket. We can use that one for now (or rather a patch for configure file) or just blacklist the relevant compilers. -- Ticket URL: <https://trac.macports.org/ticket/49272#comment:8> MacPorts <https://www.macports.org/> Ports system for OS X
#49272: python35: doesn't work with Xcode 4 -----------------------+------------------- Reporter: mojca@… | Owner: jwa@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: Resolution: | Keywords: lion Port: python35 | -----------------------+------------------- Comment (by nad@…): I agree that going with with the use of clang-3.4 is the most expedient and probably best overall solution. We at upstream do not have much incentive to add more special configuration code option for the very small (and diminishing) set of users who might be affected by this. Xcode 4 has always been problematic for Python 3. Fortunately, there are standard options for 10.6 (use Xcode 3.2.6) and for 10.8 (use Xcode 5.x). It's just 10.7 that doesn't have a good Apple-provided alternative. -- Ticket URL: <https://trac.macports.org/ticket/49272#comment:9> MacPorts <https://www.macports.org/> Ports system for OS X
#49272: python35: doesn't work with Xcode 4 -----------------------+------------------- Reporter: mojca@… | Owner: jwa@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: Resolution: | Keywords: lion Port: python35 | -----------------------+------------------- Comment (by devans@…): Replying to [comment:9 nad@…]:
I agree that going with with the use of clang-3.4 is the most expedient and probably best overall solution. We at upstream do not have much incentive to add more special configuration code option for the very small (and diminishing) set of users who might be affected by this. Xcode 4 has always been problematic for Python 3. Fortunately, there are standard options for 10.6 (use Xcode 3.2.6) and for 10.8 (use Xcode 5.x). It's just 10.7 that doesn't have a good Apple-provided alternative.
Thanks for your reply. I agree with this assessment -- better to blacklist the Xcode 4 compilers than hack up the python3 code. Jyrki hasn't responded, so I assume there is no objection there. Mojca, since you opened the ticket and have a 10.7 test platform, do you want to do the honors? I assume that this is an issue for most if not all the python3x ports. -- Ticket URL: <https://trac.macports.org/ticket/49272#comment:10> MacPorts <https://www.macports.org/> Ports system for OS X
#49272: python35: doesn't work with Xcode 4 -----------------------+-------------------- Reporter: mojca@… | Owner: jwa@… Type: defect | Status: closed Priority: Normal | Milestone: Component: ports | Version: Resolution: fixed | Keywords: lion Port: python35 | -----------------------+-------------------- Changes (by mojca@…): * status: new => closed * resolution: => fixed Comment: Since you asked me to do the commit, I added the patch rather than blacklisting the compiler to avoid the need for installing an additional compiler, r150998. It doesn't make much of a difference either way. Most MP users probably need to have clang 3.4 installed anyway. This has only been a problem since some version of 3.5 (the initial RCs comiled ok). As far as the upstream is concerned: the `configure` script contains nearly 18k lines already. I don't think that adding 10 additional lines would add so much more complexity. The source code doesn't need any changes at all, one only needs to correct an "incomplete test" for a feature. I agree that the number of Lion users is declining and that this is not a problem in MacPort where blacklisting a compiler is super easy. But on the other hand the patch is not too ugly and I don't see any good reason to refuse patching the upstream sources (other than perhaps saying that the patch could/should be improved). Of course, if Python switches to C++11, this will be a different story. -- Ticket URL: <https://trac.macports.org/ticket/49272#comment:11> MacPorts <https://www.macports.org/> Ports system for OS X
#49272: python35: doesn't work with Xcode 4 -----------------------+-------------------- Reporter: mojca@… | Owner: jwa@… Type: defect | Status: closed Priority: Normal | Milestone: Component: ports | Version: Resolution: fixed | Keywords: lion Port: python35 | -----------------------+-------------------- Comment (by mojca@…): I forgot about python36. I committed the same fix for version 3.6 in r151100. -- Ticket URL: <https://trac.macports.org/ticket/49272#comment:12> MacPorts <https://www.macports.org/> Ports system for OS X
participants (1)
-
MacPorts