Commit b37a7903 authored by David Blyth's avatar David Blyth

Updated base image, G4, ROOT, and moved to clang as main compiler

parent 8c384cee
# Author: David Blyth # Author: David Blyth
# Description: Docker build for producing a base for ANL EIC software efforts # Description: Docker build for producing a base for ANL EIC software efforts
FROM dbcooper/arch:2017-05-02 FROM dbcooper/arch:2018-02-16
ARG BUILD_THREADS=5 ARG BUILD_THREADS=5
...@@ -20,14 +20,16 @@ WORKDIR /home/eicuser ...@@ -20,14 +20,16 @@ WORKDIR /home/eicuser
CMD /bin/bash CMD /bin/bash
# ROOT # ROOT
ENV ROOT_RELEASE=v6-10-06 ENV ROOT_RELEASE=v6-12-06 \
CC=/usr/bin/clang \
CXX=/usr/bin/clang++
RUN sudo pacman -S --noconfirm \ RUN sudo pacman -S --noconfirm \
awk \ awk \
binutils \ binutils \
clang \
cmake \ cmake \
fftw \ fftw \
gcc \
git \ git \
glew \ glew \
glu \ glu \
...@@ -41,7 +43,7 @@ RUN sudo pacman -S --noconfirm \ ...@@ -41,7 +43,7 @@ RUN sudo pacman -S --noconfirm \
python2 \ python2 \
&& sudo rm -rf /var/cache/pacman/pkg && sudo rm -rf /var/cache/pacman/pkg
RUN git clone https://github.com/root-project/root.git \ RUN git clone http://root.cern.ch/git/root.git \
&& cd root \ && cd root \
&& git checkout tags/$ROOT_RELEASE \ && git checkout tags/$ROOT_RELEASE \
&& cd .. \ && cd .. \
...@@ -51,7 +53,6 @@ RUN git clone https://github.com/root-project/root.git \ ...@@ -51,7 +53,6 @@ RUN git clone https://github.com/root-project/root.git \
-DCMAKE_INSTALL_PREFIX=/usr/local \ -DCMAKE_INSTALL_PREFIX=/usr/local \
-DCMAKE_BUILD_TYPE=Release \ -DCMAKE_BUILD_TYPE=Release \
-Dbuiltin_glew=OFF \ -Dbuiltin_glew=OFF \
-Dcxx14=ON \
-Dgdml=ON \ -Dgdml=ON \
-Dgsl_shared=ON \ -Dgsl_shared=ON \
-Dmathmore=ON \ -Dmathmore=ON \
...@@ -77,7 +78,7 @@ RUN git clone https://gitlab.cern.ch/CLHEP/CLHEP.git \ ...@@ -77,7 +78,7 @@ RUN git clone https://gitlab.cern.ch/CLHEP/CLHEP.git \
&& git checkout tags/$CLHEP_RELEASE \ && git checkout tags/$CLHEP_RELEASE \
&& mkdir build \ && mkdir build \
&& cd build \ && cd build \
&& CXXFLAGS=-std=c++14 cmake \ && cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/ \ -DCMAKE_INSTALL_PREFIX=/usr/local/ \
-DCMAKE_BUILD_TYPE=Release \ -DCMAKE_BUILD_TYPE=Release \
../ \ ../ \
...@@ -87,7 +88,7 @@ RUN git clone https://gitlab.cern.ch/CLHEP/CLHEP.git \ ...@@ -87,7 +88,7 @@ RUN git clone https://gitlab.cern.ch/CLHEP/CLHEP.git \
&& rm -rf CLHEP && rm -rf CLHEP
# GEANT4 # GEANT4
ENV GEANT4_RELEASE=v10.3.3 ENV GEANT4_VERSION=10.4.0
RUN sudo pacman -S --noconfirm \ RUN sudo pacman -S --noconfirm \
xerces-c \ xerces-c \
...@@ -95,13 +96,13 @@ RUN sudo pacman -S --noconfirm \ ...@@ -95,13 +96,13 @@ RUN sudo pacman -S --noconfirm \
RUN git clone https://github.com/Geant4/geant4.git \ RUN git clone https://github.com/Geant4/geant4.git \
&& cd geant4 \ && cd geant4 \
&& git checkout tags/$GEANT4_RELEASE \ && git checkout tags/v$GEANT4_VERSION \
&& mkdir build \ && mkdir build \
&& cd build \ && cd build \
&& cmake \ && cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/ \ -DCMAKE_INSTALL_PREFIX=/usr/local/ \
-DCMAKE_BUILD_TYPE=Release \ -DCMAKE_BUILD_TYPE=Release \
-DGEANT4_BUILD_CXXSTD=14 \ -DGEANT4_BUILD_MULTITHREADED=ON \
-DGEANT4_INSTALL_DATA=ON \ -DGEANT4_INSTALL_DATA=ON \
-DGEANT4_USE_GDML=ON \ -DGEANT4_USE_GDML=ON \
-DGEANT4_USE_SYSTEM_CLHEP=ON \ -DGEANT4_USE_SYSTEM_CLHEP=ON \
...@@ -112,17 +113,17 @@ RUN git clone https://github.com/Geant4/geant4.git \ ...@@ -112,17 +113,17 @@ RUN git clone https://github.com/Geant4/geant4.git \
&& rm -rf geant4 && rm -rf geant4
ENV LD_LIBRARY_PATH=/usr/local/lib64:${LD_LIBRARY_PATH} \ ENV LD_LIBRARY_PATH=/usr/local/lib64:${LD_LIBRARY_PATH} \
GEANT4_DATA_DIRECTORY=/usr/local/share/Geant4-10.3.3/data GEANT4_DATA_DIRECTORY=/usr/local/share/Geant4-${GEANT4_VERSION}/data
ENV G4NEUTRONHPDATA=${GEANT4_DATA_DIRECTORY}/G4NDL4.5 \ ENV G4NEUTRONHPDATA=${GEANT4_DATA_DIRECTORY}/G4NDL4.5 \
G4LEDATA=${GEANT4_DATA_DIRECTORY}/G4EMLOW6.50 \ G4LEDATA=${GEANT4_DATA_DIRECTORY}/G4EMLOW7.3 \
G4LEVELGAMMADATA=${GEANT4_DATA_DIRECTORY}/PhotonEvaporation4.3.2 \ G4LEVELGAMMADATA=${GEANT4_DATA_DIRECTORY}/PhotonEvaporation5.2 \
G4RADIOACTIVEDATA=${GEANT4_DATA_DIRECTORY}/RadioactiveDecay5.1.1 \ G4RADIOACTIVEDATA=${GEANT4_DATA_DIRECTORY}/RadioactiveDecay5.2 \
G4NEUTRONXSDATA=${GEANT4_DATA_DIRECTORY}/G4NEUTRONXS1.4 \ G4NEUTRONXSDATA=${GEANT4_DATA_DIRECTORY}/G4NEUTRONXS1.4 \
G4PIIDATA=${GEANT4_DATA_DIRECTORY}/G4PII1.3 \ G4PIIDATA=${GEANT4_DATA_DIRECTORY}/G4PII1.3 \
G4REALSURFACEDATA=${GEANT4_DATA_DIRECTORY}/RealSurface1.0 \ G4REALSURFACEDATA=${GEANT4_DATA_DIRECTORY}/RealSurface2.1 \
G4SAIDXSDATA=${GEANT4_DATA_DIRECTORY}/G4SAIDDATA1.1 \ G4SAIDXSDATA=${GEANT4_DATA_DIRECTORY}/G4SAIDDATA1.1 \
G4ABLADATA=${GEANT4_DATA_DIRECTORY}/G4ABLA3.0 \ G4ABLADATA=${GEANT4_DATA_DIRECTORY}/G4ABLA3.1 \
G4ENSDFSTATEDATA=${GEANT4_DATA_DIRECTORY}/G4ENSDFSTATE2.1 G4ENSDFSTATEDATA=${GEANT4_DATA_DIRECTORY}/G4ENSDFSTATE2.2
# LCIO # LCIO
ENV LCIO_RELEASE=v02-08 ENV LCIO_RELEASE=v02-08
...@@ -133,7 +134,7 @@ RUN git clone https://github.com/iLCSoft/LCIO.git \ ...@@ -133,7 +134,7 @@ RUN git clone https://github.com/iLCSoft/LCIO.git \
&& cd ../ \ && cd ../ \
&& mkdir build \ && mkdir build \
&& cd build \ && cd build \
&& CXXFLAGS=-std=c++14 cmake \ && cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local \ -DCMAKE_INSTALL_PREFIX=/usr/local \
-DCMAKE_BUILD_TYPE=Release \ -DCMAKE_BUILD_TYPE=Release \
-DBUILD_ROOTDICT=ON \ -DBUILD_ROOTDICT=ON \
...@@ -147,7 +148,7 @@ ENV ROOT_INCLUDE_PATH=/usr/local:/usr/local/include ...@@ -147,7 +148,7 @@ ENV ROOT_INCLUDE_PATH=/usr/local:/usr/local/include
# DD4hep # DD4hep
ENV DD4HEP_CHECKOUT=0d8ae7116527b336222550031de05634a4982d3b \ ENV DD4HEP_CHECKOUT=0d8ae7116527b336222550031de05634a4982d3b \
DD4HEP_REPO=https://github.com/decibelcooper/DD4hep.git DD4HEP_REPO=https://github.com/AIDASoft/DD4hep.git
RUN sudo pacman -S --noconfirm \ RUN sudo pacman -S --noconfirm \
boost \ boost \
...@@ -160,9 +161,7 @@ RUN git clone $DD4HEP_REPO \ ...@@ -160,9 +161,7 @@ RUN git clone $DD4HEP_REPO \
&& mkdir build \ && mkdir build \
&& cd build \ && cd build \
&& cmake \ && cmake \
-DBUILD_TESTING=ON \
-DCMAKE_INSTALL_PREFIX=/usr/local \ -DCMAKE_INSTALL_PREFIX=/usr/local \
-DCMAKE_CXX_STANDARD=14 \
-DDD4HEP_USE_GEANT4=ON \ -DDD4HEP_USE_GEANT4=ON \
-DDD4HEP_USE_LCIO=ON \ -DDD4HEP_USE_LCIO=ON \
-DDD4HEP_USE_XERCESC=ON \ -DDD4HEP_USE_XERCESC=ON \
...@@ -269,7 +268,6 @@ RUN sudo pacman -S --noconfirm \ ...@@ -269,7 +268,6 @@ RUN sudo pacman -S --noconfirm \
RUN git clone https://github.com/GenFit/GenFit.git $GENFIT_PATH \ RUN git clone https://github.com/GenFit/GenFit.git $GENFIT_PATH \
&& cd $GENFIT_PATH \ && cd $GENFIT_PATH \
&& git checkout $GENFIT_CHECKOUT \ && git checkout $GENFIT_CHECKOUT \
&& sed -i.bak 's/\(CPP_STANDARD\) c++11/\1 c++14/' CMakeLists.txt \
&& mkdir build \ && mkdir build \
&& cd build \ && cd build \
&& cmake \ && cmake \
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment