Commit 4066791a authored by Giuliano Taffoni's avatar Giuliano Taffoni
Browse files

Build for inaf docker registry and optimized dockerfile

parent 20a8ba84
Loading
Loading
Loading
Loading

vlbi/DigiCertCA.crt

0 → 100644
+29 −0
Original line number Diff line number Diff line
-----BEGIN CERTIFICATE-----
MIIE+zCCA+OgAwIBAgIQCHC8xa8/25Wakctq7u/kZTANBgkqhkiG9w0BAQsFADBl
MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3
d3cuZGlnaWNlcnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJv
b3QgQ0EwHhcNMTQxMTE4MTIwMDAwWhcNMjQxMTE4MTIwMDAwWjBkMQswCQYDVQQG
EwJOTDEWMBQGA1UECBMNTm9vcmQtSG9sbGFuZDESMBAGA1UEBxMJQW1zdGVyZGFt
MQ8wDQYDVQQKEwZURVJFTkExGDAWBgNVBAMTD1RFUkVOQSBTU0wgQ0EgMzCCASIw
DQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMV2Dw/ZQyk7bG3RR63eEL8jwnio
Snc18SNb4EweQefCMQC9iDdFdd25AhCAHo/tZCMERaegOTuBTc9jP8JJ/yKeiLDS
lrlcinQfkioq8hLIt2hUtVhBgUBoBhpPhSn7tU08D08/QJYbzqjMXjX/ZJj1dd10
VAWgNhEEEiRVY++Udy538RV27tOkWUUhn6i+0SftCuirOMo/h9Ha8Y+5Cx9E5+Ct
85XCFk3shKM6ktTPxn3mvcsaQE+zVLHzj28NHuO+SaNW5Ae8jafOHbBbV1bRxBz8
mGXRzUYvkZS/RYVJ+G1ShxwCVgEnFqtyLvRx5GG1IKD6JmlqCvGrn223zyUCAwEA
AaOCAaYwggGiMBIGA1UdEwEB/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgGGMHkG
CCsGAQUFBwEBBG0wazAkBggrBgEFBQcwAYYYaHR0cDovL29jc3AuZGlnaWNlcnQu
Y29tMEMGCCsGAQUFBzAChjdodHRwOi8vY2FjZXJ0cy5kaWdpY2VydC5jb20vRGln
aUNlcnRBc3N1cmVkSURSb290Q0EuY3J0MIGBBgNVHR8EejB4MDqgOKA2hjRodHRw
Oi8vY3JsMy5kaWdpY2VydC5jb20vRGlnaUNlcnRBc3N1cmVkSURSb290Q0EuY3Js
MDqgOKA2hjRodHRwOi8vY3JsNC5kaWdpY2VydC5jb20vRGlnaUNlcnRBc3N1cmVk
SURSb290Q0EuY3JsMD0GA1UdIAQ2MDQwMgYEVR0gADAqMCgGCCsGAQUFBwIBFhxo
dHRwczovL3d3dy5kaWdpY2VydC5jb20vQ1BTMB0GA1UdDgQWBBRn/YggFCeYxwnS
JRm76VERY3VQYjAfBgNVHSMEGDAWgBRF66Kv9JLLgjEtUYunpyGd823IDzANBgkq
hkiG9w0BAQsFAAOCAQEAqSg1esR71tonHqyYzyc2TxEydHTmQN0dzfJodzWvs4xd
xgS/FfQjZ4u5b5cE60adws3J0aSugS7JurHogNAcyTnBVnZZbJx946nw09E02DxJ
WYsamM6/xvLYMDX/6W9doK867mZTrqqMaci+mqege9iCSzMTyAfzd9fzZM2eY/lC
J1OuEDOJcjcV8b73HjWizsMt8tey5gvHacDlH198aZt+ziYaM0TDuncFO7pdP0GJ
+hY77gRuW6xWS++McPJKe1e9GW6LNgdUJi2GCZQfXzer8CM/jyxflp5HcahE3qm5
hS+1NGClXwmgmkMd1L8tRNaN2v11y18WoA5hwnA9Ng==
-----END CERTIFICATE-----
+67 −56
Original line number Diff line number Diff line
FROM morgan1971/vlbi-base:0.0.1
FROM git.ia2.inaf.it:5050/lofarit/containers/vlbi-inaf-base:latest
MAINTAINER Giuliano Taffoni <giuliano.taffoni@inaf.it>
ENV CONTAINER_NAME='lovarVLBISoftware'

USER root


ENV J=40
ENV INSTALLDIR=/opt/lofar
#
# Environmental variables
#
ENV PYTHON_VERSION=2.7
# Path to where the patch for python-casacore's setup is stored.
ENV PYTHON_CASACORE_PATCH=$INSTALLDIR/python-casacore/python_casacore_setup_patch.patch
@@ -42,38 +41,53 @@ ENV WSCLEAN_VERSION=latest
ENV WCSLIB_VERSION=6.4
ENV HDF5_USE_FILE_LOCKING=FALSE

# Symlinks required for Fedora 31
RUN ln -s /usr/lib64/libboost_python37.so /usr/lib64/libboost_python3.so
RUN ln -s /usr/lib64/libboost_numpy37.so /usr/lib64/libboost_numpy3.so
RUN ln -s /usr/lib64/libboost_python27.so /usr/lib64/libboost_python.so
RUN ln -s /usr/lib64/libboost_numpy27.so /usr/lib64/libboost_numpy.so
RUN ln -s /usr/lib64/libnsl.so.2.0.0 /usr/lib64/libnsl.so

#
# Setup the compiliong enviroment 
# Setup the compiling enviroment 
#

#ARG CFLAGS="-mno-avx512f -mno-avx512pf -mno-avx512er -mno-avx512cd -mno-avx512vl -mno-avx512bw -mno-avx512dq -mno-avx512ifma -mno-avx512vbmi"
#ARG CXXFLAGS="-std=c++11 -mno-avx512f -mno-avx512pf -mno-avx512er -mno-avx512cd -mno-avx512vl -mno-avx512bw -mno-avx512dq -mno-avx512ifma -mno-avx512vbmi"
# Use below to optimize for a specific architecture
#export CFLAGS="-march=skylake-avx512 -mtune=skylake-avx512"
#export CXXFLAGS="-march=skylake-avx512 -mtune=skylake-avx512"
ARG CMAKE_C_COMPILER=/usr/bin/gcc
ARG CMAKE_CXX_COMPILER=/usr/bin/g++
ARG CC_GLOBAL=/usr/bin/gcc
ARG CXX_GLOBAL=/usr/bin/g++
ARG MPICC=/usr/lib64/openmpi/bin/mpicc
ARG MPICXX=/usr/lib64/openmpi/bin/mpic++
ARG CFLAGS_GLOBAL="-mno-avx512f -mno-avx512pf -mno-avx512er -mno-avx512cd -mno-avx512vl -mno-avx512bw -mno-avx512dq -mno-avx512ifma -mno-avx512vbmi"
ARG CXXFLAGS_GLOBAL="-std=c++11 -mno-avx512f -mno-avx512pf -mno-avx512er -mno-avx512cd -mno-avx512vl -mno-avx512bw -mno-avx512dq -mno-avx512ifma -mno-avx512vbmi"
ARG CASA_CXXFLAGS
ARG CASA_CFLAGS
ARG CPLUS_INCLUDE_PATH="/usr/include/openmpi-x86_64:/usr/include/c++/9:$CPLUS_INCLUDE_PATH:/usr/include/python2.7:$INSTALLDIR/casacore/include:/usr/include/boost:/usr/include/cfitsio:$INSTALLDIR/EveryBeam/include"
ARG CPATH="/usr/include/openmpi-x86_64/:/opt/intel/mkl/include:${INSTALLDIR}/casacore/include:$INSTALLDIR/LOFARBeam/include:$INSTALLDIR/idg/include:$INSTALLDIR/aoflagger/include:$INSTALLDIR/EveryBeam/include:$CPATH"
ARG CMAKE_PREFIX_PATH="$INSTALLDIR/aoflagger:$INSTALLDIR/casacore:$INSTALLDIR/lofar:$INSTALLDIR/LOFARBeam:/usr/lib64/openmpi:$INSTALLDIR/EveryBeam"
ARG LD_LIBRARY_PATH="$INSTALLDIR/aoflagger/lib:$INSTALLDIR/casacore/lib:$INSTALLDIR/idg/lib:$INSTALLDIR/LOFARBeam/lib:/usr/lib64/openmpi/lib/:$INSTALLDIR/EveryBeam/lib:LD_LIBRARY_PATH"
ARG PATH="/usr/lib64/openmpi/bin:$PATH"
#ARG  make=`which make`
ARG OLD_PYTHONPATH=$PYTHONPATH

ARG NCORES=40
ARG INSTALLDIR=/opt/lofar

#
# Env to set at building
#
ENV CC=${CC_GLOBAL}
ENV CXX=${CXX_GLOBAL}
ENV CFLAGS=${CFLAGS_GLOBAL}
ENV CXXFLAGS=${CXXFLAGS_GLOBAL}
#

#
# Symlinks required for Fedora 31
#
RUN ln -s /usr/lib64/libboost_python37.so /usr/lib64/libboost_python3.so
RUN ln -s /usr/lib64/libboost_numpy37.so /usr/lib64/libboost_numpy3.so
RUN ln -s /usr/lib64/libboost_python27.so /usr/lib64/libboost_python.so
RUN ln -s /usr/lib64/libboost_numpy27.so /usr/lib64/libboost_numpy.so
RUN ln -s /usr/lib64/libnsl.so.2.0.0 /usr/lib64/libnsl.so

#
# Setup the Python environment.
#
RUN    wget https://raw.githubusercontent.com/tikk3r/lofar-grid-hpccloud/fedora/requirements.txt -O $INSTALLDIR/requirements.txt
RUN    wget https://raw.githubusercontent.com/tikk3r/lofar-grid-hpccloud/fedora/requirements3.txt -O $INSTALLDIR/requirements3.txt
RUN    pip install xmlrunner
RUN    pip3 install xmlrunner
RUN    pip install xmlrunner && pip3 install xmlrunner
RUN    echo lofar-h5plot >> $INSTALLDIR/requirements3.txt  
RUN    pip --no-cache-dir install "virtualenv<20"
RUN    virtualenv $INSTALLDIR/pyenv-py3 --python=python3
@@ -88,7 +102,7 @@ RUN source $INSTALLDIR/pyenv-py2/bin/activate && export HDF5_VERSION=1.10.5 &
# Install Montage
#
RUN    mkdir -p /opt/montage && cd /opt/montage && wget https://github.com/Caltech-IPAC/Montage/archive/v6.0.tar.gz -O Montage_v6.0.tar.gz && \ 
	tar xf Montage_v6.0.tar.gz && cd Montage-6.0 && make -j $J
	tar xf Montage_v6.0.tar.gz && cd Montage-6.0 && make -j $NCORES

#
# Install difmap
@@ -105,43 +119,44 @@ RUN rm -rf $INSTALLDIR/difmap/*.tar.gz
#
# Install PyBDSF
#
#ARG CFLAGS="-mno-avx512f -mno-avx512pf -mno-avx512er -mno-avx512cd -mno-avx512vl -mno-avx512bw -mno-avx512dq -mno-avx512ifma -mno-avx512vbmi"
ENV CFLAGS=${CFLAGS_GLOBAL}
RUN  mkdir -p ${INSTALLDIR}/pybdsf && cd ${INSTALLDIR}/pybdsf && git clone https://github.com/lofar-astron/pybdsf pybdsf
RUN  if [ "${PYBDSF_VERSION}" != "latest" ]; then cd ${INSTALLDIR}/pybdsf/pybdsf && git checkout ${PYBDSF_VERSION}; fi

RUN cd ${INSTALLDIR}/pybdsf/pybdsf && python setup.py install
RUN cd $INSTALLDIR && rm -rf $INSTALLDIR/pybdsf/pybdsf
RUN cd ${INSTALLDIR}/pybdsf/pybdsf && python setup.py install && cd $INSTALLDIR && rm -rf $INSTALLDIR/pybdsf/pybdsf


#
# Install CASAcore
#
# Casacore 2.4.1 does not seem to deal well with AVX512 instructions, so disable them if needed
#export CFLAGS="-march=skylake -mtune=skylake -mno-avx512f"
#export CXXFLAGS="-march=skylake -mtune=skylake -mno-avx512f"
RUN mkdir -p ${INSTALLDIR}/casacore/build && mkdir -p ${INSTALLDIR}/casacore/data
RUN cd $INSTALLDIR/casacore && git clone https://github.com/casacore/casacore.git src
RUN if [ "${CASACORE_VERSION}" != "latest" ]; then cd ${INSTALLDIR}/casacore/src && git checkout tags/${CASACORE_VERSION}; fi
ENV CFLAGS=$CASA_CFLAGS
ENV CXXFLAGS=$CASA_CXXFLAGS
RUN mkdir -p ${INSTALLDIR}/casacore/build && mkdir -p ${INSTALLDIR}/casacore/data && \
    cd $INSTALLDIR/casacore && git clone https://github.com/casacore/casacore.git src && \
    if [ "${CASACORE_VERSION}" != "latest" ]; then cd ${INSTALLDIR}/casacore/src && git checkout tags/${CASACORE_VERSION}; fi
# Backport patch UVFITS for LOFAR. This is fixed in recent versions > May 26 2020
# wget https://patch-diff.githubusercontent.com/raw/casacore/casacore/pull/1033.patch -O $INSTALLDIR/casacore/1033.patch
# cd $INSTALLDIR/casacore/src && patch --fuzz 3 -p1 < $INSTALLDIR/casacore/1033.patch
RUN cd ${INSTALLDIR}/casacore/data && wget --retry-connrefused ftp://anonymous@ftp.astron.nl/outgoing/Measures/WSRT_Measures.ztar
RUN cd ${INSTALLDIR}/casacore/data && tar xf WSRT_Measures.ztar && rm WSRT_Measures.ztar
RUN cd ${INSTALLDIR}/casacore/build && cmake -DCMAKE_INSTALL_PREFIX=${INSTALLDIR}/casacore/ -DDATA_DIR=${INSTALLDIR}/casacore/data -DBUILD_PYTHON=True -DUSE_OPENMP=True -DUSE_FFTW3=TRUE -DUSE_HDF5=True -DBUILD_PYTHON3=False ../src/ 
RUN cd ${INSTALLDIR}/casacore/build && make -s -j ${J} && make install
RUN cd $INSTALLDIR && rm -rf $INSTALLDIR/casacore/build && rm -rf $INSTALLDIR/casacore/src
RUN cd ${INSTALLDIR}/casacore/data && wget --retry-connrefused ftp://anonymous@ftp.astron.nl/outgoing/Measures/WSRT_Measures.ztar && \
    cd ${INSTALLDIR}/casacore/data && tar xf WSRT_Measures.ztar && rm WSRT_Measures.ztar && \
    cd ${INSTALLDIR}/casacore/build && cmake -DCMAKE_INSTALL_PREFIX=${INSTALLDIR}/casacore/ -DDATA_DIR=${INSTALLDIR}/casacore/data -DBUILD_PYTHON=True -DUSE_OPENMP=True -DUSE_FFTW3=TRUE -DUSE_HDF5=True -DBUILD_PYTHON3=False ../src/ 
RUN cd ${INSTALLDIR}/casacore/build && make -s -j ${NCORES} && make install && cd $INSTALLDIR && rm -rf $INSTALLDIR/casacore/build && rm -rf $INSTALLDIR/casacore/src

#
# Install Python-CASAcore
#

RUN mkdir ${INSTALLDIR}/python-casacore && cd ${INSTALLDIR}/python-casacore && git clone https://github.com/casacore/python-casacore
RUN if [ "$PYTHON_CASACORE_VERSION" != "latest" ]; then cd ${INSTALLDIR}/python-casacore/python-casacore && git checkout tags/${PYTHON_CASACORE_VERSION}; fi
RUN mkdir ${INSTALLDIR}/python-casacore && cd ${INSTALLDIR}/python-casacore && git clone https://github.com/casacore/python-casacore && \
    if [ "$PYTHON_CASACORE_VERSION" != "latest" ]; then cd ${INSTALLDIR}/python-casacore/python-casacore && git checkout tags/${PYTHON_CASACORE_VERSION}; fi
RUN source $INSTALLDIR/pyenv-py2/bin/activate && cd ${INSTALLDIR}/python-casacore/python-casacore && python setup.py build_ext -I${INSTALLDIR}/casacore/include/:/usr/include/python2.7:/usr/include/cfitsio -L${INSTALLDIR}/casacore/lib/:/usr/lib64/ && python setup.py install #--prefix=${INSTALLDIR}/python-casacore/
RUN cd $INSTALLDIR && rm -rf $INSTALLDIR/python-casacore/python-casacore 
# and then reset the flags again if needed
#export CFLAGS="-march=skylake-avx512 -mtune=skylake-avx512"
#export CXXFLAGS="-march=skylake-avx512 -mtune=skylake-avx512"

# 
# reset to global
#
ENV CFLAGS=${CFLAGS_GLOBAL}
ENV CXXFLAGS=${CXXFLAGS_GLOBAL}

#
# Install Dysco
@@ -149,7 +164,7 @@ RUN cd $INSTALLDIR && rm -rf $INSTALLDIR/python-casacore/python-casacore
RUN mkdir -p $INSTALLDIR/dysco/build
RUN cd $INSTALLDIR/dysco && git clone https://github.com/aroffringa/dysco.git src && cd src
RUN if [ "$DYSCO_VERSION" != "latest" ]; then cd $INSTALLDIR/dysco/src && git checkout $DYSCO_VERSION; fi
RUN cd $INSTALLDIR/dysco/build && cmake -DCMAKE_INSTALL_PREFIX=$INSTALLDIR/dysco -DCASACORE_ROOT_DIR=$INSTALLDIR/casacore -DPORTABLE=True ../src && make -s -j $J && make install
RUN cd $INSTALLDIR/dysco/build && cmake -DCMAKE_INSTALL_PREFIX=$INSTALLDIR/dysco -DCASACORE_ROOT_DIR=$INSTALLDIR/casacore -DPORTABLE=True ../src && make -s -j ${NCORES} && make install
RUN cd $INSTALLDIR && rm -rf $INSTALLDIR/dysco/build && rm -rf $INSTALLDIR/dysco/src

#
@@ -158,7 +173,7 @@ RUN cd $INSTALLDIR && rm -rf $INSTALLDIR/dysco/build && rm -rf $INSTALLDIR/dysco
RUN mkdir -p ${INSTALLDIR}/aoflagger/build &&  cd ${INSTALLDIR}/aoflagger && git clone git://git.code.sf.net/p/aoflagger/code aoflagger && cd ${INSTALLDIR}/aoflagger/aoflagger
RUN if [ "${AOFLAGGER_VERSION}" != "latest" ]; then cd ${INSTALLDIR}/aoflagger/aoflagger &&  git checkout tags/${AOFLAGGER_VERSION}; fi
RUN source $INSTALLDIR/pyenv-py2/bin/activate && cd ${INSTALLDIR}/aoflagger/build && cmake -DCMAKE_INSTALL_PREFIX=${INSTALLDIR}/aoflagger/ -DCASACORE_ROOT_DIR=${INSTALLDIR}/casacore -DBUILD_SHARED_LIBS=ON -DPORTABLE=True ../aoflagger
RUN source $INSTALLDIR/pyenv-py2/bin/activate && cd ${INSTALLDIR}/aoflagger/build && make -s -j ${J}  && make install
RUN source $INSTALLDIR/pyenv-py2/bin/activate && cd ${INSTALLDIR}/aoflagger/build && make -s -j ${NCORES}  && make install
RUN cd $INSTALLDIR && rm -rf $INSTALLDIR/aoflagger/aoflagger && rm -rf $INSTALLDIR/aoflagger/build &&  rm -rf $INSTALLDIR/aoflagger/src

#
@@ -172,11 +187,7 @@ RUN cd $INSTALLDIR/lofar/ && wget https://raw.githubusercontent.com/tikk3r/lofar
	patch $INSTALLDIR/lofar/src/CMake/variants/GNUCXX11.cmake $PATCH_LOFAR && \
	cd ${INSTALLDIR}/lofar/build/gnucxx11_opt
    #cmake -DCMAKE_PREFIX_PATH=$INSTALLDIR/aoflagger:$INSTALLDIR/casacore:$INSTALLDIR/dysco -DBUILD_PACKAGES="StationResponse pystationresponse ParmDB pyparmdb Pipeline MS" -DCMAKE_INSTALL_PREFIX=$INSTALLDIR/lofar/ -DUSE_LOG4CPLUS=OFF -DUSE_OPENMP=True ${INSTALLDIR}/lofar/src/
ARG CMAKE_C_COMPILER=/usr/bin/gcc
ARG CMAKE_CXX_COMPILER=/usr/bin/g++
ARG CC=/usr/bin/gcc
ARG CXX=/usr/bin/g++
RUN source $INSTALLDIR/pyenv-py2/bin/activate && cd ${INSTALLDIR}/lofar/build/gnucxx11_opt && CC=/usr/bin/gcc && CXX=/usr/bin/g++ && cmake -DCMAKE_PREFIX_PATH=$INSTALLDIR/aoflagger:$INSTALLDIR/casacore:$INSTALLDIR/dysco -DBUILD_PACKAGES="Pipeline" -DCMAKE_INSTALL_PREFIX=$INSTALLDIR/lofar/ -DUSE_LOG4CPLUS=OFF -DUSE_OPENMP=True -DBUILD_PYTHON3=OFF ${INSTALLDIR}/lofar/src/ && make -s -j $J && make install
RUN source $INSTALLDIR/pyenv-py2/bin/activate && cd ${INSTALLDIR}/lofar/build/gnucxx11_opt && cmake -DCMAKE_PREFIX_PATH=$INSTALLDIR/aoflagger:$INSTALLDIR/casacore:$INSTALLDIR/dysco -DBUILD_PACKAGES="Pipeline" -DCMAKE_INSTALL_PREFIX=$INSTALLDIR/lofar/ -DUSE_LOG4CPLUS=OFF -DUSE_OPENMP=True -DBUILD_PYTHON3=OFF ${INSTALLDIR}/lofar/src/ && make -s -j ${NCORES} && make install
RUN cd $INSTALLDIR && rm -rf $INSTALLDIR/lofar/build && rm -rf $INSTALLDIR/lofar/src

#
@@ -192,7 +203,7 @@ RUN cd $INSTALLDIR && rm -rf $INSTALLDIR/msoverview
# Install the standalone StationResponse libraries.
#   
RUN mkdir -p $INSTALLDIR/LOFARBeam/build && cd $INSTALLDIR/LOFARBeam && git clone https://github.com/lofar-astron/LOFARBeam.git src
RUN source $INSTALLDIR/pyenv-py2/bin/activate && cd $INSTALLDIR/LOFARBeam/build && cmake -DCMAKE_INSTALL_PREFIX=$INSTALLDIR/lofar ../src && make -j $J && make install
RUN source $INSTALLDIR/pyenv-py2/bin/activate && cd $INSTALLDIR/LOFARBeam/build && cmake -DCMAKE_INSTALL_PREFIX=$INSTALLDIR/lofar ../src && make -j ${NCORES} && make install
RUN touch /opt/lofar/lofar/lib64/python2.7/site-packages/lofar/__init__.py
RUN cd $INSTALLDIR && rm -rf $INSTALLDIR/LOFARBeam/build && rm -rf $INSTALLDIR/LOFARBeam/src

@@ -203,14 +214,14 @@ RUN mkdir -p $INSTALLDIR/EveryBeam/build && cd $INSTALLDIR/EveryBeam && git clon
    cd src && git checkout $EVERYBEAM_VERSION && \
    cd $INSTALLDIR/EveryBeam/build && \
    cmake -DCMAKE_INSTALL_PREFIX=$INSTALLDIR/EveryBeam ../src && \
    make -j $J && make install
    make -j ${NCORES} && make install

#
# Install DPPP
#
RUN mkdir -p $INSTALLDIR/DPPP/build && git clone https://github.com/lofar-astron/DP3.git $INSTALLDIR/DPPP/src && \ 
    cd $INSTALLDIR/DPPP/src && git checkout tags/${DPPP_VERSION}
RUN cd $INSTALLDIR/DPPP/build && cmake3 -DCMAKE_CXX_FLAGS="-D_GLIB_USE_CXX_ABI=1 -DBOOST_NO_CXX11_SCOPED_ENUMS" -DCMAKE_INSTALL_PREFIX:PATH=$INSTALLDIR/DPPP -DLOFAR_STATION_RESPONSE_DIR:PATH=$INSTALLDIR/lofar/include -DLOFAR_STATION_RESPONSE_LIB:FILEPATH=$INSTALLDIR/lofar/lib/libstationresponse.so -DIDGAPI_LIBRARIES=$INSTALLDIR/idg/lib/libidg-api.so -DIDGAPI_INCLUDE_DIRS=$INSTALLDIR/idg/include -DAOFLAGGER_INCLUDE_DIR=$INSTALLDIR/aoflagger/include -DAOFLAGGER_LIB=$INSTALLDIR/aoflagger/lib/libaoflagger.so ../src && make -s -j $J && make install
RUN cd $INSTALLDIR/DPPP/build && cmake3 -DCMAKE_CXX_FLAGS="-D_GLIB_USE_CXX_ABI=1 -DBOOST_NO_CXX11_SCOPED_ENUMS" -DCMAKE_INSTALL_PREFIX:PATH=$INSTALLDIR/DPPP -DLOFAR_STATION_RESPONSE_DIR:PATH=$INSTALLDIR/lofar/include -DLOFAR_STATION_RESPONSE_LIB:FILEPATH=$INSTALLDIR/lofar/lib/libstationresponse.so -DIDGAPI_LIBRARIES=$INSTALLDIR/idg/lib/libidg-api.so -DIDGAPI_INCLUDE_DIRS=$INSTALLDIR/idg/include -DAOFLAGGER_INCLUDE_DIR=$INSTALLDIR/aoflagger/include -DAOFLAGGER_LIB=$INSTALLDIR/aoflagger/lib/libaoflagger.so ../src && make -s -j ${NCORES} && make install
RUN cd $INSTALLDIR && rm -rf $INSTALLDIR/DPPP/build && rm -rf $INSTALLDIR/DPPP/src

############################################
@@ -266,16 +277,16 @@ RUN cd $INSTALLDIR && rm -rf $INSTALLDIR/losoto
RUN mkdir $INSTALLDIR/wsclean && cd ${INSTALLDIR}/wsclean && git clone https://gitlab.com/aroffringa/wsclean.git && \ 
    if [ "$WSCLEAN_VERSION" != "latest" ]; then cd ${INSTALLDIR}/wsclean/wsclean && git checkout $WSCLEAN_VERSION; fi
RUN cd ${INSTALLDIR}/wsclean/wsclean &&  mkdir build && cd build
ARG CC=/usr/lib64/openmpi/bin/mpicc
ARG CXX=/usr/lib64/openmpi/bin/mpic++
ENV CC=${MPICC}
ENV CXX=${MPICXX}
RUN source $INSTALLDIR/pyenv-py2/bin/activate  && cd ${INSTALLDIR}/wsclean/wsclean/build &&  cmake -DCMAKE_INSTALL_PREFIX=$INSTALLDIR/wsclean -DPORTABLE=True -DIDGAPI_LIBRARIES=$INSTALLDIR/idg/lib/libidg-api.so -DIDGAPI_INCLUDE_DIRS=$INSTALLDIR/idg/include .. && \
    make -j ${J} && \
    make -j ${NCORES} && \
    make install && \
    cd $INSTALLDIR && rm -rf $INSTALLDIR/wsclean/wsclean
#
# Switch back to normal compilers
ARG CC=/usr/bin/gcc
ARG CXX=/usr/bin/g++
ENV CC=${CC_GLOBAL}
ENV CXX=${CXX_GLOBAL}
#
#
# Install DS9
+6 −2
Original line number Diff line number Diff line
#!/bin/bash

if [ 'xxx${VERSION}' == 'xxx' ]; then
export SSL_CERT_FILE=${PWD}/DigiCertCA.crt

docker login git.ia2.inaf.it:5050

if [ "xxx${VERSION}" = "xxx" ]; then
   VERSION='latest'
fi



docker build -t morgan1971/vlbi-base:${VERSION} -f Dockerfile.base .
docker build -t git.ia2.inaf.it:5050/lofarit/containers/vlbi-inaf-base:${VERSION} -f Dockerfile.base .
+21 −2
Original line number Diff line number Diff line
#!/bin/bash

if [ 'xxx${VERSION}' == 'xxx' ]; then
if [ "xxx${VERSION}" = "xxx" ]; then
   VERSION='latest'
fi

export SSL_CERT_FILE=${PWD}/DigiCertCA.crt

docker login git.ia2.inaf.it:5050

docker build -t morgan1971/skadc-software:${VERSION} -f Dockerfile .
# Use below to optimize for a specific architecture
# docker build -t git.ia2.inaf.it:5050/lofarit/containers/vlbi-inaf-sw:${VERSION} --build-arg CFLAGS_GLOBAL="-march=skylake-avx512 -mtune=skylake-avx512" \
#         --build-arg CXXFLAGS_GLOBAL="-march=skylake-avx512 -mtune=skylake-avx512" -f Dockerfile .
#
# Default values
#
# CMAKE_C_COMPILER=/usr/bin/gcc
# CMAKE_CXX_COMPILER=/usr/bin/g++
# CC_GLOBAL=/usr/bin/gcc
# CXX_GLOBAL=/usr/bin/g++
# MPICC=/usr/lib64/openmpi/bin/mpicc
# MPICXX=/usr/lib64/openmpi/bin/mpic++
# CFLAGS_GLOBAL="-mno-avx512f -mno-avx512pf -mno-avx512er -mno-avx512cd -mno-avx512vl -mno-avx512bw -mno-avx512dq -mno-avx512ifma -mno-avx512vbmi"
# CXXFLAGS_GLOBAL="-std=c++11 -mno-avx512f -mno-avx512pf -mno-avx512er -mno-avx512cd -mno-avx512vl -mno-avx512bw -mno-avx512dq -mno-avx512ifma -mno-avx512vbmi"
# CASA_CXXFLAGS
# CASA_CFLAGS


docker build -t git.ia2.inaf.it:5050/lofarit/containers/vlbi-inaf-sw:${VERSION} -f Dockerfile .
+26 −0
Original line number Diff line number Diff line
#!/bin/bash
#
# This Script allows to execute the container using singularity
# in an isolated enviroment, home directory and tmp are not
# shared directly and removed at the end of the run, persistent data 
# is saved in /data 
#
# author <giuliano.taffoni@inaf.it>
#

export CONTAINER_NAME=git.ia2.inaf.it:5050/lofarit/containers/vlbi-inaf-sw
export CONTAINER_VERSION=0.1.0
export BASE_PORT=
if [ 'XXX'$1 = 'XXX' ]; then
    COMMAND=
else
    COMMAND=$1
fi

export SINGULARITYENV_AUTH_USER=testpass

HOMEDIR=`mktemp -d -t singularity_XXXXXXX`
mkdir $HOMEDIR/tmp
mkdir $HOMEDIR/home
singularity run  --pid --no-home --home=/home/skauser --workdir ${HOMEDIR}/tmp -B${HOMEDIR}:/home/ -B`pwd`:/data --containall --cleanenv docker://${CONTAINER_NAME}:${CONTAINER_VERSION} $COMMAND
rm -fr ${HOMEDIR}