[SciPy-dev] Installing Numpy/Scipy with custom ATLAS [SOLVED]

Skipper Seabold jsseabold at gmail.com
Thu Sep 24 14:40:36 EDT 2009


On Thu, Sep 24, 2009 at 2:10 PM, Skipper Seabold <jsseabold at gmail.com> wrote:
> On Thu, Sep 24, 2009 at 1:50 PM, Skipper Seabold <jsseabold at gmail.com> wrote:
>> For some reason I thought it would be a good idea to install a custom
>> ATLAS...again.
>>
>> I think I've built lapack 3.1.1 and atlas 3.8.0 correctly following
>> the instructions here <http://www.scipy.org/Installing_SciPy/Linux>
>> and the ones included with atlas, but we shall see...the checks pass
>> at least.  I installed the atlas libraries to ~/atlas and copied over
>> the dynamic libraries by hand.
>>
>> I then edit my site.cfg
>>
>> [DEFAULT]
>> library_dirs = /usr/local/lib:/usr/lib:/home/skipper/atlas/lib
>> include_dirs = /usr/local/include:/usr/include:usr/include/suitesparse:/home/skipper/atlas/include
>> [blas_opt]
>> libraries = ptf77blas, ptcblas, atlas
>> [lapack_opt]
>> libraries = lapack, ptf77blas, ptcblas, atlas
>> [amd]
>> amd_libs = amd
>> [umfpack]
>> umfpack_libs = umfpack
>> [fftw]
>> libraries = fftw3
>>
>> I then build and install numpy without error.  But when I try to
>> import numpy I get
>> [...]
>> /usr/local/lib/python2.6/dist-packages/numpy/linalg/linalg.py in <module>()
>>     20         isfinite, size
>>     21 from numpy.lib import triu
>> ---> 22 from numpy.linalg import lapack_lite
>>     23 from numpy.matrixlib.defmatrix import matrix_power
>>     24
>>
>> ImportError: /usr/local/lib/python2.6/dist-packages/numpy/linalg/lapack_lite.so:
>> undefined symbol: ATL_dptsyrk
>>
>>
>> Running ldd gives
>>
>> $ ldd /usr/local/lib/python2.6/dist-packages/numpy/linalg/lapack_lite.so
>>        linux-vdso.so.1 =>  (0x00007fff129fe000)
>>        liblapack.so => /usr/lib/atlas/liblapack.so (0x00007f4609c57000)
>>        libatlas.so => /usr/lib/libatlas.so (0x00007f4609615000)
>>        libgfortran.so.3 => /usr/lib/libgfortran.so.3 (0x00007f4609338000)
>>        libm.so.6 => /lib/libm.so.6 (0x00007f46090b3000)
>>        libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x00007f4608e9b000)
>>        libc.so.6 => /lib/libc.so.6 (0x00007f4608b28000)
>>        libblas.so.3gf => /usr/lib/atlas/libblas.so.3gf (0x00007f46084ad000)
>>        /lib64/ld-linux-x86-64.so.2 (0x00007f460a991000)
>>
>> I currently have atlas installed from David's repo as well
>> (incidentally, David, where is your repo, I can't find it again, and
>> wanted to add it to the wiki.) and am wondering if there is a conflict
>> here.  When I look at the build log it says, for example,
>>
>>  FOUND:
>>    libraries = ['ptf77blas', 'ptcblas', 'atlas']
>>    library_dirs = ['/home/skipper/atlas/lib']
>>    language = c
>>    include_dirs = ['/usr/include']
>>
>> Should include_dirs be '/home/skipper/atlas/include' ?  I don't know.
>> Any pointers would be appreciated, as I wasn't able to install numpy
>> without trying to use the threaded libraries either now...  I can
>> provide anymore output as needed.  Build log attached.
>>
>> Cheers,
>>
>> Skipper
>>
>
> I figured the include directories in site.cfg were greedy, so I
> changed the order to
>
> library_dirs = /usr/local/lib:/usr/lib:/home/skipper/atlas/lib
> include_dirs = /home/skipper/atlas/include:/usr/local/include:/usr/include:/usr/include/suitesparse
>
> but I get the same import error in numpy.
>
> The correct include directory is listed in the build log, but I'm
> wondering why it says atlas 3.8.3 when I installed 3.8.0
>
> New build log attached.
>
> Skipper
>

I can't believe it, but I figured it out.  I uninstalled the old
atlas, then had to copy libatlas.so from the directory where I
installed atlas to /usr/lib/ and everything went to plan.  I now see
all of my cores working when trying to invert a large matrix rather
than one core getting overloaded and it taking forever.

Sorry for the noise.

Skipper



More information about the SciPy-Dev mailing list