[MacPorts] #38887: py-cvxopt lapack import error
#38887: py-cvxopt lapack import error -------------------------+-------------------------------- Reporter: jjstickel@… | Owner: macports-tickets@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.1.3 Keywords: atlas | Port: py-cvxopt -------------------------+-------------------------------- py-cvxopt (py27-cvxopt tested) throws errors when importing cvxopt.lapack in python: {{{ ImportError: dlopen(/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7 /site-packages/cvxopt/lapack.so, 2): Symbol not found: _ATL_dgemaxnrm Referenced from: /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7 /site-packages/cvxopt/lapack.so Expected in: flat namespace in /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7 /site-packages/cvxopt/lapack.so }}} This happens with either -atlas or +atlas variants. With -atlas, apple Accelerator Framework libs seems to be linked, but the symbol is not there. With the existing +atlas variant, the atlas libraries are (silently) not found. In the attached patch, I upgrade py-cvxopt to 1.1.5 and correct the configure so that the atlas libraries can be found. This does not resolve the issue for the -atlas variant, however. I am also using "-dsdp" because dsdp currently will not build with the current version of atlas (see #35851 and #37097). -- Ticket URL: <https://trac.macports.org/ticket/38887> MacPorts <http://www.macports.org/> Ports system for OS X
#38887: py-cvxopt lapack import error --------------------------+-------------------------------- Reporter: jjstickel@… | Owner: macports-tickets@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.1.3 Resolution: | Keywords: atlas Port: py-cvxopt | --------------------------+-------------------------------- Comment (by vince@…): To my knowledge, Apple accelerate framework does not include Lapack, just cblas, but I can be mistaken. -- Ticket URL: <https://trac.macports.org/ticket/38887#comment:1> MacPorts <http://www.macports.org/> Ports system for OS X
#38887: py-cvxopt lapack import error --------------------------+-------------------------------- Reporter: jjstickel@… | Owner: macports-tickets@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.1.3 Resolution: | Keywords: atlas Port: py-cvxopt | --------------------------+-------------------------------- Comment (by jjstickel@…): Replying to [comment:1 vince@…]:
To my knowledge, Apple accelerate framework does not include Lapack, just cblas, but I can be mistaken. On my Mac (10.7.5), I see {{{ lrwxr-xr-x 1 root wheel 118 Feb 1 2012 /usr/lib/liblapack.dylib -> ../../System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libLAPACK.dylib }}} But when I look for _ATL_dgemaxnrm in that library, it isn't there, whereas it is in /opt/local/lib/libtatlas.dylib: {{{ $ nm -j /usr/lib/liblapack.dylib | grep dgemaxnrm <nothing returned> $ nm -j /opt/local/lib/libtatlas.dylib | grep dgemaxnrm _ATL_dgemaxnrm }}} So I guess building py-cvxopt with Apple accelerate framework should not be an option.
-- Ticket URL: <https://trac.macports.org/ticket/38887#comment:2> MacPorts <http://www.macports.org/> Ports system for OS X
#38887: py-cvxopt lapack import error --------------------------+-------------------------------- Reporter: jjstickel@… | Owner: macports-tickets@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.1.3 Resolution: | Keywords: atlas Port: py-cvxopt | --------------------------+-------------------------------- Comment (by jjstickel@…): Updated patch to account for r106066. -- Ticket URL: <https://trac.macports.org/ticket/38887#comment:3> MacPorts <http://www.macports.org/> Ports system for OS X
#38887: py-cvxopt lapack import error --------------------------+---------------------- Reporter: jjstickel@… | Owner: mnick@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.1.3 Resolution: | Keywords: haspatch Port: py-cvxopt | --------------------------+---------------------- Changes (by macsforever2000@…): * keywords: atlas => haspatch * owner: macports-tickets@… => mnick@… Comment: @ jjstickel: Please do not change the $Id line -- Ticket URL: <https://trac.macports.org/ticket/38887#comment:4> MacPorts <http://www.macports.org/> Ports system for OS X
#38887: py-cvxopt lapack import error --------------------------+---------------------- Reporter: jjstickel@… | Owner: mnick@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.1.3 Resolution: | Keywords: haspatch Port: py-cvxopt | --------------------------+---------------------- Comment (by jjstickel@…): Replying to [comment:4 macsforever2000@…]:
@ jjstickel: Please do not change the $Id line
I had modified a previous version of the Portfile (before the latest revision bump), and hence the changed header line. I fixed the patch and have reattached it. -- Ticket URL: <https://trac.macports.org/ticket/38887#comment:5> MacPorts <http://www.macports.org/> Ports system for OS X
#38887: py-cvxopt lapack import error --------------------------+---------------------- Reporter: jjstickel@… | Owner: mnick@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.1.3 Resolution: | Keywords: haspatch Port: py-cvxopt | --------------------------+---------------------- Comment (by jjstickel@…): I just noticed 1.1.6 is the most recent version of cvxopt, and so I have updated the patch for 1.1.6. I changed the allowed python versions to be 27, 31, 32, 33, as that is what the cvxopt documentation says is supported. I have only tested with 27. Finally, I notice that cvxopt comes with documentation and examples. Someone might be interested in adding variants to install these. I don't have time right now. -- Ticket URL: <https://trac.macports.org/ticket/38887#comment:6> MacPorts <http://www.macports.org/> Ports system for OS X
#38887: py-cvxopt lapack import error --------------------------+-------------------------------- Reporter: jjstickel@… | Owner: macports-tickets@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.1.3 Resolution: | Keywords: haspatch Port: py-cvxopt | --------------------------+-------------------------------- Changes (by macsforever2000@…): * owner: mnick@… => macports-tickets@… Comment: mnick has retired. -- Ticket URL: <https://trac.macports.org/ticket/38887#comment:9> MacPorts <http://www.macports.org/> Ports system for OS X
#38887: py-cvxopt lapack import error --------------------------+-------------------------------- Reporter: jjstickel@… | Owner: macports-tickets@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.1.3 Resolution: | Keywords: haspatch Port: py-cvxopt | --------------------------+-------------------------------- Comment (by jjstickel@…): I have updated the patch to re-add dsdp as a default variant now that #35851 has been fixed. I also made myself maintainer (including openmaintainter) because mnick has retired. Finally, I made revisions to account for the sources now being on github. Also see #40754 which requests an update to py-cvxopt. I include the update in the patch I provide here. I think this patch is ready for committing. Let me know if anything is amiss. -- Ticket URL: <https://trac.macports.org/ticket/38887#comment:10> MacPorts <http://www.macports.org/> Ports system for OS X
#38887: py-cvxopt lapack import error --------------------------+---------------------- Reporter: jjstickel@… | Owner: larryv@… Type: defect | Status: assigned Priority: Normal | Milestone: Component: ports | Version: 2.1.3 Resolution: | Keywords: haspatch Port: py-cvxopt | --------------------------+---------------------- Changes (by larryv@…): * owner: macports-tickets@… => larryv@… * status: new => assigned Comment: Thanks. I’ll take a look. -- Ticket URL: <https://trac.macports.org/ticket/38887#comment:11> MacPorts <http://www.macports.org/> Ports system for OS X
#38887: py-cvxopt lapack import error --------------------------+---------------------- Reporter: jjstickel@… | Owner: larryv@… Type: defect | Status: closed Priority: Normal | Milestone: Component: ports | Version: 2.1.3 Resolution: fixed | Keywords: haspatch Port: py-cvxopt | --------------------------+---------------------- Changes (by larryv@…): * status: assigned => closed * resolution: => fixed Comment: This should be taken care of by [115611,115616:115618]. Note that I overhauled the way the variants work, using two patches to replace most of the old reinplaces. Please let me know if I broke something. -- Ticket URL: <https://trac.macports.org/ticket/38887#comment:12> MacPorts <http://www.macports.org/> Ports system for OS X
#38887: py-cvxopt lapack import error --------------------------+---------------------- Reporter: jjstickel@… | Owner: larryv@… Type: defect | Status: closed Priority: Normal | Milestone: Component: ports | Version: 2.1.3 Resolution: fixed | Keywords: haspatch Port: py-cvxopt | --------------------------+---------------------- Comment (by larryv@…): Er. The checksums seemed to be wrong. r115619 -- Ticket URL: <https://trac.macports.org/ticket/38887#comment:13> MacPorts <http://www.macports.org/> Ports system for OS X
#38887: py-cvxopt lapack import error --------------------------+---------------------- Reporter: jjstickel@… | Owner: larryv@… Type: defect | Status: reopened Priority: Normal | Milestone: Component: ports | Version: 2.1.3 Resolution: | Keywords: haspatch Port: py-cvxopt | --------------------------+---------------------- Changes (by larryv@…): * status: closed => reopened * resolution: fixed => Comment: Actually… this doesn’t fix the issue with Accelerator.framework, right? -- Ticket URL: <https://trac.macports.org/ticket/38887#comment:14> MacPorts <http://www.macports.org/> Ports system for OS X
#38887: py-cvxopt lapack import error --------------------------+---------------------- Reporter: jjstickel@… | Owner: larryv@… Type: defect | Status: reopened Priority: Normal | Milestone: Component: ports | Version: 2.1.3 Resolution: | Keywords: haspatch Port: py-cvxopt | --------------------------+---------------------- Comment (by jjstickel@…): Replying to [comment:14 larryv@…]:
Actually… this doesn’t fix the issue with Accelerator.framework, right?
It seems that the problem has gone away, probably with the version update of cvxopt. I successfully installed and tested cvxopt with and without the atlas variant. Without the atlas variant I confirmed that the cvxopt blas/lapack libs link against Accelerator.framework. -- Ticket URL: <https://trac.macports.org/ticket/38887#comment:15> MacPorts <http://www.macports.org/> Ports system for OS X
#38887: py-cvxopt lapack import error --------------------------+---------------------- Reporter: jjstickel@… | Owner: larryv@… Type: defect | Status: closed Priority: Normal | Milestone: Component: ports | Version: 2.1.3 Resolution: fixed | Keywords: haspatch Port: py-cvxopt | --------------------------+---------------------- Changes (by larryv@…): * status: reopened => closed * resolution: => fixed Comment: Alright, great. -- Ticket URL: <https://trac.macports.org/ticket/38887#comment:16> MacPorts <http://www.macports.org/> Ports system for OS X
participants (1)
-
MacPorts