#39217: py27-numpy @1.7.1_0: import fails due to missing symbol -------------------------+-------------------------------- Reporter: jdgleeson@… | Owner: macports-tickets@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.1.3 Keywords: | Port: py27-numpy -------------------------+-------------------------------- I've used `py27-numpy @1.7.1_0+atlas+gcc47` since mid April with no problems. After I forced an upgrade a couple days ago I get this traceback when I import numpy: {{{ $ python Python 2.7.5 (default, May 20 2013, 21:30:50) [GCC 4.0.1 (Apple Inc. build 5493)] on darwin Type "help", "copyright", "credits" or "license" for more information.
import numpy Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/opt47/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7 /site-packages/numpy/__init__.py", line 137, in <module> import add_newdocs File "/opt47/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7 /site-packages/numpy/add_newdocs.py", line 9, in <module> from numpy.lib import add_newdoc File "/opt47/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7 /site-packages/numpy/lib/__init__.py", line 4, in <module> from type_check import * File "/opt47/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7 /site-packages/numpy/lib/type_check.py", line 8, in <module> import numpy.core.numeric as _nx File "/opt47/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7 /site-packages/numpy/core/__init__.py", line 5, in <module> import multiarray ImportError: dlopen(/opt47/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7 /site-packages/numpy/core/multiarray.so, 2): Symbol not found: restGPRx Referenced from: /opt47/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7 /site-packages/numpy/core/multiarray.so Expected in: dynamic lookup }}}
This library has the missing symbol: {{{ $ nm /opt47/local/lib/gcc47/libgcc_s.1.dylib | grep restGPRx 00005f98 t restGPRx }}} but `multiarray.so` does not link with it: {{{ jdgleeson@Archimedes:~$ otool -L /opt47/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7 /site-packages/numpy/core/multiarray.so /opt47/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7 /site-packages/numpy/core/multiarray.so: /usr/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current version 1.0.0) /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 111.1.7) }}} I noted in the log file that `gcc-4.0` is used to create the extension libraries (but the source is compiled with `gcc-mp-4.7`). I have the `port -d` output from the April build of numpy, and it confirms that the extension libraries were built with `gcc-mp-4.7`, not `gcc-4.0`, at that time. I've attached the log file from the recent build of numpy. -- Ticket URL: <https://trac.macports.org/ticket/39217> MacPorts <http://www.macports.org/> Ports system for OS X