Building » History » Revision 4
Revision 3 (Anonymous, 01/25/2016 12:01 PM) → Revision 4/17 (Anonymous, 01/25/2016 12:10 PM)
h1. Building
Quick guide for users on 100% compatible systems
We assume that you have successfully downloaded and unpacked the package, possibly including 3rd-party packages in sphinx/sxaccelerate/3rd-party/packages/ .
Please make sure that CPU throttling is deactivated when compiling (specifically: ATLAS!).
<pre>
cd sphinx
./setup
./configure --disable-debug
make all
make install
</pre>
If this does not work, please read the rest of this page.
You may want to run the [[testbed]] after compilation.
h2. Prerequisites
* C++ compiler
* automake
* libtool
* flex, bison
* Additional libraries (see also 3rd-party packages)
** BLAS+LAPACK library
*** ATLAS+LAPACK or
*** mkl or
*** acml or
*** libGOTO or
*** ESSL
** FFT library
*** FFTW (recommended)
*** ACML (we encountered many bugs...)
** netCDF
| CentOS 5.6 | yum install gcc44-c++ gcc44-gfortran automake libtool flex bison |
| Fedora 15 | yum install gcc-c++, gcc-gfortran, automake, libtool, flex, bison |
| Debian 6 | apt-get install g++ gfortran automake libtool flex bison |
| MacOS X 10.6 | X-Code (install from Apple installation DVD) |
| Windows | port in progress..|
Known issues with specific systems
See here
Please make sure that CPU throttling is deactivated when compiling the third-party libraries (specifically: ATLAS!).
Building
Depending on the scope of your work with S/PHI/nX please choose the best fitting building approach:
| | Users | Testers | Developers |
| build S/PHI/nX release |once | once | frequently |
| build S/PHI/nX debug | | once | frequently|
| build SxAccelerate | | | once - frequently |
| build numlibs | | | once - rarely |
* On machines with N CPUs: you may use parallel make via make -j 2N
h2. configure options (selection)
| --disable-atlas --disable-lapack --enable-mkl --with-mklpath=... | use MKL for BLAS/LAPACK (support for selected versions) |
| --disable-atlas --disable-lapack --enable-acml | use ACML for BLAS/LAPACK |
| --enable-mpi | compile MPI version (experimental) |
| --enable-openmp | compile using openmp, try to use openmp numerical libraries (experimental) |
| --with-numlibs=... | all external numerical libraries can be found in these paths (/path/1/:/path/2/:/path/3/) |
| --without-numlibs | external numerical libraries can be found in standard paths or via specified LDFLAGS and CPPFLAGS |
| CXX=... | set C++ compiler |
| CXXFLAGS=... | set additional C++ compiler flags |
| LDFLAGS=... | set additional linker flags (see compiler/linker docu) |
|CPPFLAGS=... | set additional preparser flags (see compiler docu) |
|CPPFLAGS='-I...' | set additional search path for external includes |