Ticket #1222 (closed defect: fixed)
[with spkg ] cvxopt import trouble on PPC OSX 10.4 with 2.8.13.rc0
| Reported by: | mabshoff | Owned by: | mabshoff |
|---|---|---|---|
| Priority: | critical | Milestone: | sage-2.8.15 |
| Component: | doctest coverage | Keywords: | |
| Cc: | Work issues: | ||
| Report Upstream: | Reviewers: | ||
| Authors: | Merged in: | ||
| Dependencies: | Stopgaps: |
Description
michael-abshoffs-ibook-g4:~/Desktop/sage-2.8.13.rc0 mabshoff$ ./sage -
t devel/sage-main/sage/numerical/test.py
sage -t devel/sage-main/sage/numerical/test.py
**********************************************************************
File "test.py", line 4:
: from cvxopt.base import *
Exception raised:
Traceback (most recent call last):
File "/Users/mabshoff/Desktop/sage-2.8.13.rc0/local/lib/
python2.5/doctest.py", line 1212, in __run
compileflags, 1) in test.globs
File "<doctest __main__.example_0[0]>", line 1, in <module>
from cvxopt.base import *###line 4:
: from cvxopt.base import *
ImportError: dlopen(/Users/mabshoff/Desktop/sage-2.8.13.rc0/local/
lib/python/site-packages/cvxopt/base.so, 2): Symbol not found:
__g95_ioparm
Referenced from: /Users/mabshoff/Desktop/sage-2.8.13.rc0/local/
lib/python/site-packages/cvxopt/base.so
Expected in: dynamic lookup
**********************************************************************
File "test.py", line 5:
: from cvxopt import umfpack
Exception raised:
Traceback (most recent call last):
File "/Users/mabshoff/Desktop/sage-2.8.13.rc0/local/lib/
python2.5/doctest.py", line 1212, in __run
compileflags, 1) in test.globs
File "<doctest __main__.example_0[1]>", line 1, in <module>
from cvxopt import umfpack###line 5:
: from cvxopt import umfpack
ImportError: dlopen(/Users/mabshoff/Desktop/sage-2.8.13.rc0/local/
lib/python/site-packages/cvxopt/umfpack.so, 2): Symbol not found:
__g95_st_write_done
Referenced from: /Users/mabshoff/Desktop/sage-2.8.13.rc0/local/
lib/python/site-packages/cvxopt/umfpack.so
Expected in: dynamic lookup
**********************************************************************
1 items had failures:
2 of 6 in __main__.example_0
***Test Failed*** 2 failures.
For whitespace errors, see the file .doctest_test.py
[13.2 s]
exit code: 256
Cheers,
Michael
Change History
comment:2 Changed 6 years ago by jkantor
This should be easy to fix. I would do it myself, except I don't have access to a ppc machine so its probably easier to explain what to do. In the /patches/ directory of the spkg the file setup_f95.py is the setup.py used if they are compiling with g95. Near the top there is a block.
if os.uname()[0].startswith('Linux'):
if os.uname()[-1]!='x86_64':
GCC_LIB_DIR= SAGE_LOCAL+'/lib/gcc-lib/i686-pc-linux-gnu/4.0.3'
else:
GCC_LIB_DIR= SAGE_LOCAL+'/lib/gcc-lib/x86_64-unknown-linux-gnu/4.0.3'
library_dirs = [ ATLAS_LIB_DIR,GCC_LIB_DIR]
If that error is showing up then this should be changed to
if os.uname()[0].startswith('Linux'):
if os.uname()[-1]!='x86_64':
GCC_LIB_DIR= SAGE_LOCAL+'/lib/gcc-lib/i686-pc-linux-gnu/4.0.3'
else:
GCC_LIB_DIR= SAGE_LOCAL+'/lib/gcc-lib/x86_64-unknown-linux-gnu/4.0.3'
if <we are on OSX ppc >:
GCC_LIB_DIR= 'lib/gcc-lib/powerpc-apple-darwin6.8/4.0.3'
library_dirs = [ ATLAS_LIB_DIR,GCC_LIB_DIR]
Strangely, explicitly specifying the directory of the libf95.a does not appear to be necessary on OSX intel.
comment:3 Changed 5 years ago by jkantor
Hopefully this spkg fixes this, however I have not tested it since I don't have a ppc
http://sage.math.washington.edu/home/jkantor/spkgs/cvxopt-0.9.p2.spkg
comment:5 Changed 5 years ago by jkantor
New package fixing the ppc problem.
http://sage.math.washington.edu/home/jkantor/cvxopt-0.9.p3.spkg
comment:6 Changed 5 years ago by jkantor
- Summary changed from cvxopt import trouble on PPC OSX 10.4 with 2.8.13.rc0 to [with spkg ] cvxopt import trouble on PPC OSX 10.4 with 2.8.13.rc0
comment:7 Changed 5 years ago by mabshoff
Hmm, does cvxopt assume that ATLAS is installed now? On sage.math without ATLAS I now get:
Using g95Traceback (most recent call last):
File "setup.py", line 56, in <module>
if os.path.exists(ATLAS_LIB_DIR+'/libatlas.a') or os.path.exists(ATLAS_LIB_DIR+'/libatlas.dylib') or os.path.exits(ATLAS_LIB_DIR+'/libatlas.so'):
AttributeError: 'module' object has no attribute 'exits'
Cheers,
Michael
comment:8 Changed 5 years ago by jkantor
You must have been too quick. I had an os.exits, instead of os.exists. I changed it a moment after I posted the package. But you must have grabbed the old one first.
comment:9 Changed 5 years ago by jkantor
The current cvxopt.p3 has the above problem fixed, as well as correctly links against atlas (when present).
comment:10 Changed 5 years ago by jkantor
New version that will use our local libatlas on osx intel.
http://sage.math.washington.edu/home/jkantor/spkgs/cvxopt-0.9.p4.spkg
comment:11 Changed 5 years ago by jkantor
the package above (.p4) was recently changed to reflect the fact that we won't be building libff7blas on OSX yet.
comment:12 Changed 5 years ago by mabshoff
- Status changed from assigned to closed
- Resolution set to fixed
Merged in 2.8.15.alpha2.
