scipy, blas, lapack, atlas and debian/ubuntu
![](https://secure.gravatar.com/avatar/e3f4b65a9e18f504b6c124d1a0942e52.jpg?s=120&d=mm&r=g)
Hi, I am using scipy for some time at work on my linux (x86 box), and it works fine; I am in general really happy about it as a matlab replacement. Recently, I tried to install the whole thing numpy/scipy/matplotlib on my minimac (again, linux, but on a ppc architecture), and I have some strange installation issues, which makes me wondering about the following issues on scipy installation. First, the conditions on both machines: ubuntu breezy, atlas3 (altivec or sse2 depending on the machine), numpy 0.9.5, scipy 0.4.6, matplotlib 0.87 ('stable' releases). - I am using ATLAS; to have a valid blas/lapack, I used the trick to rebuild a static LAPACK library using ATLAS. But I noticed this weekend that the liblapack.a included in the ubuntu ATLAS package is quite big (around 7 Mb), and the size of the packaged ATLAS liblapack.a and the one I am using are the same (by comparing the libraries, they have different md5, but when extracting them using ar x, the content looks like the same, ie same .o files). So I was wondering, does that mean the atlas lapack is actually a full implementation (maybe done by the debian/ubuntu packagers ?). Is there a way to be sure that a given library implements full lapack ? - When building numpy, is there a way to actually know which BLAS/LAPACK version is used ? For example, at work, on my x86 machine, python setup.py config gives me the following message at the end (I exported BLAS and LAPACK env variables to the location of the corresponding static versions, at /usr/lib/atlas/sse2) : """ lapack_info: Replacing _lib_names[0]=='lapack' with 'lapack' Replacing _lib_names[0]=='lapack' with 'lapack' FOUND: libraries = ['lapack'] library_dirs = ['/usr/lib/atlas/sse2'] language = f77 FOUND: libraries = ['f77blas', 'cblas', 'atlas', 'lapack'] library_dirs = ['/usr/lib/sse2', '/usr/lib/atlas/sse2'] define_macros = [('ATLAS_WITHOUT_LAPACK', None), ('ATLAS_INFO', '"\ \"3.6.0\\""')] language = f77 include_dirs = ['/usr/include'] """ I am not sure to understand the message: it seems like two lapack were found, which one is taken ? - Also, with BLAS/ LAPACK env variables, I select static libraries, but it seems like shared libraries are used afterwards: how can I know which is one is used ? I know how to do this kind of things with C programs (trakcing which libraries are loaded at runtime), but with python, it can quite hard to know which module uses which library. I hope I am not too unclear !, David
participants (1)
-
Cournapeau David