Ticket #34750 (new defect)
py32-numpy fails to build on snow leopard/XCode4.2
| Reported by: | miguel.barao@… | Owned by: | macports-tickets@… |
|---|---|---|---|
| Priority: | Normal | Milestone: | |
| Component: | ports | Version: | 2.1.1 |
| Keywords: | Cc: | dh@… | |
| Port: | py32-numpy |
Description
---> Computing dependencies for py32-numpy
---> Fetching archive for py32-numpy
---> Attempting to fetch py32-numpy-1.6.2_0.darwin_10.x86_64.tbz2 from http://packages.macports.org/py32-numpy
---> Fetching distfiles for py32-numpy
---> Attempting to fetch numpy-1.6.2.tar.gz from http://switch.dl.sourceforge.net/project/numpy/NumPy/1.6.2/
---> Verifying checksum(s) for py32-numpy
---> Extracting py32-numpy
---> Applying patches to py32-numpy
---> Configuring py32-numpy
---> Building py32-numpy
---> Staging py32-numpy into destroot
Error: org.macports.destroot for port py32-numpy returned: command execution failed
Please see the log file for port py32-numpy for details:
/opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_python_py-numpy/py32-numpy/main.log
OS X version is 10.6.8 XCode version is 4.2
See log file attached.
Attachments
Change History
comment:1 Changed 12 months ago by macsforever2000@…
- Cc dh@…, ram@… added
In the future, please Cc the port maintainer(s).
comment:2 Changed 12 months ago by ram@…
I can't reproduce this on my Lion machine (Xcode-4.3.2) nor Snow Leopard (Xcode-4.0.2)
comment:3 Changed 12 months ago by miguel.barao@…
This was obtained with "Xcode for snow leopard" version 4.2 obtained from the AppStore. It's the latest xcode version for snow leopard. I think 4.0.2 is no longer available.
comment:4 follow-up: ↓ 5 Changed 12 months ago by ram@…
I'm not going to have access to my SnowLeopard machine again for about a fortnight, left for the airport this morning. I'll see if I can update to Xcode-4.2 when I get back on my Snow Leopard machine and see if I can reproduce the problem. As a workaround can you see if running the following allows you to build:
sudo port clean py32-numpy sudo port install py32-numpy configure.compiler=clang
comment:5 in reply to: ↑ 4 Changed 12 months ago by miguel.barao@…
Replying to ram@…:
sudo port clean py32-numpy sudo port install py32-numpy configure.compiler=clang
Also failed with the same error. It still looks for nonexistent /usr/bin/gcc-4.2:
... :info:destroot gcc-4.2: _configtest.c :info:destroot sh: /usr/bin/gcc-4.2: No such file or directory :info:destroot sh: /usr/bin/gcc-4.2: No such file or directory :info:destroot failure. ...
I'll try with 2 other machines (lion & snow leopard) and report back later.
comment:6 Changed 12 months ago by miguel.barao@…
I can confirm that py32-numpy compiles on lion/xcode4.3 but fails on snow leopard/xcode4.2 (tried on two other machines).
comment:7 follow-up: ↓ 8 Changed 12 months ago by ryandesign@…
As explained in our ProblemHotlist, the python ports (python32, etc.) contain the location of the compiler used to compile them, and then use that same compiler when compiling other python modules.
Our buildbot uses Xcode 3.2 and therefore the compiler used is /usr/bin/gcc-4.2. Although you use Xcode 4.2 which uses a different compiler, you could receive (and probably have received) a binary from our buildbot for python32, therefore it is configured to use the wrong compiler on your system. You must rebuild python32 on your machine, and not use the binary from our server:
sudo port -ns upgrade --force python32
Any future upgrade of python32 will reintroduce this problem, so you must either remember to use the -s flag whenever you upgrade python32 and other ports that hardcode the compiler location, or turn off the use of binaries entirely in macports.conf.
comment:8 in reply to: ↑ 7 Changed 12 months ago by miguel.barao@…
Excellent explanation. Much more understandable than ProblemHotlist. Why not add it there? I had already tried several suggestions from that page and all of them had failed. The -s flag was the key. Thank you.
comment:9 Changed 11 months ago by ryandesign@…
You may feel free to edit the ProblemHotlist or other wiki pages if you can make them clearer.
comment:10 Changed 9 months ago by jmr@…
It's not meant to matter which compiler python records that it was built with. Python module ports should make sure they use the currently configured compiler.

