[SciPy-user] building numpy/scipy on Solaris

David Cournapeau david@ar.media.kyoto-u.ac...
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  
>> with
>> 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.  
>> Since
>> the default error message of the linker is non explanatory, we need  
>> more
>> 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[1] 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?
> http://www.cs.mu.oz.au:80/~lucasjb/nm_output_func_sunperf_so_3.txt
> I've been having a really difficult time with NumPy's distutils  
> system. 
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; 
according to 
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 mailing list