[Numpy-discussion] Numpy installation problem

David Cournapeau cournape at gmail.com
Sat Jul 24 16:17:22 EDT 2010


On Sun, Jul 25, 2010 at 5:13 AM, David Cournapeau <cournape at gmail.com> wrote:
> On Sun, Jul 25, 2010 at 5:11 AM, Jonathan Tu <jhtu at princeton.edu> wrote:
>>
>> On Jul 24, 2010, at 4:04 PM, Keith Goodman wrote:
>>
>>> On Sat, Jul 24, 2010 at 12:58 PM, David Cournapeau <cournape at gmail.com> wrote:
>>>> On Sun, Jul 25, 2010 at 4:50 AM, Jonathan Tu <jhtu at princeton.edu> wrote:
>>>>
>>>>> I am unable to find the files lapack_lite.so or _dotblas.so.  I used the locate command to look for them.
>>>>
>>>> If you just installed numpy, locate won't find them as locate uses a
>>>> database which is usually updated once in a while.
>>>>
>>>> Depending on how you installed numpy, you will find lapack_lite.so in
>>>> /usr, $HOME/.local or somewhere else (and also in the build directory
>>>> in the numpy source tree).
>>>
>>> Here's one way to find where numpy is installed:
>>>
>>> $ python
>>>>>> import numpy
>>>>>> numpy
>>> <module 'numpy' from
>>> '/usr/local/lib/python2.6/site-packages/numpy/__init__.pyc'>
>>>
>>> So on my computer numpy is installed in /usr/local/lib/python2.6/site-packages
>>>
>>>> _dotblas.so may not be present, but numpy cannot work without a lapack_lite.so.
>>
>> Thanks for the tip!  This worked, and much faster than the manual hunting through directories I'd been trying.  Upon running ldd on lapack_lite.so and on _dotblas.so, I got the following (first for lapack_lite, then for _dotblas):
>>
>>        libpthread.so.0 => /lib64/tls/libpthread.so.0 (0x0000002a95792000)
>>        libc.so.6 => /lib64/tls/libc.so.6 (0x0000002a958a7000)
>>        /lib64/ld-linux-x86-64.so.2 (0x000000552aaaa000)
>>
>>        libpthread.so.0 => /lib64/tls/libpthread.so.0 (0x0000002a95d36000)
>>        libc.so.6 => /lib64/tls/libc.so.6 (0x0000002a95e4c000)
>>        /lib64/ld-linux-x86-64.so.2 (0x000000552aaaa000)
>>
>> I am interested in whether my Numpy installation is in fact taking advantage of the LAPACK libraries that are installed on the cluster where I'm running.  I know that Numpy can function without such an installation, but I think it is probably faster when taking advantage of optimized libraries.  In any case, I know ldd shows library dependencies, but I'm not sure how to make sense of its output, and whether or not it answers my question.
>
> It shows you don't use either atlas or even simple lapack. If your
> install used atlas, the atlas libraries would show up on those .so
> with ldd

Here is what I would do for RHEL4:
 - use python 2.6, not 2.7, because the released numpy does not support 2.7 yet.
 - build atlas 3.8.3 and lapack 3.1.1 by yourself: this is your core
issue here. Both lapack and atlas should be built with the -fPIC flag
on x86_64 arch (modify the make.inc in lapack to include -fPIC in OPT
and NOOPT flags, and add the option -Fa alg -fPIC when calling atlas
configure script)

David



More information about the NumPy-Discussion mailing list