[Numpy-discussion] undefined symbols when importing lapack

David H. Marimont marimont at nxpdata.com
Wed Jun 6 13:32:51 CDT 2001


Thanks, David, that worked perfectly -- I can now import lapack_lite
without any errors.

Now I need to now how to call lapack functions aside from the ones 
that come packaged with lapack_lite (dgeev, dgelss, dgelss, dgesv,
dgesvd, dgetrf, dsyev, zgelss, zgesv,z gesvd, zgetff, and zheev).
I found these via inspect.getmembers(lapack_lite).  Where do all
the other lapack functions live?  And is there some way for me to
determine that automatically?

Thanks.

  David


"David M. Cooke" wrote:
> 
> At some point, "David H. Marimont" <marimont at nxpdata.com> wrote:
> 
> > I just compiled and installed Numeric 20.1.0b1 using lapack
> > and blas libraries.  When I tried to import lapack_lite (after
> > importing Numeric), I got this error:
> >
> >   Traceback (most recent call last):
> >     File "<stdiimoprimporn>", line 1, in ?
> >   ImportError: /usr/lib/liblapack.so.3: undefined symbol: e_wsfe
> >
> > I'm using Python 2.1 on RH 7.1.
> >
> > I've had this problem before and have even seen postings to this list
> > about related problems.  But the solutions posted were over my head, so I've
> > never been able to use the python interface to the lapack and blas libraries,
> > which I really need. Does anyone have any advice, preferably pitched to
> > someone who has limited compilation skills (i.e. at the the "configure,
> > make, make install" level)?
> >
> > Thanks.
> 
> You have to compile in the g2c library. For RH 7.1, add the path
> '/usr/lib/gcc-lib/i386-redhat-linux/2.96/' to library_dirs_list in
> setup.py, and 'g2c' in libraries_list.
> 
> So the appropiate lines in setup.py will look like:
> 
> # delete all but the first one in this list if using your own LAPACK/BLAS
> sourcelist = ['Src/lapack_litemodule.c',
> #              'Src/blas_lite.c',
> #              'Src/f2c_lite.c',
> #              'Src/zlapack_lite.c',
> #              'Src/dlapack_lite.c'
>              ]
> # set these to use your own BLAS
> library_dirs_list = ['/usr/local/lib', '/usr/lib/gcc-lib/i386-redhat-linux/2.96/']
> libraries_list = ['lapack', 'blas', 'g2c']
> 
> If you're compiling on Debian, I don't think you need to add the path
> (but you need 'g2c').
> 
> You need g2c because lapack and blas were compiled from Fortran using
> g77, and so they depend on routines that implement some of the Fortran
> statements.
> 
> --
> |>|\/|<
> /--------------------------------------------------------------------------\
> |David M. Cooke
> |cookedm at mcmaster.ca
> 
> _______________________________________________
> Numpy-discussion mailing list
> Numpy-discussion at lists.sourceforge.net
> http://lists.sourceforge.net/lists/listinfo/numpy-discussion




More information about the Numpy-discussion mailing list