Newer
Older
Alexander van Amesfoort
committed
LOFAR (LOw Frequency ARray) Software Repository - INSTALL
=========================================================
Installation instructions for LOFAR software.
Supported Systems
-----------------
- Linux (most in use at ASTRON are Ubuntu, CentOS, and SUSE Linux Enterprise)
Alexander van Amesfoort
committed
- Mac OS X (reasonably recent should work, also with LLVM/Clang)
Alexander van Amesfoort
committed
Alexander van Amesfoort
committed
- any See the next section on Docker
Alexander van Amesfoort
committed
Alexander van Amesfoort
committed
Install using a Docker image / script
-------------------------------------
Alexander van Amesfoort
committed
Alexander van Amesfoort
committed
For prepared Docker images, see:
Alexander van Amesfoort
committed
Alexander van Amesfoort
committed
http://www.lofar.org/wiki/doku.php?id=public:docker
Alexander van Amesfoort
committed
Alexander van Amesfoort
committed
Alexander van Amesfoort
committed
To create a Docker image with Ubuntu or CentOS and LOFAR Offline processing tools, see:
Alexander van Amesfoort
committed
https://github.com/lofar-astron/lofar-deploy
Alexander van Amesfoort
committed
Alexander van Amesfoort
committed
For a(nother) Docker image, see the next section.
Install from Ubuntu Packages (or a Docker image / script)
---------------------------------------------------------
To install LOFAR Offline processing tools (and many more radio astro packages)
Alexander van Amesfoort
committed
KERN: The Radio Astronomy Software Suite
http://kernsuite.info/
Alexander van Amesfoort
committed
Alexander van Amesfoort
committed
Dependencies for Manual Build from Source
-----------------------------------------
Alexander van Amesfoort
committed
Alexander van Amesfoort
committed
Please first try to install as many dependencies as possible using your OS
package manager. For almost all cases, you also need the development packages
('pkgname-dev' for Debian/Ubuntu, or 'pkgname-devel' for CentOS/Fedora).
Alexander van Amesfoort
committed
For Debian/Ubuntu (likely incomplete list, but goes a long way):
Alexander van Amesfoort
committed
Alexander van Amesfoort
committed
apt-get install subversion cmake make g++ gfortran python-dev python-numpy
apt-get install libboost-dev libblitz0-dev libfftw3-dev libcfitsio3-dev libxml2-dev liblog4cplus-dev
apt-get install libpng12-dev # or latest version; for AOFlagger
Alexander van Amesfoort
committed
apt-get install libreadline-dev libpqxx-dev doxygen python-coverage # optional
Alexander van Amesfoort
committed
apt-get install libxml++2.6-dev # or newer
Alexander van Amesfoort
committed
apt-get install libarmadillo-dev # optional, for DPPP_DDECal
apt-get install libunittest++-dev # optional, for tests that use UnitTest++
Alexander van Amesfoort
committed
apt-get install python-xmlrunner # for some CEP/Pipeline/ tests
apt-get install python-pygresql python-psycopg2 python-mysql.connector # python mysql and postgresql interfaces
apt-get install python-mock python-django # for some SAS/ tests
Alexander van Amesfoort
committed
apt-get install postgresql # optional, for some SAS/OTDB_Services/ tests
apt-get install libhdf5-dev # optional, required by casacore-dev from the KERN-2 suite.
Alexander van Amesfoort
committed
Alexander van Amesfoort
committed
For CentOS/Fedora (likely incomplete list, but goes a long way):
Alexander van Amesfoort
committed
Alexander van Amesfoort
committed
yum install subversion cmake make gcc python-devel numpy
yum install boost-devel fftw-devel cfitsio-devel libxml2-devel libpng-devel
Alexander van Amesfoort
committed
yum install readline-devel libpqxx-devel doxygen python-coverage # optional
Alexander van Amesfoort
committed
yum install libxml++-devel
Alexander van Amesfoort
committed
yum install armadillo-devel # optional, for DPPP_DDECal
Alexander van Amesfoort
committed
yum install PyGreSQL python-psycopg2 mysql-connector-python # python mysql and postgresql interfaces
yum install python2-mock python-django # for some SAS/ tests
Alexander van Amesfoort
committed
yum install postgresql # optional, for some SAS/OTDB_Services/ tests
Alexander van Amesfoort
committed
Alexander van Amesfoort
committed
RPMs for these 3 known to work on CentOS 7 can be found at https://support.astron.nl/lofar_issuetracker/issues/8161
- blitz, blitz-devel: available on some distros, but not on e.g. CentOS 7.
If required for your build, but not in your repo, take the two RPMs from CentOS 6 (or build from source).
- log4cplus: idem as blitz (LOFAR log4cxx support is dodgy).
- unittest++, unitest++-devel (optional): idem, but can take two RPMs from Fedora 22 (or build from source).
- python-xmlrunner: pip install xmlrunner # possibly with: --target=/your/path/libdir/pythonversion/site-packages
Alexander van Amesfoort
committed
Alexander van Amesfoort
committed
Alexander van Amesfoort
committed
NOTE (any OS): For manual builds, the most prominent dependencies you may need to install are:
Alexander van Amesfoort
committed
casacore: https://github.com/casacore/casacore
python-casacore ('pyrap'): https://github.com/casacore/python-casacore
Alexander van Amesfoort
committed
IERS/measures tables: ftp://ftp.astron.nl/outgoing/Measures/WSRT_Measures.ztar (auto-updated weekly),
Alexander van Amesfoort
committed
also see https://github.com/casacore/casacore-data-update
Alexander van Amesfoort
committed
casarest: https://github.com/casacore/casarest
Alexander van Amesfoort
committed
Alexander van Amesfoort
committed
AOFlagger: https://sourceforge.net/projects/aoflagger/
Alexander van Amesfoort
committed
which may need: Debian/Ubuntu: libgsl-dev libgtkmm-[2.4|3.0]-dev libsigc++-2.0-dev
CentOS/Fedora: gsl-devel gtkmm[24|30]-devel libsigc++20-devel
PyBDSF (blob detector & source finder): https://github.com/lofar-astron/PyBDSF
Alexander van Amesfoort
committed
python-monetdb (if using GSM inside the LOFAR network): pip install python-monetdb # possibly with: --target=/your/path/libdir/pythonversion/site-packages
Alexander van Amesfoort
committed
Alexander van Amesfoort
committed
Instructions for Manual Build from Source
-----------------------------------------
Alexander van Amesfoort
committed
- SVN checkout build and configuration scripts of a tagged release x.y.z (or the
trunk) from https://svn.astron.nl/LOFAR/ into e.g. $HOME/src/LOFAR-x.y.z/
Alexander van Amesfoort
committed
Alexander van Amesfoort
committed
LOFAR_RELEASE=LOFAR-Release-x.y.z # set to used release version
svn checkout --depth=files "https://svn.astron.nl/LOFAR/tags/$LOFAR_RELEASE" "$HOME/src/$LOFAR_RELEASE"
svn update --depth=infinity "$HOME/src/$LOFAR_RELEASE/CMake"
Alexander van Amesfoort
committed
Alexander van Amesfoort
committed
- Auto-checkout and install the usual offline data reduction (imaging) packages
into e.g. $HOME/local/$LOFAR_RELEASE/
Alexander van Amesfoort
committed
(Only ends succesfully once CMake can find all required dependencies.)
mkdir -p $HOME/build/$LOFAR_RELEASE/gnu_opt # last directory must be {gnu|clang}[cxx11]_{debug|opt}
Alexander van Amesfoort
committed
cd $HOME/build/$LOFAR_RELEASE/gnu_opt
cmake -DCMAKE_INSTALL_PREFIX="$HOME/local/$LOFAR_RELEASE" -DBUILD_PACKAGES="DP3 Calibration Imager PyBDSM" -DUSE_OPENMP=ON "$HOME/src/$LOFAR_RELEASE"
Alexander van Amesfoort
committed
- Build and install:
Alexander van Amesfoort
committed
make -j 4
make -j 4 install # with sufficient privileges
Alexander van Amesfoort
committed
- Optionally, run the regression tests:
Alexander van Amesfoort
committed
ctest -j 4 --timeout 60
Alexander van Amesfoort
committed
Alexander van Amesfoort
committed
All tests should pass, however, a few packages (not selected above) require
GPU hardware or a database to pass all tests.
Alexander van Amesfoort
committed
Alexander van Amesfoort
committed
- You may want to add the installation path bin/ to your PATH by sourcing the lofarinit script:
Alexander van Amesfoort
committed
Alexander van Amesfoort
committed
source "$HOME/local/$LOFAR_RELEASE/lofarinit.sh" # for Bourne-like shells, or
source "$HOME/local/$LOFAR_RELEASE/lofarinit.csh" # for C-like shells