-
Thomas Jürges authored
We mount now a directory to /opt/slurm that contains executables of slurm version 17.11.13. This version is again compatible with the version that runs on head.cep4.
Thomas Jürges authoredWe mount now a directory to /opt/slurm that contains executables of slurm version 17.11.13. This version is again compatible with the version that runs on head.cep4.
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
Dockerfile.tmpl 6.36 KiB
#
# base
#
FROM lofar-base:${LOFAR_TAG}
ENV AOFLAGGER_VERSION=2.8.0
# Run-time dependencies
RUN apt-get update && apt-get install -y python-xmlrunner python-scipy liblog4cplus-1.1-9 libxml2 libboost-thread${BOOST_VERSION}.0 libboost-filesystem${BOOST_VERSION}.0 libboost-date-time${BOOST_VERSION}.0 libboost-signals${BOOST_VERSION}.0 libpng12-0 libsigc++-2.0-dev libxml++2.6-2v5 libgsl2 openssh-client libboost-regex${BOOST_VERSION}.0 gettext-base rsync python-matplotlib ipython libmunge2 libhdf5-cpp-11 && \
apt-get -y install python-pip python-dev && \
pip install pyfits pywcs python-monetdb && \
apt-get -y purge python-pip python-dev && \
apt-get -y autoremove --purge
#
# *******************
# PyBDSF
# *******************
#
ENV PYBDSF_VERSION=1.8.12
RUN apt-get update && apt-get install -y git g++ gfortran libboost-python-dev python-setuptools && \
mkdir ${INSTALLDIR}/pybdsf && \
cd ${INSTALLDIR}/pybdsf && git clone https://github.com/lofar-astron/pybdsf && \
cd ${INSTALLDIR}/pybdsf/pybdsf && git checkout tags/v${PYBDSF_VERSION} && \
mkdir -p ${INSTALLDIR}/pybdsf/lib/python${PYTHON_VERSION}/site-packages/ && \
export PYTHONPATH=${INSTALLDIR}/pybdsf/lib/python${PYTHON_VERSION}/site-packages:${INSTALLDIR}/pybdsf/lib64/python${PYTHON_VERSION}/site-packages:$PYTHONPATH && cd ${INSTALLDIR}/pybdsf/pybdsf && python setup.py install --prefix=${INSTALLDIR}/pybdsf/ && \
apt-get -y purge git g++ gfortran libboost-python-dev python-setuptools
#
# *******************
# AOFlagger
# *******************
#
RUN apt-get update && apt-get install -y wget cmake g++ libxml++2.6-dev libpng12-dev libfftw3-dev libboost-filesystem${BOOST_VERSION}-dev libboost-date-time${BOOST_VERSION}-dev libboost-signals${BOOST_VERSION}-dev libboost-thread${BOOST_VERSION}-dev libcfitsio3-dev libopenblas-dev && \
mkdir -p ${INSTALLDIR}/aoflagger/build && \
bash -c "cd ${INSTALLDIR}/aoflagger && wget --retry-connrefused http://downloads.sourceforge.net/project/aoflagger/aoflagger-${AOFLAGGER_VERSION%%.?}.0/aoflagger-${AOFLAGGER_VERSION}.tar.bz2" && \
cd ${INSTALLDIR}/aoflagger && tar xf aoflagger-${AOFLAGGER_VERSION}.tar.bz2 && \
cd ${INSTALLDIR}/aoflagger/build && cmake -DCASACORE_ROOT_DIR=${INSTALLDIR}/casacore/ -DBUILD_SHARED_LIBS=ON -DCMAKE_CXX_FLAGS="--std=c++11 -O2 -DNDEBUG" -DCMAKE_INSTALL_PREFIX=${INSTALLDIR}/aoflagger ../aoflagger-${AOFLAGGER_VERSION} && \
cd ${INSTALLDIR}/aoflagger/build && make -j ${J} && \
cd ${INSTALLDIR}/aoflagger/build && make install && \
bash -c "strip ${INSTALLDIR}/aoflagger/{lib,bin}/* || true" && \
bash -c "rm -rf ${INSTALLDIR}/aoflagger/{build,aoflagger-${AOFLAGGER_VERSION}}" && \
bash -c "rm -rf ${INSTALLDIR}/aoflagger/aoflagger-${AOFLAGGER_VERSION}.tar.bz2" && \
apt-get -y purge wget cmake g++ libxml++2.6-dev libpng12-dev libfftw3-dev libboost-filesystem${BOOST_VERSION}-dev libboost-date-time${BOOST_VERSION}-dev libboost-signals${BOOST_VERSION}-dev libboost-thread${BOOST_VERSION}-dev libcfitsio3-dev libopenblas-dev && \
apt-get -y autoremove --purge
#
# *******************
# DYSCO
# *******************
#
ENV DYSCO_VERSION=1.0.1
RUN apt-get update && apt-get install -y git cmake g++ doxygen libboost-all-dev libgsl0-dev libhdf5-dev && \
mkdir ${INSTALLDIR}/dysco && \
cd ${INSTALLDIR}/dysco && git clone https://github.com/aroffringa/dysco && \
cd ${INSTALLDIR}/dysco/dysco && git checkout tags/v${DYSCO_VERSION} && \
mkdir build && \
cd build && \
cmake -DCMAKE_INSTALL_PREFIX=${INSTALLDIR}/dysco/ -DCASACORE_ROOT_DIR=${INSTALLDIR}/casacore/ ../ && \
make -j 4 && \
make install && \
#mkdir -p ${INSTALLDIR}/dysco/lib/python${PYTHON_VERSION}/site-packages/ && \
#export PYTHONPATH=${INSTALLDIR}/dysco/lib/python${PYTHON_VERSION}/site-packages:${INSTALLDIR}/dysco/lib64/python${PYTHON_VERSION}/site-packages:$PYTHONPATH && \
apt-get -y purge git cmake g++ doxygen libboost-all-dev libgsl0-dev libhdf5-dev
ENV LD_LIBRARY_PATH=${INSTALLDIR}/dysco/lib:${LD_LIBRARY_PATH}
ENV PATH=${INSTALLDIR}/dysco/bin:${PATH}
#
# *******************
# LOFAR
# *******************
#
# Tell image build information
ENV LOFAR_BRANCH=${LOFAR_BRANCH_NAME} \
LOFAR_REVISION=${LOFAR_REVISION} \
LOFAR_BUILDVARIANT=gnucxx11_optarch
# Install
RUN apt-get update && apt-get install -y subversion cmake g++ gfortran bison flex liblog4cplus-dev libhdf5-dev libblitz0-dev libboost-dev libboost-python-dev python-dev libxml2-dev pkg-config libpng12-dev libfftw3-dev libunittest++-dev libxml++2.6-dev libgsl-dev libboost-filesystem${BOOST_VERSION}-dev libboost-date-time${BOOST_VERSION}-dev libboost-thread${BOOST_VERSION}-dev libboost-regex${BOOST_VERSION} binutils-dev libcfitsio3-dev wcslib-dev libopenblas-dev && \
mkdir -p ${INSTALLDIR}/lofar/build/${LOFAR_BUILDVARIANT} && \
cd ${INSTALLDIR}/lofar && \
svn --non-interactive -q co -r ${LOFAR_REVISION} -N ${LOFAR_BRANCH_URL} src; \
svn --non-interactive -q up src/CMake && \
cd ${INSTALLDIR}/lofar/build/${LOFAR_BUILDVARIANT} && cmake -DBUILD_PACKAGES=Offline -DBUILD_TESTING=OFF -DCMAKE_INSTALL_PREFIX=${INSTALLDIR}/lofar/ -DCASAREST_ROOT_DIR=${INSTALLDIR}/casarest/ -DCASACORE_ROOT_DIR=${INSTALLDIR}/casacore/ -DAOFLAGGER_ROOT_DIR=${INSTALLDIR}/aoflagger/ -DBDSF_ROOT_DIR=/opt/pybdsf/lib/python${PYTHON_VERSION}/site-packages/ -DQPID_ROOT_DIR=/opt/qpid/ -DUSE_OPENMP=True ${INSTALLDIR}/lofar/src/ && \
cd ${INSTALLDIR}/lofar/build/${LOFAR_BUILDVARIANT} && sed -i '29,31d' include/ApplCommon/PosixTime.h && \
cd ${INSTALLDIR}/lofar/build/${LOFAR_BUILDVARIANT} && make -j ${J} && \
cd ${INSTALLDIR}/lofar/build/${LOFAR_BUILDVARIANT} && make install && \
bash -c "mkdir -p ${INSTALLDIR}/lofar/var/{log,run}" && \
bash -c "chmod a+rwx ${INSTALLDIR}/lofar/var/{log,run}" && \
bash -c "strip ${INSTALLDIR}/lofar/{bin,sbin,lib64}/* || true" && \
bash -c "rm -rf ${INSTALLDIR}/lofar/{build,src}" && \
apt-get purge -y subversion cmake g++ gfortran bison flex liblog4cplus-dev libhdf5-dev libblitz0-dev libboost-dev libboost-python-dev python-dev libxml2-dev pkg-config libpng12-dev libfftw3-dev libunittest++-dev libxml++2.6-dev libgsl-dev libboost-filesystem${BOOST_VERSION}-dev libboost-date-time${BOOST_VERSION}-dev libboost-thread${BOOST_VERSION}-dev binutils-dev libcfitsio3-dev wcslib-dev libopenblas-dev && \
apt-get autoremove -y --purge
# install additional bashrc files
COPY ["bashrc.d", "${INSTALLDIR}/bashrc.d/"]