[SciPy-dev] Problem with shared libraries

Fernando Perez fperez at colorado.edu
Wed Jun 2 22:42:00 CDT 2004


Hi all,

today I tried to build current CVS scipy on a new Fedora Core 2 system, and 
I'm running into a problem.  I think the gist of it has already been seen by 
Eric here:

http://www.scipy.net/pipermail/scipy-dev/2002-April/000836.html

albeit in a slightly different incarnation.

The symptom is:

In [1]: import linalg
---------------------------------------------------------------------------
ImportError                               Traceback (most recent call last)

/usr/local/installers/src/scipy/build/lib.linux-i686-2.3/scipy/<console>

/usr/local/installers/src/scipy/build/lib.linux-i686-2.3/scipy/scipy/linalg/__init__.py
       6 ---------------------
       7
----> 8 """
       9 # Modules to import under the scipy namespace
      10 from scipy_version import scipy_version as __version__

/usr/local/installers/src/scipy/build/lib.linux-i686-2.3/scipy/scipy/linalg/basic.py

/usr/local/installers/src/scipy/build/lib.linux-i686-2.3/scipy/scipy/linalg/lapack.py

ImportError: linalg/clapack.so: undefined symbol: clapack_sgesv


And I think I know why it's happening:  I installed the ATLAS binaries from 
scipy.org on my system, putting them in /usr/lib, _including_ the modified 
lapack/blas libraries.  However, in /usr/lib Fedora also provides shared 
libraries (.so) for lapack and blas.  I guess that the build is getting 
confused, picking up the shared libraries at build time.

I can't put the libs from the Atlas pack in /usr/local/lib, because this 
directory is NFS-shared by several clients, all with different architectures 
(Pentium-3, P-4 wihout HT, P-4 with HT, dual-P4, etc).  So I want the Atlas 
library set provided by scipy to go into each client's own /usr/lib, leaving 
/usr/local/lib for things which aren't so cpu-sensitive as Atlas.

Can anyone suggest a way out of this problem?

Thanks in advance for any suggestions,

Fernando




More information about the Scipy-dev mailing list