[SciPy-user] BLAS, LAPACK, ATLAS libraries.

David Cournapeau david at ar.media.kyoto-u.ac.jp
Tue Jul 17 21:47:26 EDT 2007


fie.pye at atlas.cz wrote:
> Hi David, hi Vincent,
>
> thank you for your response. 
> On my computer I have three gcc compilers: gcc4.1, gcc4.2 and gcc3.4.6. Since you mentioned possible problem with gfortran I decided to compile BLAS, LAPACK, python2.5 and numpy again with gcc3.4.6 and f77.
To be precise, what is problematic is mixing fortran compilers (for 
example using gfortran for BLAS and g77 for LAPACK). gfortran by itself 
is not that problematic.
>  
> Traceback (most recent call last):
>   File "<stdin>", line 1, in <module>
>   File "/usr/local/python/python2.5.1/lib/python2.5/site-packages/numpy/__init__.py", line 43, in <module>
>     import linalg
>   File "/usr/local/python/python2.5.1/lib/python2.5/site-packages/numpy/linalg/__init__.py", line 4, in <module>
>     from linalg import *
>   File "/usr/local/python/python2.5.1/lib/python2.5/site-packages/numpy/linalg/linalg.py", line 25, in <module>
>     from numpy.linalg import lapack_lite
> ImportError: /usr/local/lib64/lapack/liblapack.so: undefined symbol: slamch_
The problem is the way you build the shared library is wrong: you cannot 
just use g77 -shared -o soname *.o, because LAPACK object files are in 
several directories.

One correct way is to use the static library .a, uncompress it in a 
directory, and build the shared library from that. There is a problem 
when several object files have the same name (because you cannot have 
several files with the same name in a directory), though, so extra care 
must be taken.
>
> I included all installation scripts and log files to enclosed file. 
>
> I also began to install from source rpm but I am not familiar with that installation therefore I stopped after building. What does it mean refblas. 
I cannot use blas and lapack from officiel repository because they do 
not work very well, and I use a different name to avoid name clashes. 
You should build the following srpms in this order:

- refblas
- lapack3
- python-numpy
- python-scipy

Building them is not really different than any other source rpms. Since 
you are using a distribution I've never tested, there is a good chance 
it does not work out of the box, but I would rather help you solving 
those problems so that everybody can benefit from them rather than 
explaining how to build blas and lapack properly (which is really error 
prone and non trivial).

David



More information about the SciPy-User mailing list