[SciPy-user] building numpy/scipy on Solaris
Fri Sep 14 02:15:52 CDT 2007
Lucas Barbuto wrote:
> On 10/09/2007, at 4:30 PM, David Cournapeau wrote:
>> Do I understand correctly that you want to compiler numpy/scipy with
>> gcc, using sunperf ? I am not familiar with non gnu devtools under
>> solaris, so I don't know if sunperf libraries are supposed to work
>> gcc ?
> All I really want is a working NumPy and SciPy installation on
> Solaris 9/x86. Seeing as SciPy recommends vendor optimised BLAS and
> LAPACK routines and I don't want to build ATLAS,
Is there a reason why ? Building dev versions (3.7.*) of ATLAS works
pretty well now and is not too difficult (but with gcc).
> I figure I should
> use Sun's Performance Library (sunperf). As far as I can tell, it
> won't be possible to use GCC because of the compiler flags needed for
> sunperf (see below).
>> My main guess, though, would be that sunperf requires more than just
>> -lblas option to link; generally, you need some other link flags.
>> the default error message of the linker is non explanatory, we need
>> info. What does nm
>> /local/cat2/apps-archive/SUNWspro-12/prod/lib/libblas.so returns
>> (assuming libblas.so is the name of the library) ?
> What I've read in the sunperf user guide suggests I'm supposed to
> use the flags "-dalign", "-xlic_lib=sunperf" and "-xarch=generic" for
> x86 architecture, these flags aren't supported by GCC.
> 1. http://docs.sun.com/source/819-5268/plug_intro.html#0_pgfId-11912
In other words, you have to find out whether sunperf can be used with
gcc. One possible way would be to compile BLAS testers with gcc and
trying to link them to sunperf, and see if it works (finding which flags
are necessary: maybe using equivalent of -dalign and -xarch with gcc is
> Sunperf apparently contains "enhanced" versions of LAPACK, BLAS and
> various other libraries. The .so is 18MB so the nm output is
> understandably long, this output was via 'grep FUNC'. I assume you
> just want to see function names?
> I've been having a really difficult time with NumPy's distutils
We are between gentlemen, so I won't say the words which come to my mind
when I think about distutils (the one of python; numpy.distutils is
trying hard to circumvent distutils limitations). For distutils'
defense, what scipy/numpy need go much further than the usual need of
python extension; but extending distutils is really a PITA, undocumented
to say the least, and unmaintained.
> So much so that I've resorted to writing my own
> sunccompiler.py customisation so that I can set the CFLAGS and
> LDFLAGS that I want. Regardless, I continue to end up at the same
> unresolved symbols dead-end and I'm way over my head in compiler and
> linker options.
I think the best would be for someone knowledgable about numpy/scipy to
have access to an environment similar to yours. Problem is, this is non
free OS, quite a pain to install (last time I tried at least). I have
downloaded a vmware image of nexenta, which is GNU above open solaris;
http://blogs.sun.com/dbx/entry/installing_nexenta_gnu_solaris_on, I can
install sunstudio on it, which means sunperf libraries, right ? Do you
think this corresponds to your environment ? I don't want to waste time
on it if this does not help you.
My lab has some solaris on SPARC, but I am afraid only for servers,
hence not available for any compilation.
More information about the SciPy-user