Opened 11 years ago
Closed 11 years ago
#41397 closed defect (fixed)
py27-numpy @1.8.0_0: Causes "Symbol not found: _ATL_ccopy" build failures in other ports
Reported by: | mndavidoff (Monte Davidoff) | Owned by: | seanfarley (Sean Farley) |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 2.2.1 |
Keywords: | Cc: | michaelld (Michael Dickens), seanfarley (Sean Farley), gnw3, petrrr, cooljeanius (Eric Gallager) | |
Port: | py-numpy |
Description
After I upgraded to py27-numpy @1.8.0_0, multiple ports that use numpy fail to build with the same error. For example:
$ port -d installed py27-numpy The following ports are currently installed: py27-numpy @1.8.0_0 (active) platform='darwin 10' archs='x86_64' $ sudo port -vs install py27-numexpr ... ---> Building py27-numexpr Traceback (most recent call last): File "setup.py", line 16, in <module> import numpy File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/numpy/__init__.py", line 153, in <module> from . import add_newdocs File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/numpy/add_newdocs.py", line 13, in <module> from numpy.lib import add_newdoc File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/numpy/lib/__init__.py", line 18, in <module> from .polynomial import * File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/numpy/lib/polynomial.py", line 19, in <module> from numpy.linalg import eigvals, lstsq, inv File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/numpy/linalg/__init__.py", line 50, in <module> from .linalg import * File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/numpy/linalg/linalg.py", line 29, in <module> from numpy.linalg import lapack_lite, _umath_linalg ImportError: dlopen(/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/numpy/linalg/_umath_linalg.so, 2): Symbol not found: _ATL_ccopy Referenced from: /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/numpy/linalg/_umath_linalg.so Expected in: flat namespace in /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/numpy/linalg/_umath_linalg.so Command failed: cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_python_py-numexpr/py27-numexpr/work/numexpr-2.2.2" && /opt/local/Library/Frameworks/Python.framework/Versions/2.7/bin/python2.7 setup.py --no-user-cfg build Exit code: 1 Error: org.macports.build for port py27-numexpr returned: command execution failed Warning: targets not executed for py27-numexpr: org.macports.activate org.macports.build org.macports.destroot org.macports.install Please see the log file for port py27-numexpr for details: /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_python_py-numexpr/py27-numexpr/main.log To report a bug, follow the instructions in the guide: http://guide.macports.org/#project.tickets Error: Processing of port py27-numexpr failed
As well as py27-numexpr, I noticed the same build failure for py27-bottleneck, py27-gnuplot, py27-scipy, py27-svipc, and py27-tables.
Attachments (8)
Change History (20)
Changed 11 years ago by mndavidoff (Monte Davidoff)
Attachment: | py27-numpy-main.log.gz added |
---|
Changed 11 years ago by mndavidoff (Monte Davidoff)
Attachment: | py27-numexpr-main.log.gz added |
---|
Changed 11 years ago by mndavidoff (Monte Davidoff)
Attachment: | py27-bottleneck-main.log.gz added |
---|
Changed 11 years ago by mndavidoff (Monte Davidoff)
Attachment: | py27-gnuplot-main.log.gz added |
---|
Changed 11 years ago by mndavidoff (Monte Davidoff)
Attachment: | py27-scipy-main.log.gz added |
---|
Changed 11 years ago by mndavidoff (Monte Davidoff)
Attachment: | py27-svipc-main.log.gz added |
---|
Changed 11 years ago by mndavidoff (Monte Davidoff)
Attachment: | py27-tables-main.log.gz added |
---|
Changed 11 years ago by mndavidoff (Monte Davidoff)
Attachment: | py27-tables-main.log.2.gz added |
---|
comment:1 Changed 11 years ago by mf2k (Frank Schima)
Cc: | sean@… added; dh@… removed |
---|---|
Owner: | changed from macports-tickets@… to dh@… |
comment:2 Changed 11 years ago by seanfarley (Sean Farley)
comment:4 follow-up: 5 Changed 11 years ago by gnw3
The problem doesn't occur when numpy is built on a system where atlas is not installed, so it seems that pyNN-numpy finds and uses portions of atlas if it is installed, even when +atlas
was not given. In other words -- the problem only affects those who have installed atlas but aren't using it with numpy. This can easily happen if you just accept the defaults for octave-devel and then upgrade numpy.
After rebuilding py27-numpy
and py33-numpy
with +atlas
:
$ sudo port -s install py27-numpy +atlas [...] $ /opt/local/bin/python -c 'import numpy; numpy.test(verbose=3)' [...] ---------------------------------------------------------------------- Ran 4575 tests in 79.728s OK (KNOWNFAIL=5, SKIP=6) $ sudo port -s install py33-numpy +atlas [...] ---------------------------------------------------------------------- Ran 4574 tests in 89.445s OK (KNOWNFAIL=6, SKIP=6) $ port -s upgrade outdated [...] ---> Updating database of binaries: 100.0% ---> Scanning binaries for linking errors: 100.0% ---> No broken files found.
comment:5 Changed 11 years ago by seanfarley (Sean Farley)
Replying to gnwiii@…:
The problem doesn't occur when numpy is built on a system where atlas is not installed, so it seems that pyNN-numpy finds and uses portions of atlas if it is installed, even when
+atlas
was not given. In other words -- the problem only affects those who have installed atlas but aren't using it with numpy. This can easily happen if you just accept the defaults for octave-devel and then upgrade numpy.After rebuilding
py27-numpy
andpy33-numpy
with+atlas
:$ sudo port -s install py27-numpy +atlas [...] $ /opt/local/bin/python -c 'import numpy; numpy.test(verbose=3)' [...] ---------------------------------------------------------------------- Ran 4575 tests in 79.728s OK (KNOWNFAIL=5, SKIP=6) $ sudo port -s install py33-numpy +atlas [...] ---------------------------------------------------------------------- Ran 4574 tests in 89.445s OK (KNOWNFAIL=6, SKIP=6) $ port -s upgrade outdated [...] ---> Updating database of binaries: 100.0% ---> Scanning binaries for linking errors: 100.0% ---> No broken files found.
Aha, thanks for figuring this out! I was still waiting for ATLAS to finish building to try and debug this :-( I should be able to fix this soon now (whenever ATLAS finishes).
comment:8 follow-up: 10 Changed 11 years ago by seanfarley (Sean Farley)
Owner: | changed from dh@… to sean@… |
---|
comment:10 Changed 11 years ago by mndavidoff (Monte Davidoff)
Replying to sean@…: The fix works for me. Thanks!
comment:11 Changed 11 years ago by skymoo (Adam Mercer)
Cc: | ram@… removed |
---|
comment:12 Changed 11 years ago by seanfarley (Sean Farley)
Resolution: | → fixed |
---|---|
Status: | new → closed |
Ok, I'll look into these.