FROM lofar/lofar-pipeline:LOFAR-Release-4_0_16 #Package dependencies COPY apt.sources.list /etc/apt/sources.list # Support large mlocks RUN echo "* - memlock unlimited" > /etc/security/limits.conf ENV DEBIAN_FRONTEND noninteractive ENV DEBIAN_PRIORITY critical ENV GNUCOMPILER 7 ENV DEB_SETUP_DEPENDENCIES \ dpkg-dev \ g++-$GNUCOMPILER \ gcc-$GNUCOMPILER \ libc-dev \ cmake \ gfortran-$GNUCOMPILER \ git \ wget \ subversion ENV DEB_DEPENCENDIES \ python3-pip \ libfftw3-dev \ python3-numpy \ libfreetype6 \ libfreetype6-dev \ libpng-dev \ pkg-config \ python3-dev \ libboost-all-dev \ libcfitsio-dev \ libhdf5-dev \ wcslib-dev \ libatlas-base-dev \ liblapack-dev \ python3-tk \ libreadline6-dev \ subversion \ liblog4cplus-dev \ libhdf5-dev \ libncurses5-dev \ libsofa1-dev \ flex \ bison \ libbison-dev \ # Reference image generation dependencies make RUN apt-get update RUN apt-get install -y $DEB_SETUP_DEPENDENCIES RUN apt-get install -y $DEB_DEPENCENDIES ENV PATH /usr/local/bin:$PATH ENV LD_LIBRARY_PATH /usr/local/lib:$LD_LIBRARY_PATH ENV PYTHONPATH /usr/local/lib/python2.7/site-packages:$PYTHONPATH # Latest GCC segfaults when compiling casacore RUN rm /usr/bin/gcc /usr/bin/g++ /usr/bin/cpp /usr/bin/cc RUN ln -s /usr/bin/gcc-$GNUCOMPILER /usr/bin/gcc RUN ln -s /usr/bin/g++-$GNUCOMPILER /usr/bin/g++ RUN ln -s /usr/bin/gcc-$GNUCOMPILER /usr/bin/cc RUN ln -s /usr/bin/g++-$GNUCOMPILER /usr/bin/cpp RUN ln -s /usr/bin/gfortran-$GNUCOMPILER /usr/bin/gfortran ##################################################################### ## BUILD DDF FROM SOURCE ##################################################################### #Copy DDFacet and SkyModel into the image ADD DDFacet/DDFacet /opt/DDFacet/DDFacet ADD DDFacet/SkyModel /opt/DDFacet/SkyModel ADD DDFacet/MANIFEST.in /opt/DDFacet/MANIFEST.in ADD DDFacet/setup.py /opt/DDFacet/setup.py ADD DDFacet/setup.cfg /opt/DDFacet/setup.cfg ADD DDFacet/README.rst /opt/DDFacet/README.rst ADD DDFacet/pyproject.toml /opt/DDFacet/pyproject.toml ADD DDFacet/.git /opt/DDFacet/.git ADD DDFacet/.gitignore /opt/DDFacet/.gitignore ADD DDFacet/.gitmodules /opt/DDFacet/.gitmodules # Finally install DDFacet RUN rm -rf /opt/DDFacet/DDFacet/cbuild RUN pip3 install -U pip setuptools wheel RUN python3 -m pip install pybind11 RUN python3 -m pip install tensorflow==1.8.0 RUN python3 -m pip install -U "/opt/DDFacet/[dft-support,moresane-support,testing-requirements,fits-beam-support]" RUN cd /opt/DDFacet/ && python3 setup.py build && cd / # Set MeqTrees Cattery path to installation directory ENV MEQTREES_CATTERY_PATH /usr/local/lib/python3.6/dist-packages/Cattery/ ENV PYTHONPATH $MEQTREES_CATTERY_PATH:$PYTHONPATH RUN python3 -m pip install numpy==1.17.0 RUN python3 -c "import Siamese" RUN python3 -c "import bdsf" # perform some basic tests RUN DDF.py --help RUN MakeMask.py --help RUN MakeCatalog.py --help RUN MakeModel.py --help RUN MaskDicoModel.py --help RUN ClusterCat.py --help ##################################################################### ## killMs ##################################################################### ADD killMS /opt/killMS RUN pip3 install /opt/killMS RUN cd /opt/killMS; python3 setup.py build ##################################################################### ## DDF-PIPELINE ##################################################################### RUN pip3 install pyregion sshtunnel pymysql RUN cd /opt; git clone https://github.com/mhardcastle/ddf-pipeline RUN sed -e "s|INSTALLDIR|/opt|" /opt/ddf-pipeline/misc/DDF.sh > /opt/DDFacet/init.sh RUN cd /opt && git clone https://www.ict.inaf.it/gitlab/lofarit/container-data.git ENV DDF_PIPELINE_CATALOGS='/opt/container-data/bootstrap-cats/' ENV CONTAINER_NAME='ddfacet_ssd-py3_kms-lofar-release-4_0_16'