Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
public:install_lofar_centos6.5 [2015-06-26 18:39] – Frank Breitling | public:install_lofar_centos6.5 [2017-03-08 15:27] (current) – external edit 127.0.0.1 | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== Installing LOFAR Software on a CentOS 6.5 (Final) | + | ====== Installing LOFAR Software on a CentOS 6.5 (Final) |
+ | This document is evolving and was created by | ||
--- // | --- // | ||
- | I was mainly following the previous installation notes provided by others: \\ | + | A useful starting point were previous installation notes such as: \\ |
http:// | http:// | ||
- | http:// | + | http:// |
- | However | + | However |
Ideas and support by **Arno Schoenmakers**, | Ideas and support by **Arno Schoenmakers**, | ||
- | This instruction will install all packages in $HOME/ | ||
- | ===== 1. Setup of the environment ===== | + | ===== 1. Setup of build environment ===== |
- | The 4 Newton head nodes provide some necessary libraries via [[https:// | + | |
- | We need its HDF5 libs and its more recent CMake version 3, since the systems version 2.6 is too old.\\ | + | |
- | Moreover, for the installation of Pyrap we need a Python path with write access. \\ | + | |
- | So I added the following | + | The following |
+ | |||
+ | * BLAS | ||
+ | * LAPACK | ||
+ | * Boost 1.41.0 (but too old for AOFlagger v2.8.0 and later) | ||
+ | * cfitsio 3.240 | ||
+ | * HDF5 | ||
+ | * OpenMP | ||
+ | |||
+ | The cluster also provides a //module system// to load newer versions of the installed software. \\ | ||
+ | Its used below to replace the default version of gcc 4.4.7 with gcc 4.8.3 for C++11 support. | ||
+ | |||
+ | |||
+ | === 1.1 Paths === | ||
+ | |||
+ | The following changes are required: | ||
+ | |||
+ | * A more recent version of GCC with C++11 required by Casacore is activated through the module system. This also requires adding / | ||
< | < | ||
- | module load cmake hdf5 | + | File "/ |
+ | from ._tables import Table | ||
+ | ImportError: | ||
+ | </ | ||
+ | |||
+ | * The packages will be installed in $HOME/ | ||
+ | * Pyrap (python-casacore) needs a writable Python path. \\ | ||
+ | |||
+ | This adds the following lines to $HOME/ | ||
+ | < | ||
+ | source / | ||
+ | module load gcc/ | ||
+ | export LD_LIBRARY_PATH=/ | ||
export PYTHONPATH=$HOME/ | export PYTHONPATH=$HOME/ | ||
export PATH=$HOME/ | export PATH=$HOME/ | ||
Line 27: | Line 53: | ||
- | === 1.1 Optional | + | === 1.2 CMake === |
- | Unfortunately | + | |
+ | The 4 Newton head nodes provide | ||
+ | The environment modules also provide more recent HDF5 libraries. Both could be loaded by adding '' | ||
+ | But unfortunately the CMake 3.0.0 loaded | ||
< | < | ||
mkdir -p $HOME/ | mkdir -p $HOME/ | ||
Line 39: | Line 69: | ||
make install | make install | ||
</ | </ | ||
- | If working on the other head nodes newl2 to newl4 this step is not necessary. | ||
- | ===== 2. Installation | + | === 1.3 Python |
+ | To use matplotlib 2 one also needs Python | ||
+ | |||
+ | < | ||
+ | V_PY=2.7.13 | ||
+ | cd ~/ | ||
+ | wget https:// | ||
+ | tar xf Python-$V_PY.tgz | ||
+ | cd Python-$V_PY | ||
+ | ./configure --prefix=$HOME/ | ||
+ | time make -j | ||
+ | make install | ||
+ | </ | ||
+ | |||
+ | |||
+ | |||
+ | === 1.4 Boost === | ||
+ | Also a newer version | ||
+ | |||
+ | < | ||
+ | cd $HOME/ | ||
+ | V_BOOST=1_63_0 | ||
+ | wget wget https:// | ||
+ | tar xf boost_$V_BOOST.tar.bz2 | ||
+ | cd boost_$V_BOOST | ||
+ | ./ | ||
+ | time ./b2 install --prefix=${HOME}/ | ||
+ | </ | ||
+ | |||
+ | |||
+ | ===== 2. Installation of dependencies | ||
Next we need to build and install these other packages as follows: | Next we need to build and install these other packages as follows: | ||
+ | |||
+ | === 2.1 WCSLIB === | ||
+ | The [[http:// | ||
+ | |||
< | < | ||
cd $HOME/ | cd $HOME/ | ||
wget ftp:// | wget ftp:// | ||
tar xf packages/ | tar xf packages/ | ||
- | cd wcslib-5.6/ | + | cd wcslib-5.15 # (-5.6) |
./configure --prefix=$HOME/ | ./configure --prefix=$HOME/ | ||
- | make install | + | time make -j install |
+ | </ | ||
+ | === 2.2 FFTW === | ||
+ | The [[http:// | ||
+ | |||
+ | < | ||
+ | V_FFTW=3.3.5 | ||
cd $HOME/ | cd $HOME/ | ||
- | wget http:// | + | wget http:// |
- | cd fftw-3.3.4 | + | cd fftw-$V_FFTW |
- | configure --prefix=$HOME/ | + | ./configure --prefix=$HOME/ |
- | make -j12 install | + | time make -j install |
</ | </ | ||
+ | |||
===== 3. Installation the LOFAR software ===== | ===== 3. Installation the LOFAR software ===== | ||
- | Now we can continue building | + | Now we can build the LOFAR software. \\ |
+ | |||
+ | We will need the following CMake switches: | ||
+ | |||
+ | 1. -DCMAKE_INSTALL_PREFIX: | ||
+ | 2. -DBOOST_ROOT=$HOME/ | ||
+ | 3. -DCMAKE_CXX_FLAGS=" | ||
+ | # 4. -DBoost_NO_BOOST_CMAKE=YES (not necessary with new installed Boost) | ||
+ | |||
+ | 1.) Sets the installation path to $HOME/ | ||
- | === 3.1 Essential CMake switches === | + | 2.) Necessary to find the new Boost installation |
- | We will need these essential CMake switches: | + | |
- | 1. -DBoost_NO_BOOST_CMAKE=ON | + | 3.) Necessary to link against the new Boost installation |
- | 2. -DUSE_LOG4CPLUS=NO | + | |
- | 3. -DUSE_BACKTRACE=OFF | + | |
- | 4. -DCMAKE_INSTALL_PREFIX: | + | |
- | 1.) Is necessary when using some older versions of boost with cmake-2.8.6-rc2 | + | # 4.) Was required by some older versions of boost e.g. 1.41 with cmake-2.8.6-rc2, |
- | (See https:// | + | https:// |
- | Otherwise make will show this error later: | + | |
< | < | ||
make[2]: *** No rule to make target `/ | make[2]: *** No rule to make target `/ | ||
Line 80: | Line 155: | ||
make: *** [all] Error 2 | make: *** [all] Error 2 | ||
</ | </ | ||
+ | It is not necessary any more with the new boost installation. | ||
- | 2.) Is necessary if the Log4cplus libs are not installed. | ||
- | |||
- | 3.) Is necessary if building shared libraries (the default with LOFAR), but libiberty.so is not installed on your system, only libiberty.a.\\ | ||
- | (See https:// | ||
- | |||
- | 4.) Sets the install path to $HOME/ | ||
=== 3.2 Casacore === | === 3.2 Casacore === | ||
- | So we can build the rest of the packages as follows: | + | [[https:// |
+ | This is for example provided with [[http:// | ||
+ | Here we assume CASA is already installed and can be found in the $CASAPATH given below. For convenience this is a link to the CASA folder. | ||
+ | Then the data is in $CASAPATH/ | ||
+ | We will specify this via -DDATA_DIR, otherwise we need a ~/.casarc file with the line: '' | ||
+ | '' | ||
< | < | ||
- | cd ~local/src/ | + | msoverview: Version 20110407GvD |
+ | 2015-06-30 19: | ||
+ | / | ||
+ | Error: Error (Function not implemented) when acquiring lock on | ||
+ | / | ||
+ | </ | ||
+ | For practical work there is no disadvantage in disabling table locking. \\ | ||
+ | |||
+ | < | ||
+ | # 2.1, 2.2 | ||
+ | cd ~/local/src/ | ||
git clone https:// | git clone https:// | ||
mkdir build/ | mkdir build/ | ||
cd build/ | cd build/ | ||
- | time cmake -DBUILD_PYTHON=yes -DBUILD_TESTING=NO | + | CASAPATH=$HOME/ |
- | -DUSE_OPENMP=yes -DDATA_DIR=~/local/data -DUSE_HDF5=yes -DCMAKE_PREFIX_PATH="$HOME/local;" ../ | + | time cmake ../ |
- | time make -j12 | + | -DUSE_OPENMP=YES -DDATA_DIR=$CASAPATH/data -DUSE_HDF5=YES -DCMAKE_PREFIX_PATH=$HOME/ |
+ | time make -j | ||
make install | make install | ||
</ | </ | ||
+ | |||
=== 3.3 Pyrap === | === 3.3 Pyrap === | ||
< | < | ||
- | make install pip install | + | cd ~/ |
- | | + | git clone https:// |
+ | cd python-casacore | ||
+ | python setup.py | ||
+ | python setup.py | ||
</ | </ | ||
- | == 3.3.1 Alternative Pyrap installation == | ||
- | Or alternatively if we don't want to install Pyrap with //pip// we can do: | + | == 3.3.1 Alternative Pyrap installation == |
+ | Alternatively | ||
< | < | ||
- | cd ~/ | + | wget https://bootstrap.pypa.io/get-pip.py |
- | cd python-casacore | + | python |
- | python setup.py build_ext -I/ | + | ~/ |
- | python setup.py | + | |
</ | </ | ||
Line 122: | Line 212: | ||
Now we continue with the rest: | Now we continue with the rest: | ||
< | < | ||
- | cd ~local/src/ | + | cd ~/local/src/ |
svn co https:// | svn co https:// | ||
mkdir build/ | mkdir build/ | ||
cd build/ | cd build/ | ||
- | cmake -DCASACORE_ROOT_DIR=$HOME/ | + | cmake ../ |
- | | + | -DBOOST_ROOT=$HOME/local/src/ |
- | time make -j12 | + | # not necessary any more -DBoost_NO_BOOST_CMAKE=YES |
+ | time make -j | ||
make install | make install | ||
</ | </ | ||
- | === 3.4 DP3 and Calibration | + | |
+ | === 3.5 AOFlagger === | ||
+ | The [[https:// | ||
+ | [[http:// | ||
+ | For further details see the LOFAR release link or the | ||
+ | [[https:// | ||
+ | The AOFlagger v2.8.0 | ||
+ | |||
+ | < | ||
+ | V_AOF=2.9.0 # 2.7.1, 2.8.0 | ||
+ | cd ~/ | ||
+ | wget http:// | ||
+ | tar xf aoflagger-$V_AOF.tar.bz2 | ||
+ | mkdir aoflagger-$V_AOF/ | ||
+ | cd aoflagger-$V_AOF/ | ||
+ | time cmake ../ -DCMAKE_INSTALL_PREFIX: | ||
+ | -DCMAKE_CXX_FLAGS=" | ||
+ | time make -j | ||
+ | make install | ||
+ | </ | ||
+ | |||
+ | |||
+ | === 3.6 The LOFAR packages === | ||
+ | Finally we can build the LOFAR packages. We can chose between [[http:// | ||
+ | [[http:// | ||
+ | or the latest version in [[https:// | ||
+ | |||
+ | '' | ||
+ | (See https:// | ||
< | < | ||
- | cd ~local/ | + | cd ~/local/ |
- | svn checkout --ignore-externals https:// | + | RELEASE=LOFAR-Release-2_19 && |
+ | # 2_16_4, 2_16, 2_12 | ||
+ | #RELEASE=LOFAR && svn checkout --ignore-externals -N https:// | ||
+ | svn update $RELEASE/ | ||
mkdir -p build/ | mkdir -p build/ | ||
cd build/ | cd build/ | ||
- | cmake -DCASACORE_ROOT_DIR=$HOME/ | + | time cmake ../ |
- | | + | # -DUSE_LOG4CPLUS=NO was required in absence of the Log4cplus lib |
- | time make -j12 | + | time make -j |
make install | make install | ||
</ | </ |