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 [2017-01-03 19:33] – [2. Installation of required packages] nicer formating with two subheadings 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**, | ||
- | ===== 1. Setup of the environment ===== | + | |
+ | |||
+ | ===== 1. Setup of build environment ===== | ||
The following packages are already provided on the cluster: | The following packages are already provided on the cluster: | ||
Line 23: | Line 26: | ||
The cluster also provides a //module system// to load newer versions of the installed software. \\ | The cluster also provides a //module system// to load newer versions of the installed software. \\ | ||
- | We will activate it and replace the default version of gcc 4.4.7 with gcc 4.8.3 for C++11 support. | + | Its used below to replace the default version of gcc 4.4.7 with gcc 4.8.3 for C++11 support. |
- | === 1.1 Pathes | + | === 1.1 Paths === |
- | This instruction will install all packages in $HOME/local/. \\ | + | |
- | And for the installation of Pyrap (python-casacore) we need a Python path with write access. \\ | + | The following changes are required: |
- | So I added the following lines to $HOME/ | + | |
+ | * A more recent version of GCC with C++11 required by Casacore is activated through the module system. | ||
< | < | ||
- | source | + | File "/home/fkbreitl/local/lib64/python2.6/ |
- | module | + | 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 LD_LIBRARY_PATH=$HOME/ | ||
export PATH=$HOME/ | export PATH=$HOME/ | ||
</ | </ | ||
Line 41: | Line 54: | ||
=== 1.2 CMake === | === 1.2 CMake === | ||
+ | |||
The 4 Newton head nodes provide CMake 2.6 by default, but the LOFAR Software requires at least 2.6.6. A sufficiently recent version of CMake 3.0.0 is provided via [[https:// | The 4 Newton head nodes provide CMake 2.6 by default, but the LOFAR Software requires at least 2.6.6. A sufficiently recent version of CMake 3.0.0 is provided via [[https:// | ||
The environment modules also provide more recent HDF5 libraries. Both could be loaded by adding '' | The environment modules also provide more recent HDF5 libraries. Both could be loaded by adding '' | ||
Line 57: | Line 71: | ||
- | === 1.3 Boost === | + | === 1.3 Python === |
- | Also a newer version of Boost is required since AOFlagger v2.8.0 and later: | + | To use matplotlib 2 one also needs Python 2.7 or later. |
+ | |||
+ | < | ||
+ | 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 of [[http:// | ||
< | < | ||
Line 69: | Line 99: | ||
time ./b2 install --prefix=${HOME}/ | time ./b2 install --prefix=${HOME}/ | ||
</ | </ | ||
- | ===== 2. Installation of required packages | + | |
+ | |||
+ | ===== 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 === | === 2.1 WCSLIB === | ||
+ | The [[http:// | ||
< | < | ||
Line 79: | Line 112: | ||
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 === | === 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: | ||
- | === 3.1 Essential CMake switches === | + | 1. -DCMAKE_INSTALL_PREFIX: |
- | We will need these essential CMake switches: | + | 2. -DBOOST_ROOT=$HOME/ |
+ | 3. -DCMAKE_CXX_FLAGS=" | ||
+ | # 4. -DBoost_NO_BOOST_CMAKE=YES (not necessary with new installed Boost) | ||
- | 1. -DUSE_OPENMP=YES | + | 1.) Sets the installation path to $HOME/ |
- | 2. -DCMAKE_INSTALL_PREFIX: | + | |
- | 3. -DBoost_NO_BOOST_CMAKE=YES | + | |
- | 4. -DENABLE_TABLELOCKING=NO (only for Casacore) | + | |
- | 5. -DUSE_LOG4CPLUS=NO (only for the LOFAR packages) | + | |
- | 6. -DUSE_BACKTRACE=NO | + | |
- | 1.) OpenMP makes use of multi-core CPUs. We want to use this since it speeds up our processing. | + | 2.) Necessary |
- | 2.) Sets the installation | + | 3.) Necessary to link against |
- | 3.) 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 122: | Line 155: | ||
make: *** [all] Error 2 | make: *** [all] Error 2 | ||
</ | </ | ||
+ | It is not necessary any more with the new boost installation. | ||
- | 4.) On the AIP Lustre file system | + | |
+ | === 3.2 Casacore === | ||
+ | [[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: '' | ||
+ | |||
+ | '' | ||
< | < | ||
msoverview: Version 20110407GvD | msoverview: Version 20110407GvD | ||
Line 131: | Line 173: | ||
/ | / | ||
</ | </ | ||
- | With table locking switched off these errors are avoided. | + | For practical work there is no disadvantage in disabling table locking. \\ |
- | This switch is only needed for Casacore! | + | |
- | + | ||
- | 5.) Is necessary for the LOFAR packages if the Log4cplus libs are not installed. | + | |
- | + | ||
- | 6.) Is necessary if building shared libraries (the default with LOFAR), but libiberty.so is not installed on your system, only libiberty.a.\\ | + | |
- | (See https:// | + | |
- | + | ||
- | So we can build the rest of the packages as follows. | + | |
- | + | ||
- | === 3.2 Casacore === | + | |
- | [[https:// | + | |
- | This is for example provided with [[http:// | + | |
- | Here we assume CASA is already installed and $HOME/ | + | |
- | We will specify this via -DDATA_DIR, otherwise we need a ~/.casarc file with the line: '' | + | |
< | < | ||
+ | # 2.1, 2.2 | ||
cd ~/ | cd ~/ | ||
git clone https:// | git clone https:// | ||
mkdir build/ | mkdir build/ | ||
cd build/ | cd build/ | ||
- | time cmake -DBUILD_PYTHON=YES -DCMAKE_INSTALL_PREFIX=~/ | + | CASAPATH=$HOME/ |
- | -DUSE_OPENMP=YES -DDATA_DIR=~/ | + | time cmake ../ |
+ | -DUSE_OPENMP=YES -DDATA_DIR=$CASAPATH/data -DUSE_HDF5=YES -DCMAKE_PREFIX_PATH=$HOME/ | ||
time make -j | time make -j | ||
make install | make install | ||
Line 177: | Line 207: | ||
| | ||
</ | </ | ||
+ | |||
=== 3.4 Casarest === | === 3.4 Casarest === | ||
Line 185: | Line 216: | ||
mkdir build/ | mkdir build/ | ||
cd build/ | cd build/ | ||
- | cmake -DCASACORE_ROOT_DIR=$HOME/ | + | cmake ../ |
- | | + | -DBOOST_ROOT=$HOME/local/src/ |
+ | # not necessary any more -DBoost_NO_BOOST_CMAKE=YES | ||
time make -j | time make -j | ||
make install | make install | ||
Line 200: | Line 232: | ||
< | < | ||
- | V_AOF=2.9.0 | + | V_AOF=2.9.0 # 2.7.1, 2.8.0 |
cd ~/ | cd ~/ | ||
wget http:// | wget http:// | ||
Line 206: | Line 238: | ||
mkdir aoflagger-$V_AOF/ | mkdir aoflagger-$V_AOF/ | ||
cd aoflagger-$V_AOF/ | cd aoflagger-$V_AOF/ | ||
- | time cmake ../ -DCMAKE_INSTALL_PREFIX: | + | time cmake ../ -DCMAKE_INSTALL_PREFIX: |
-DCMAKE_CXX_FLAGS=" | -DCMAKE_CXX_FLAGS=" | ||
time make -j | time make -j | ||
Line 217: | Line 249: | ||
[[http:// | [[http:// | ||
or the latest version in [[https:// | or the latest version in [[https:// | ||
+ | |||
+ | '' | ||
+ | (See https:// | ||
< | < | ||
cd ~/ | cd ~/ | ||
RELEASE=LOFAR-Release-2_19 && svn checkout --ignore-externals -N https:// | RELEASE=LOFAR-Release-2_19 && svn checkout --ignore-externals -N https:// | ||
+ | # 2_16_4, 2_16, 2_12 | ||
# | # | ||
svn update $RELEASE/ | svn update $RELEASE/ | ||
Line 226: | Line 262: | ||
cd build/ | cd build/ | ||
time cmake ../ | time cmake ../ | ||
- | # apparently no longer required: -DUSE_OPENMP=YES | + | # -DUSE_LOG4CPLUS=NO |
time make -j | time make -j | ||
make install | make install |