Commit c2ace523 authored by Evgeny Lavrik's avatar Evgeny Lavrik
Browse files

Update images with TDavixFile support and CbmRoot patches

parent 0db75a65
# Build all libraries which come from external sources like other subversion or git repositories
# Exclude dowload of external packages. The external packages are not needed
# to run the code format checker and slows down the execution.
# Without the externals it isn't possible to build CbmRoot so don't switch
# it off execept for the checker.
Option(DOWNLOAD_EXTERNALS "Download the code from the external repositories." ON)
if(DOWNLOAD_EXTERNALS)
download_project_if_needed(PROJECT cppzmq
GIT_REPOSITORY "https://github.com/zeromq/cppzmq/"
GIT_TAG "05a0256d0eeea8063690fde6a156e14b70ed2280"
SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/cppzmq
TEST_FILE zmq.hpp
)
download_project_if_needed(PROJECT flib_dpb_20
GIT_REPOSITORY "https://git.cbm.gsi.de/f.uhlig/flib_dpb_20.git"
GIT_TAG "9ce7c7c0ccc7c9ea2f8c396c35d7fe39ac9aafb6"
SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/flib_dpb_20
TEST_FILE CMakeLists.txt
)
Set(IPC_INCLUDE_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/ipc/ipc/lib/fles_ipc PARENT_SCOPE)
Set(IPCLOG_INCLUDE_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/ipc/ipc/lib/logging PARENT_SCOPE)
Add_Subdirectory(ipc)
Add_Subdirectory(ipc_legacy)
Add_Subdirectory(flib_dpb)
Add_Subdirectory(flib_dpb_20)
Add_Subdirectory(spadic)
Include(InstallVC.cmake)
Include(InstallKFParticle.cmake)
Include(InstallDataTree.cmake)
Include(InstallDataTreeQA.cmake)
Include(InstallNicaFemto.cmake)
Include(InstallAnalysisTree.cmake)
# Include(InstallAnalysisTreeQA.cmake)
Include(InstallParameter.cmake)
Include(InstallInput.cmake)
Include(InstallGeometry.cmake)
else()
# Define targets which are needed by CbmRoot but are not available
# whithout the external packages
add_library(DATATREE SHARED IMPORTED GLOBAL)
add_library(ANALYSISTREE SHARED IMPORTED GLOBAL)
add_library(NICAFEMTO SHARED IMPORTED GLOBAL)
add_library(KFPARTICLE SHARED IMPORTED GLOBAL)
endif()
......@@ -5,12 +5,15 @@ FROM $BASE_IMAGE
ARG GIT_REPO=https://git.cbm.gsi.de/computing/cbmroot.git
ARG GIT_TAG=6ef969bc
ADD ./CMakeLists.txt /tmp/cbmroot-build/
#
# CbmRoot
#
WORKDIR /tmp/cbmroot-build
RUN git clone ${GIT_REPO} CbmRoot && \
cd CbmRoot && git checkout ${GIT_TAG} && cd .. && \
cp /tmp/cbmroot-build/CMakeLists.txt CbmRoot/external && \
mkdir -vp CbmRoot_build && cmake -S CbmRoot -B CbmRoot_build -DCMAKE_INSTALL_PREFIX=/opt/cbmroot && \
make -C CbmRoot_build -j`nproc` install && \
cd / && rm -rf /tmp/cbmroot*
......
......@@ -16,7 +16,7 @@ RUN apt-get update && \
libncurses5-dev curl libcurl4-openssl-dev bzip2 libbz2-dev gzip unzip tar \
subversion git xutils-dev flex bison lsb-release python-dev \
libc6-dev-i386 libxml2-dev wget libssl-dev libkrb5-dev \
automake autoconf libtool vim \
automake autoconf libtool vim davix-dev \
# mandatory for CbmRoot compilation
libsqlite3-0 libsqlite3-dev && \
apt-get clean
......@@ -25,8 +25,9 @@ RUN apt-get update && \
# FairSoft
#
WORKDIR /tmp/fairsoft-build
ADD ./fairsoft.conf ./fairsoft.conf
RUN git clone https://github.com/FairRootGroup/FairSoft.git -b ${GIT_TAG} FairSoft && cd FairSoft && \
ADD ./fairsoft.conf ./rootconfig.sh ./
RUN git clone https://github.com/FairRootGroup/FairSoft.git -b ${GIT_TAG} FairSoft && \
cp ./rootconfig.sh FairSoft/tools && cd FairSoft && \
./configure.sh ../fairsoft.conf && ./make_clean.sh all && rm -rf /tmp/fair*
ENV SIMPATH="/opt/fairsoft"\
......
#!/bin/bash
echo $arch
if [ "$debug" = "yes" ];
then
if [ "$compiler" = "Clang" -a "$arch" = "linux" ]; then
debugstring=""
else
debugstring="-DCMAKE_BUILD_TYPE=Debug"
fi
else
debugstring=""
fi
XROOTD="-Dxrootd=OFF -Dbuiltin_xrootd=OFF"
ROOFIT="-Droofit=ON"
OPENGL=" "
if [ "$compiler" = "Clang" ]; then
root_comp_flag="-DCMAKE_C_COMPILER=clang -DCMAKE_CXXCOMPILER=clang"
if [ $haslibcxx ]; then
root_comp_flag="-DCMAKE_C_COMPILER=clang -DCMAKE_CXXCOMPILER=clang -Dcxx11=ON -Dlibcxx=ON"
fi
if [ "$platform" = "linux" ]; then
OPENGL="-DOPENGL_INCLUDE_DIR=$SIMPATH_INSTALL/include -DOPENGL_gl_LIBRARY=$SIMPATH_INSTALL/lib"
fi
else
root_comp_flag="-DCMAKE_C_COMPILER=$CC -DCMAKE_CXX_COMPILER=$CXX -DCMAKE_LINKER=$CXX"
fi
if [ "$build_python" = "yes" ];
then
PYTHONBUILD="-Dpython=ON"
else
PYTHONBUILD="-Dpython=OFF"
fi
if [ "$arch" = "ppc64le" ];
then
VC="-Dvc=OFF"
else
VC="-Dvc=ON"
fi
#######################################################
etc_string="-DCMAKE_INSTALL_SYSCONFDIR=share/root/etc"
inc_string="-DCMAKE_INSTALL_INCLUDEDIR=include/root6"
prefix_string="-DCMAKE_INSTALL_PREFIX=$SIMPATH_INSTALL"
cmake ../ -Dsoversion=ON $PYTHONBUILD $XROOTD $ROOFIT \
-Dminuit2=ON -Dgdml=ON -Dxml=ON -Dbuiltin_xrootd=ON \
-Dbuiltin-ftgl=ON -Dbuiltin-glew=ON \
-Dbuiltin-freetype=ON $OPENGL \
-Dasimage=ON \
-DPYTHIA6_DIR=$SIMPATH_INSTALL \
-DPYTHIA8_DIR=$SIMPATH_INSTALL \
-Dglobus=OFF \
-Dreflex=OFF \
-Dcintex=OFF \
-Drpath=ON \
-Dmemstat=ON \
-Ddavix=ON \
$VC \
-Dhttp=ON \
-DGSL_DIR=$SIMPATH_INSTALL \
-DCMAKE_CXX_COMPILER=$CXX -DCMAKE_C_COMPILER=$CC \
-DCMAKE_F_COMPILER=$FC $root_comp_flag -Dgnuinstall=ON \
$prefix_string $inc_string $etc_string \
-DCMAKE_BUILD_TYPE=$BUILD_TYPE
......@@ -14,6 +14,7 @@ RUN echo "${USERNAME}:${USERPASSWORD}" | chpasswd
# Install python2 and pip2 since PyROOT relies on it
RUN curl -sL https://deb.nodesource.com/setup_12.x | bash - && \
apt-get -y install python python-dev python-pip python3 python3-dev python3-pip nodejs curl python3-pycurl && \
python2 -m pip install -U pip && python3 -m pip install -U pip && \
npm install -g configurable-http-proxy@^4.2.0 && rm -rf ~/.npm && \
python2 -m pip install metakernel && python2 -m pip install ipykernel && python2 -m ipykernel install && \
python3 -m pip install metakernel && python3 -m pip install ipykernel && python3 -m ipykernel install && \
......
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