[SciPy-user] building numpy/scipy on Solaris

raphael langella raphael.langella at steria.com
Thu Mar 22 04:31:04 EDT 2007


---- Messages d´origine ----
De: "David M. Cooke" <cookedm at physics.mcmaster.ca>
Date: jeudi, mars 22, 2007 0:57 am
Objet: Re: [SciPy-user] building numpy/scipy on Solaris

> On Wed, Mar 21, 2007 at 02:27:56PM +0100, raphael langella wrote:
> > ---- Messages d´origine ----
> > De: "David M. Cooke" <cookedm at physics.mcmaster.ca>
> > Date: mercredi, mars 21, 2007 11:23 am
> > Objet: Re: [SciPy-user] building numpy/scipy on Solaris
> > 
> > > On Wed, Mar 21, 2007 at 09:59:04AM +0100, raphael langella wrote:
> > > > > On Tue, Mar 20, 2007 at 12:08:14PM +0100, raphael langella 
> wrote:> > > > > I'm trying to build numpy and scipy on Solaris 8.
> > > > > > The BLAS FAQ on netlib.org suggests using optimized BLAS 
> > > librairies> > > provided by computer vendor, like the SUN 
> > > Performance Library. This
> > > > > > library is supposed to provide enhanced and optimized 
> version 
> > > of 
> > > > > BLAS> and LAPACK. I happen to have Forte 7 installed, so I 
> > > first 
> > > > > tried to
> > > > > > build against this library (libsunperf.a).
> > > > 
> > > > It's supposed to support LAPACK v3.0 and BLAS1, 2 & 3
> > > > (http://developers.sun.com/sunstudio/perflib_index.html).
> > > > It gives me this when I import numpy :
> > > > ImportError: ld.so.1: python: fatal: relocation error: file
> > > > /usr/lib/python2.3/site-packages/numpy/linalg/lapack_lite.so: 
> symbol> > > __getenv_: referenced symbol not found
> > > 
> > > Odd. lapack_lite doesn't use getenv anywhere, so it must be the 
> > > sunperflibrary (and http://docs.sun.com/source/819-
> > > 3692/plug_optimizing.htmlshows that it does look at environment 
> > > variables). I'm guessing there's
> > > some link-time option that it needs.
> > 
> > ok. I'll forget about the other errors I have and will focus on
> > libsunperf for now. It makes sense to me to use vendor provided
> > optimized BLAS/LAPACK libraries.
> > 
> > I compiled with these options :
> > python setup.py config_fc --f77flags='-xlic_lib=sunperf -
> xarch=v9b' install
> > 
> > and now, I've got this error when importing numpy :
> > ImportError: ld.so.1: python: fatal: relocation error: file
> > /usr/local/lib/python2.3/site-packages/numpy/linalg/lapack_lite.so:
> > symbol dgeev_: referenced symbol not found
> 
> It looks like the C versions of the Fortran routines in sunperf don't
> have trailing underscores (they're not just the Fortran routine, 
> they'reC wrappers). Try
> 
> CPPFLAGS='-DNO_APPEND_FORTRAN' python setup.py config_fc --
> f77flags='-xlic_lib=sunperf -xarch=v9b' install
> 
> so that lapack_litemodule.c uses dgeev instead of dgeev_.

Well, now it does uses dgeev, but it's still not found :
ImportError: ld.so.1: python: fatal: relocation error: file
/home/user1/ctcils/poladmin/rla/root/lib/python2.3/site-packages/numpy/linalg/lapack_lite.so:
symbol dgeev: referenced symbol not found

So, the function is just absent from the library?
I set BLAS and LAPACK to libsunperf.a. Should I use a dynamic version
instead?



More information about the SciPy-User mailing list