Code owners
Assign users and groups as approvers for specific file changes. Learn more.
Dockerfile.tmpl 11.88 KiB
#
# base
#
# Allow to specify a specific base image version.
ARG LOFAR_BASE_IMAGE_VERSION=latest
FROM lofar-base:${LOFAR_BASE_IMAGE_VERSION}
ENV LOFAR_BASE_IMAGE_VERSION=${LOFAR_BASE_IMAGE_VERSION}
# Add build date to the environment
ARG DOCKER_IMAGE_BUILD_DATE="The build date has to be set by a --build-arg parameter!"
ENV DOCKER_IMAGE_BUILD_DATE=${DOCKER_IMAGE_BUILD_DATE}
# Allow to specify the LOFAR branch at build time of the image.
# Use master as the default if nothing is specified.
ARG LOFAR_VERSION=latest
ENV LOFAR_VERSION=${LOFAR_VERSION}
ENV AOFLAGGER_VERSION=v2.14.0 \
PYBDSF_VERSION=v1.9.0 \
DYSCO_VERSION=v1.2 \
BLITZ_VERSION=1.0.1 \
LIBLAPACK_VERSION=3 \
LIBLOG4CPLUS_VERSION=1.1-9 \
LIBSIGCPP_VERSION=2.0 \
LIBXMLPP_VERSION=2.6 \
LIBGSL_VERSION=23 \
LIBPQXX_VERSION=4.0v5 \
DAL_VERSION=v3.3.1 \
XMLRUNNER_VERSION=1.7.7 \
MONETDB_VERSION=11.19.3.2
# Run-time dependencies
RUN aptitude install -y liblog4cplus-${LIBLOG4CPLUS_VERSION} libxml2-utils libpng-tools libsigc++-${LIBSIGCPP_VERSION}-0v5 libxml++${LIBXMLPP_VERSION}-2v5 libgsl${LIBGSL_VERSION} openssh-client gettext-base rsync python3-matplotlib ipython3 libhdf5-${LIBHDF5_VERSION} libcfitsio-bin libwcs5 && \
aptitude clean && \
aptitude autoclean
# Install
RUN export BUILD_PACKAGES="python3-pip python3-dev python3-setuptools liblog4cplus-dev libpng-dev libsigc++-${LIBSIGCPP_VERSION}-dev libxml++${LIBXMLPP_VERSION}-dev libgsl-dev libcfitsio-dev wcslib-dev libhdf5-dev" && \
aptitude install -y ${BUILD_PACKAGES} && \
pip3 install xmlrunner==${XMLRUNNER_VERSION} python-monetdb==${MONETDB_VERSION} && \
aptitude purge -y ${BUILD_PACKAGES} && \
aptitude clean && \
aptitude autoclean
#
# *******************
# PyBDSF
# *******************
#
# 2018-05-30, Thomas:
# ATTENTION! PyBDSF <= 1.8.14 needs Boost < 1.65!
# There is an unresolved symbol thing when importing bdsf in Python:
#
# root@768bb78135d4:/# PYTHONPATH=/opt/pybdsf/lib/python2.7/site-packages/ python
# Python 2.7.15rc1 (default, Apr 15 2018, 21:51:34) [GCC 7.3.0] on linux2
# Type "help", "copyright", "credits" or "license" for more information.
# >>> import bdsf
# Traceback (most recent call last):
# File "<stdin>", line 1, in <module>
# File "/opt/pybdsf/lib/python2.7/site-packages/bdsf-1.8.14-py2.7-linux-x86_64.egg/bdsf/__init__.py", line 19, in <module>
# from collapse import Op_collapse
# File "/opt/pybdsf/lib/python2.7/site-packages/bdsf-1.8.14-py2.7-linux-x86_64.egg/bdsf/collapse.py", line 10, in <module>
# import _cbdsm
# ImportError: /opt/pybdsf/lib/python2.7/site-packages/bdsf-1.8.14-py2.7-linux-x86_64.egg/bdsf/_cbdsm.so: undefined symbol: _ZN5boost6python5numpy6detail13get_int_dtypeILi64ELb0EEENS1_5dtypeEv
# >>>
#
# Run-time dependencies