[Numpy-discussion] [ANN] garnumpy 0.1, a gar system to build a self contained scipy environment (unix only)
Thu Mar 1 23:02:30 CST 2007
I am not sure whether this is really useful to other, but anyway: I
release the first version of garnumpy, a system derived from Nick
Moffit's gar system, to build a set of packages from sources.
The idea is to build numpy + scipy automatically with its
dependencies, like a complete LAPACK, umfpack, etc... Right now, support
for ATLAS (3.7.28), NETLIB BLAS/LAPACK only is there. It can also build
a FFT library (fftw3 supported for now), and a UMFPACK system.
This can be useful:
- if you are on distributions without a full blas/lapack or
umfpack packaged on your system
- with a CPU not well supported by last release of ATLAS
(Core2Duo, which got a lot of improvements in the 3.7 series)
- if you do not want (or like me cannot) install numpy system-wide
It has been successfully used on Fedora Core and Ubuntu with gcc+g77
or gcc+gfortran (by successfully, I mean all scipy tests passed). I
don't really know if this is easier to use than building scipy/numpy by
hand (it is for me, at least:) ).
Here is the Readme:
What is garnumpy ?
Garnumpy is a system derived from the GAR system by Nick Moffitt to
a self contained scipy environment. It supports optional compilation
of most scipy
dependencies, including fftw3, ATLAS or NETLIB Blas and Lapack, UMFPACK.
What for ?
If you want to install a scipy environment, with special libraries,
not packaged on your OS (full lapack using ATLAS, etc...).
If you want a self contained directory where everything is
installed, for easy
removing later (everything in in one directory)
As it installs everything in a special directory, you can use
garnumpy without special
rights (eg non root), and without the risk of destroying anything on
How to use ?
cd platform/scipy; make install
will install numpy, scipy and all the dependencies (by default, it will
build fftw3, and NETLIB BLAS/LAPACK), if you have a "standard" GNU
Then, in a shell:
will set the necessary env variables to use scipy in the current shell.
before the above, you should:
- set main_prefix and GARCHIVEROOT in gar.conf.mk to some values
- make garchive will download all the sources in one step (useful if
you plan on trying different build options)
- if you change main_prefix, you should change accordingly
Other variable to adjust in gar.conf.mk:
- BLASLAPACK: set to the wanted BLAS/LAPACK set. By default, netlib,
but atlas (for using ATLAS BLAS/LAPACK) and system (using already
installed BLAS/LAPACK) are also supported.
- SCIPYSANDPKG: a list of packages in scipy sandbox to install
- TESTNELIB: set to 1 to test the compiled NETLIB LAPACK library
- SOURCEFORGEDL: set to a proper sourceforge mirror (redirection
Variable to adjust in gar.cc.mk (everything related to the build tools,
mostly compiler, compiler options and link options should be set here)
- CC, F77 and CXX: C, Fortran and C++ compilers
You can use the two following working templates:
- gar.cc.mk.g77: GNU build system with g77 for F77 code.
- gar.cc.mk.gfortran: GNU build system with gfortran for all
- numpy and scipy (in platform)
- ipython (in tools)
- matplolib (in gui)
You can build a fully functional scipy + matplotlib by
installing the following:
sudo apt-get install python python-dev gcc g77 python-gtk2-dev
patch swig g++
Fedora Core (6):
You can build a fully functional numpy + scipy by installing the
sudo yum install python python-devel gcc compat-gcc-34-g77
More information about the Numpy-discussion