Skip to content
Snippets Groups Projects
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