[SciPy-user] building numpy/scipy on Solaris
David M. Cooke
Wed Mar 21 18:57:55 CDT 2007
On Wed, Mar 21, 2007 at 02:27:56PM +0100, raphael langella wrote:
> ---- Messages d´origine ----
> De: "David M. Cooke" <firstname.lastname@example.org>
> 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
> 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're
C 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_.
|David M. Cooke http://arbutus.physics.mcmaster.ca/dmc/
More information about the SciPy-user