adding LAPACK and BLAS to the source code

Hey group, 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. These appear to come from the library 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
participants (1)
-
eric jones