[MacPorts] #35141: py*-scipy + gcc45: ___ieee_divdc3 symbol not found
#35141: py*-scipy + gcc45: ___ieee_divdc3 symbol not found ---------------------------------------+------------------------------------ Reporter: andre.dos.anjos@… | Owner: macports-tickets@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.1.1 Keywords: | Port: py26-scipy ---------------------------------------+------------------------------------ This port, at its present state, give me problems on my OSX (10.7) installation. I have updated all the ports and re-installed py26-scipy with the gcc45 variant (default), gcc46 and gcc47 variants. All these variants do not survive the following simple test: /opt/local/bin/python2.6 -c 'import scipy.signal' The error: ___ieee_divdc3 symbol not found at runtime. Some mail message around the net mentions that (at least) gcc45 does not define the symbol ___ieee_divdc3, required by scipy somehow. It starts with gcc46. See message (from March/2012): http://sourceforge.net/mailarchive/message.php?msg_id=29039341 But, I should add that the only variant I tried that worked flawlessly as gcc44. Any experience with this? -- Ticket URL: <https://trac.macports.org/ticket/35141> MacPorts <http://www.macports.org/> Ports system for Mac OS
#35141: py*-scipy + gcc45: ___ieee_divdc3 symbol not found ---------------------------------------+------------------------------------ Reporter: andre.dos.anjos@… | Owner: ram@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.1.1 Keywords: | Port: py26-scipy ---------------------------------------+------------------------------------ Changes (by ryandesign@…): * cc: ram@…, ryandesign@… (removed) * owner: macports-tickets@… => ram@… Old description:
This port, at its present state, give me problems on my OSX (10.7) installation. I have updated all the ports and re-installed py26-scipy with the gcc45 variant (default), gcc46 and gcc47 variants. All these variants do not survive the following simple test:
/opt/local/bin/python2.6 -c 'import scipy.signal'
The error: ___ieee_divdc3 symbol not found at runtime.
Some mail message around the net mentions that (at least) gcc45 does not define the symbol ___ieee_divdc3, required by scipy somehow. It starts with gcc46. See message (from March/2012):
http://sourceforge.net/mailarchive/message.php?msg_id=29039341
But, I should add that the only variant I tried that worked flawlessly as gcc44. Any experience with this?
New description: This port, at its present state, give me problems on my OSX (10.7) installation. I have updated all the ports and re-installed py26-scipy with the gcc45 variant (default), gcc46 and gcc47 variants. All these variants do not survive the following simple test: {{{ /opt/local/bin/python2.6 -c 'import scipy.signal' }}} The error: !___ieee_divdc3 symbol not found at runtime. Some mail message around the net mentions that (at least) gcc45 does not define the symbol !___ieee_divdc3, required by scipy somehow. It starts with gcc46. See message (from March/2012): http://sourceforge.net/mailarchive/message.php?msg_id=29039341 But, I should add that the only variant I tried that worked flawlessly as gcc44. Any experience with this? -- -- Ticket URL: <https://trac.macports.org/ticket/35141#comment:1> MacPorts <http://www.macports.org/> Ports system for Mac OS
#35141: py*-scipy + gcc45: ___ieee_divdc3 symbol not found ---------------------------------------+------------------------------------ Reporter: andre.dos.anjos@… | Owner: ram@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.1.1 Keywords: | Port: py26-scipy ---------------------------------------+------------------------------------ Comment(by ram@…): I can't reproduce this, on Lion, with the `gcc45` variant of `py27-scipy`: {{{ $ port installed py27-scipy The following ports are currently installed: py27-scipy @0.10.1_2+gcc45 (active) $ /opt/local/bin/python2.7 -c 'import scipy.signal' $ }}} -- Ticket URL: <https://trac.macports.org/ticket/35141#comment:2> MacPorts <http://www.macports.org/> Ports system for Mac OS
#35141: py*-scipy + gcc45: ___ieee_divdc3 symbol not found ---------------------------------------+------------------------------------ Reporter: andre.dos.anjos@… | Owner: ram@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.1.1 Keywords: | Port: py26-scipy ---------------------------------------+------------------------------------ Comment(by andre.dos.anjos@…): Humm... Does it still work with the python26 variant? -- Ticket URL: <https://trac.macports.org/ticket/35141#comment:3> MacPorts <http://www.macports.org/> Ports system for Mac OS
#35141: py*-scipy + gcc45: ___ieee_divdc3 symbol not found ---------------------------------------+------------------------------------ Reporter: andre.dos.anjos@… | Owner: ram@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.1.1 Keywords: | Port: py26-scipy ---------------------------------------+------------------------------------ Comment(by ram@…): I didn't have `python26` installed, installing this gives: {{{ $ port installed py26-scipy The following ports are currently installed: py26-scipy @0.10.1_2+gcc45 (active) $ /opt/local/bin/python2.6 -c 'import scipy.signal' Traceback (most recent call last): File "<string>", line 1, in <module> File "/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6 /site-packages/scipy/signal/__init__.py", line 198, in <module> from spline import * ImportError: dlopen(/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6 /site-packages/scipy/signal/spline.so, 2): Symbol not found: ___ieee_divdc3 Referenced from: /opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6 /site-packages/scipy/signal/spline.so Expected in: flat namespace in /opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6 /site-packages/scipy/signal/spline.so $ }}} Which is very odd, not sure why the `python27` version would work whereas `python26` doesn't? -- Ticket URL: <https://trac.macports.org/ticket/35141#comment:4> MacPorts <http://www.macports.org/> Ports system for Mac OS
#35141: py*-scipy + gcc45: ___ieee_divdc3 symbol not found ---------------------------------------+------------------------------------ Reporter: andre.dos.anjos@… | Owner: ram@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.1.1 Keywords: | Port: py26-scipy ---------------------------------------+------------------------------------ Comment(by andre.dos.anjos@…): I'm not sure on the reason. The only message I could find on the net I linked to this bug. Maybe it is the case to forward this to the scipy mailing list or bug tracker? The facts are: 1. This function is available with gcc453 and above 2. The scipy ports with gcc45, 46 and 47 go wrong 3. If I compile scipy with gcc44 it works IMO, this relates to the upgrade to gcc45 and incompatibilities between the builds of python and scipy. Maybe rebuilding python26 with gcc45 would fix this? Have you tried it? -- Ticket URL: <https://trac.macports.org/ticket/35141#comment:5> MacPorts <http://www.macports.org/> Ports system for Mac OS
#35141: py*-scipy + gcc45: ___ieee_divdc3 symbol not found --------------------------------+------------------- Reporter: andre.dos.anjos@… | Owner: Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.1.1 Resolution: | Keywords: Port: py26-scipy | --------------------------------+------------------- Changes (by ram@…): * owner: ram@… => -- Ticket URL: <https://trac.macports.org/ticket/35141#comment:6> MacPorts <http://www.macports.org/> Ports system for Mac OS
#35141: py*-scipy + gcc45: ___ieee_divdc3 symbol not found --------------------------------+-------------------------------- Reporter: andre.dos.anjos@… | Owner: macports-tickets@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.1.1 Resolution: | Keywords: Port: py26-scipy | --------------------------------+-------------------------------- Changes (by ryandesign@…): * owner: => macports-tickets@… -- Ticket URL: <https://trac.macports.org/ticket/35141#comment:7> MacPorts <http://www.macports.org/> Ports system for Mac OS
#35141: py*-scipy + gcc45: ___ieee_divdc3 symbol not found --------------------------------+-------------------------------- Reporter: andre.dos.anjos@… | Owner: macports-tickets@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.1.1 Resolution: | Keywords: Port: py26-scipy | --------------------------------+-------------------------------- Comment (by Peter.Danecek@…):
Which is very odd, not sure why the `python27` version would work whereas `python26` doesn't?
This issue is in deed specific to `python26`. I get the same behaviour on two different machines running very differ MacOSX versions (10.5.8 and 10.8.4). This is from Mountain Lion ... {{{ 12.4.0 Darwin Kernel Version 12.4.0: Wed May 1 17:57:12 PDT 2013; root:xnu-2050.24.15~1/RELEASE_X86_64 x86_64 Xcode 4.6.2 Build version 4H1003 }}} {{{ radegast: $ port installed "py2?-scipy" The following ports are currently installed: py26-scipy @0.12.0_2+gcc47 (active) py27-scipy @0.12.0_2+gcc47 (active) radegast: $ python2.6 Python 2.6.8 (unknown, Nov 17 2012, 21:23:35) [GCC 4.2.1 Compatible Apple Clang 4.1 ((tags/Apple/clang-421.11.66))] on darwin Type "help", "copyright", "credits" or "license" for more information.
import scipy.signal Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6 /site-packages/scipy/signal/__init__.py", line 232, in <module> from .spline import * ImportError: dlopen(/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6 /site-packages/scipy/signal/spline.so, 2): Symbol not found: ___ieee_divdc3 Referenced from: /opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6 /site-packages/scipy/signal/spline.so Expected in: flat namespace in /opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6 /site-packages/scipy/signal/spline.so exit()
radegast: $ python2.7 Python 2.7.5 (default, May 19 2013, 13:26:46) [GCC 4.2.1 Compatible Apple Clang 4.1 ((tags/Apple/clang-421.11.66))] on darwin Type "help", "copyright", "credits" or "license" for more information.
import scipy.signal exit() radegast: $ }}}
-- Ticket URL: <https://trac.macports.org/ticket/35141#comment:9> MacPorts <http://www.macports.org/> Ports system for OS X
#35141: py*-scipy + gcc45: ___ieee_divdc3 symbol not found --------------------------------+-------------------------------- Reporter: andre.dos.anjos@… | Owner: macports-tickets@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.1.1 Resolution: | Keywords: Port: py26-scipy | --------------------------------+-------------------------------- Comment (by wimmer@…): Let me note that I get the same problem for python 2.7 on OSX 10.8 when I install from source using "port install -s py27-scipy", instead of installing the prebuilt version. I looked into the problem, and figured out that the problem is due to the fact that scipy compiles all code with the macports gcc/gfortran, but when building the shared library object spline.so links with clang - hence the symbol {{{___ieee_divdc3}}} which is specific to gcc is not found. In fact, clang is used for all modules based on C-code (not Fortran code). You can see this in the attached build.log. I have no idea what why that does not happen in the prebuilt package. Presumably there is something different in the build environment. It's always tricky how python chooses the compiler it uses to compile stuff (usually, it would like to use the same compiler as it is compiled with itself, which is clang). With scipy/numpy it's even more tricky, and I didn't figure out yet how to change the compiler for the linkage ... (setting LDSHARED breaks stuff in the Fortran compilation) -- Ticket URL: <https://trac.macports.org/ticket/35141#comment:10> MacPorts <http://www.macports.org/> Ports system for OS X
#35141: py*-scipy + gcc45: ___ieee_divdc3 symbol not found --------------------------------+-------------------------------- Reporter: andre.dos.anjos@… | Owner: macports-tickets@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.1.1 Resolution: | Keywords: Port: py26-scipy | --------------------------------+-------------------------------- Comment (by wimmer@…): Oh, just for reference: Seems like the fink guys had the same problem: http://echelog.com/logs/browse/fink/1365285600 -- Ticket URL: <https://trac.macports.org/ticket/35141#comment:11> MacPorts <http://www.macports.org/> Ports system for OS X
#35141: py*-scipy + gcc45: ___ieee_divdc3 symbol not found --------------------------------+-------------------------------- Reporter: andre.dos.anjos@… | Owner: macports-tickets@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.1.1 Resolution: | Keywords: Port: py26-scipy | --------------------------------+-------------------------------- Comment (by Peter.Danecek@…): Replying to [comment:10 wimmer@…]:
Let me note that I get the same problem for python 2.7 on OSX 10.8 when I install from source using "port install -s py27-scipy", instead of installing the prebuilt version. I looked into the problem, and figured out that the problem is due to the fact that scipy compiles all code with the macports gcc/gfortran, but when building the shared library object spline.so links with clang - hence the symbol {{{___ieee_divdc3}}} which is specific to gcc is not found. In fact, clang is used for all modules based on C-code (not Fortran code). You can see this in the attached build.log.
Well, if this is really due to the fact that clang is used for linking, why this would happen on a 10.5 system? As far as I remember there is no clang, yet. -- Ticket URL: <https://trac.macports.org/ticket/35141#comment:12> MacPorts <http://www.macports.org/> Ports system for OS X
#35141: py*-scipy + gcc45: ___ieee_divdc3 symbol not found --------------------------------+-------------------------------- Reporter: andre.dos.anjos@… | Owner: macports-tickets@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.1.1 Resolution: | Keywords: Port: py26-scipy | --------------------------------+-------------------------------- Comment (by Peter.Danecek@…): By the way, I am able to reproduce the problem the same behaviour on my 10.8. Will recheck on this on the 10.5 machine as well, but there actually all port are build from source. -- Ticket URL: <https://trac.macports.org/ticket/35141#comment:13> MacPorts <http://www.macports.org/> Ports system for OS X
#35141: py*-scipy + gcc45: ___ieee_divdc3 symbol not found --------------------------------+-------------------------------- Reporter: andre.dos.anjos@… | Owner: macports-tickets@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.1.1 Resolution: | Keywords: Port: py26-scipy | --------------------------------+-------------------------------- Comment (by wimmer@…): Replying to [comment:12 Peter.Danecek@…]:
Replying to [comment:10 wimmer@…]:
Let me note that I get the same problem for python 2.7 on OSX 10.8 when I install from source using "port install -s py27-scipy", instead of installing the prebuilt version. I looked into the problem, and figured out that the problem is due to the fact that scipy compiles all code with the macports gcc/gfortran, but when building the shared library object spline.so links with clang - hence the symbol {{{___ieee_divdc3}}} which is specific to gcc is not found. In fact, clang is used for all modules based on C-code (not Fortran code). You can see this in the attached build.log.
Well, if this is really due to the fact that clang is used for linking, why this would happen on a 10.5 system? As far as I remember there is no clang, yet.
It is clang on my 10.8, could be gcc-4.2 on 10.5, for example. Also, it might depend on the python version, as different python versions have different logic on figuring out which compiler to use (python usually wants to compile things with the same compiler as it is compiled itself) ... it is possible that the problem for python2.7 only shows up since a very recent update of python2.7. In any case {{{___ieee_divdc3}}} is apparently a GNU gcc symbol, and the error is also in the previous cases probably due to the linker not linking against the GNU gcc libraries (as probably an Apple compiler was used for linking). -- Ticket URL: <https://trac.macports.org/ticket/35141#comment:14> MacPorts <http://www.macports.org/> Ports system for OS X
#35141: py*-scipy + gcc45: ___ieee_divdc3 symbol not found --------------------------------+-------------------- Reporter: andre.dos.anjos@… | Owner: sean@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.1.1 Resolution: | Keywords: Port: py26-scipy | --------------------------------+-------------------- Changes (by macsforever2000@…): * owner: macports-tickets@… => sean@… -- Ticket URL: <https://trac.macports.org/ticket/35141#comment:16> MacPorts <http://www.macports.org/> Ports system for OS X
#35141: py*-scipy + gcc45: ___ieee_divdc3 symbol not found --------------------------------+-------------------- Reporter: andre.dos.anjos@… | Owner: sean@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.1.1 Resolution: | Keywords: Port: py-scipy | --------------------------------+-------------------- Changes (by macsforever2000@…): * port: py26-scipy => py-scipy -- Ticket URL: <https://trac.macports.org/ticket/35141#comment:17> MacPorts <http://www.macports.org/> Ports system for OS X
#35141: py*-scipy + gcc45: ___ieee_divdc3 symbol not found --------------------------------+-------------------- Reporter: andre.dos.anjos@… | Owner: sean@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.1.1 Resolution: | Keywords: Port: py-scipy | --------------------------------+-------------------- Comment (by calvin.giles@…): By the way, this also seems to happen with py33. I have py27 installed with full scipy stack, no problems. I then started to install the py33 stack. scipy was installed automatically because of a dependency from somewhere else (matplotlib I think). -- Ticket URL: <https://trac.macports.org/ticket/35141#comment:18> MacPorts <http://www.macports.org/> Ports system for OS X
#35141: py*-scipy + gcc45: ___ieee_divdc3 symbol not found --------------------------------+-------------------- Reporter: andre.dos.anjos@… | Owner: sean@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.1.1 Resolution: | Keywords: Port: py-scipy | --------------------------------+-------------------- Comment (by Peter.Danecek@…): I cannot reproduce this problem any more. There are recent commits to this port, which may have resolved this. -- Ticket URL: <https://trac.macports.org/ticket/35141#comment:20> MacPorts <http://www.macports.org/> Ports system for OS X
#35141: py*-scipy + gcc45: ___ieee_divdc3 symbol not found --------------------------------+-------------------- Reporter: andre.dos.anjos@… | Owner: sean@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.1.1 Resolution: | Keywords: Port: py-scipy | --------------------------------+-------------------- Comment (by wimmer@…): As far as I can see, the changes have lead to scipy C/C++ code being compiled by clang, hence the issues I mentioned above do not happen any more. I think this bug can be closed. -- Ticket URL: <https://trac.macports.org/ticket/35141#comment:22> MacPorts <http://www.macports.org/> Ports system for OS X
#35141: py*-scipy + gcc45: ___ieee_divdc3 symbol not found --------------------------------+-------------------- Reporter: andre.dos.anjos@… | Owner: sean@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.1.1 Resolution: | Keywords: Port: py-scipy | --------------------------------+-------------------- Comment (by Peter.Danecek@…): I think this problem is gone. ticket can be closed. -- Ticket URL: <https://trac.macports.org/ticket/35141#comment:23> MacPorts <http://www.macports.org/> Ports system for OS X
#35141: py*-scipy + gcc45: ___ieee_divdc3 symbol not found --------------------------------+-------------------- Reporter: andre.dos.anjos@… | Owner: sean@… Type: defect | Status: closed Priority: Normal | Milestone: Component: ports | Version: 2.1.1 Resolution: worksforme | Keywords: Port: py-scipy | --------------------------------+-------------------- Changes (by macsforever2000@…): * status: new => closed * resolution: => worksforme -- Ticket URL: <https://trac.macports.org/ticket/35141#comment:24> MacPorts <http://www.macports.org/> Ports system for OS X
participants (1)
-
MacPorts