[SciPy-dev] adding LAPACK and BLAS to the source code

eric jones eric at enthought.com
Sun Jun 23 14:45:28 CDT 2002


Hey group,

Apologies if you get this twice -- we had a mail list hiccup earlier
this week, and I don't think this went out correctly.


We just had the unpleasant experience of getting SciPy to build on the
Sun architecture.  In the end, it didn't prove that hard -- it was all
the mis-steps that were painful.  Most of SciPy builds without a hitch
-- it is only the LAPACK and BLAS stuff that causes major problems.

The issue is that many LAPACK's are built with vendor specific compilers
instead of g77, so getting the correct libraries to link in when
compiling with distutils is a major headache.  And, once the link works,
the headaches continue with chasing down random seg-faults that appear
to come from incompatible library ABI issues.

We worked with ATLAS for a while, but finally backed off to working with
just the standard LAPACK and BLAS.  The result was a pain free build
because gcc and g77 were used all the way through.  I expect building
everything with the Sun compilers would also go fairly smoothly using
this approach.  It seems like most of the questions we get on building
SciPy have to do with ATLAS and linear algebra.  On windows and Linux,
we about have this problem licked.  But its still difficult on platforms
with multiple compilers.  So, I am planning to put LAPACK and BLAS into
the SciPy CVS so that they are built with the same compiler as the rest
of SciPy and no longer have to be built separately.  This will increase
the repository size substantially (LAPACK is big), but has little other
side effects.  We'll set up the building of LAPACK and BLAS so that they
are optional -- if you have ATLAS or other LAPACK libraries you'd like
to use, you can specify them in the site.cfg package -- or at least
specify that system_info should search for them.  This search will be
turned off by default, however, so that incompatible lapack/blas/atlas
libraries are not found.

I think this will ease the build process for everyone and still allows
for using the optimized libraries.  If there are no major objections,
please let me know.  If not, I'll make the addition Tuesday or
Wednesday.

Eric




More information about the Scipy-dev mailing list