Skip to content
Snippets Groups Projects
Commit 4066791a authored by Giuliano Taffoni's avatar Giuliano Taffoni
Browse files

Build for inaf docker registry and optimized dockerfile

parent 20a8ba84
No related branches found
No related tags found
No related merge requests found
-----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-----
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
......
#!/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 .
#!/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 .
#!/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}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment