building numpy20 on native blas/lapack

Robert Kern kern at myrddin.caltech.edu
Tue Apr 24 21:14:15 EDT 2001


[Posted and mailed]

In article <3AE608A8.755DEEE5 at pacific.jpl.nasa.gov>,
	Benyang Tang <btang at pacific.jpl.nasa.gov> writes:
> 
> Hi,
> 
> I am trying to build the new numpy20 on the linux native blas/lapack libraries. But by doing so I cannot import LinearAlgebra. Here is the import error message:
> 
>>>> import Numeric
>>>> import LinearAlgebra
> Traceback (most recent call last):
>   File "<stdin>", line 1, in ?
>   File "/usr/local/lib/python2.1/site-packages/Numeric/LinearAlgebra.py", line 8, in ?
>     import lapack_lite
> ImportError: /usr/local/lib/python2.1/site-packages/Numeric/lapack_lite.so: undefined symbol: dgesvd_
> 
> 
> I have changed the relenvant section of setup.py to
> 
> sourcelist = ['Src/lapack_litemodule.c',]
> # set these to use your own BLAS
> library_dirs_list = ['/usr/lib','/usr/local/lib','/usr/lib/gcc-lib/i386-redhat-linux/egcs-2.91.66']
> libraries_list = ['blas','g2c']

dgesvd is a LAPACK function, not a BLAS function. You need a LAPACK library,
and not just a BLAS. If you don't have an optimized version, then go to
http://netlib.org/lapack to get the FORTRAN version. Compile it per the 
instructions and link it in before the BLAS library in the library_list.
I don't know where to get convenient RPMs.

> and have tried many other variants; none of them worked.
> 
> During the setup process, there were messages:
> Src/lapack_litemodule.c:11: warning: function declaration isn't a prototype
> Src/lapack_litemodule.c:16: warning: function declaration isn't a prototype
> Src/lapack_litemodule.c: In function `lapack_lite_dgeev':
> Src/lapack_litemodule.c:93: warning: implicit declaration of function `dgeev_'

[etc]

Those are just warnings from gcc -Wall . No need for you to heed them (though
perhaps the Nummies should, if only to prevent newbie-surprise).

-- 
Robert Kern
kern at caltech.edu

"In the fields of hell where the grass grows high
 Are the graves of dreams allowed to die."
  -- Richard Harter



More information about the Python-list mailing list