TLDR: Can I use static ATLAS/LAPACK libraries with NumPy & SciPy?
Background:
After building ATLAS with LAPACK with the following:
wget http://sourceforge.net/projects/math-atlas/files/Stable/3.10.1/atlas3.10.1.tar.bz2/download
wget http://www.netlib.org/lapack/lapack-3.4.2.tgz
tar -jxvf atlas3.10.1.tar.bz2
mkdir BUILD
cd BUILD
../ATLAS/configure -b 64 -Fa alg -fPIC \
--with-netlib-lapack-tarfile=../lapack-3.4.2.tgz \
--prefix=<ATLAS_INSTALL_PATH>
make
cd lib
make shared
make ptshared
cd ..
make install
I got the following files under BUILD/lib
:
Make.inc@
Makefile
.a
files:
libatlas.a
libcblas.a
libf77blas.a
libptf77blas.a
libtstatlas.a
liblapack.a
libf77refblas.a
libptlapack.a
libptcblas.a
.so
files:
libsatlas.so*
libtatlas.so*
My first question is, why don't I have .so
(shared dynamic library) files for lapack
and cblas
?
My second question is, which of the following two files does NumPy use?
libsatlas.so*
libtatlas.so*
Finally, if I define:
BLAS=/path_to_BUILD/lib/libcblas.a
LAPACK=/path_to_BUILD/lib/liblapack.a
ATLAS=/path_to_BUILD/lib/libatlas.a
and add /path_to_BUILD/lib
to LD_LIBRARY_PATH
and to the library_dirs
variable within the site.cfg
file in NumPy. Would NumPy and SciPy use my libraries? (even though they are static?).
You should be able to. Add
[DEFAULT]
search_static_first = true
to your site.cfg
file and you should be good to go.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With