Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

iLCSoft v02-03-04 release on EL/Alma9 #179

Open
wants to merge 10 commits into
base: master
Choose a base branch
from
416 changes: 416 additions & 0 deletions doc/release_notes_ilcsoft_v02-03-04.md

Large diffs are not rendered by default.

38 changes: 38 additions & 0 deletions docker/cvmfs-install/Dockerfile.cvmfs-install.alma9
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
FROM gitlab-registry.cern.ch/linuxsupport/alma9-base

LABEL product="iLCSoft-cvmfs-install-alma9"
LABEL maintainer="[email protected]"
LABEL description="Image to install iLCSoft on CVMFS for Alma9"
LABEL os="Alma9"

RUN dnf update -y && \
dnf groupinstall -y "Development Tools" && \
dnf install -y \
curl \
wget \
openssl-devel \
freeglut-devel \
tar \
bzip2 \
which \
libX11-devel \
libXext-devel \
libXmu-devel \
libXft-devel \
libXpm-devel \
doxygen \
libuuid-devel \
perl-core \
glibc-locale-source \
glibc-langpack-en \
subversion && \
dnf clean all && rm -rf /var/cache/yum

ENV LANG=en_US.UTF-8 \
LANGUAGE=en_US:en \
LC_ALL=en_US.UTF-8 \
LC_CTYPE=en_US.UTF-8

RUN localedef -i en_US -f UTF-8 en_US.UTF-8

CMD ["/bin/bash"]
4 changes: 2 additions & 2 deletions ilcsoft/qt5.py
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ def __init__(self, userInput):
self.hasCMakeFindSupport = True
self.download.supportHEAD = False
self.download.supportedTypes = [ "git" ]
self.download.svnurl = 'https://github.com/qt/qt5.git'
self.download.svnurl = 'https://code.qt.io/qt/qt5.git'

self.reqfiles = [
["lib/libQt5Core.so", "lib64/libQt5Core.so", "lib/libQt5Core.dylib", "lib/libQt5Core.la"],
Expand Down Expand Up @@ -95,7 +95,7 @@ def compile(self):
qt_cfg_options = " -opensource -confirm-license -nomake tests -make libs "
cxxStandard = self.envcmake.get("CMAKE_CXX_STANDARD", None)
if cxxStandard:
qt_cfg_options += " -c++std c++" + str(cxxStandard)
qt_cfg_options += " -c++std c++17"

if( os_system( "../" + self.name + "/configure -prefix " + self.installPath + qt_cfg_options
+ " 2>&1 | tee -a " + self.logfile ) != 0 ):
Expand Down
11 changes: 7 additions & 4 deletions ilcsoft/root.py
Original file line number Diff line number Diff line change
Expand Up @@ -113,9 +113,9 @@ def compile(self):
if Version(self.version) < "6.30":
self.envcmake.setdefault( 'gsl_shared', 'ON' )
self.envcmake.setdefault( 'builtin_gsl', 'OFF' ) # we provide GSL, don't recompile it !
self.envcmake.setdefault( 'minuit2', 'ON' )

self.envcmake.setdefault( 'gdml', 'ON' )
self.envcmake.setdefault( 'minuit2', 'ON' )
self.envcmake.setdefault( 'roofit', 'ON' )
self.envcmake.setdefault( 'unuran', 'ON' )
self.envcmake.setdefault( 'xrootd', 'ON' )
Expand All @@ -138,9 +138,12 @@ def compile(self):
# Need to symlink two cmake scripts that are not installed properly
# otherwise and would break packages that depend on ROOT
for mod in ['RootMacros.cmake', 'RootTestDriver.cmake']:
link_path = os.path.join(self.installPath, 'cmake', mod)
src = os.path.join(self.installPath, 'cmake', 'modules', mod)
os.symlink(src, link_path)
try:
link_path = os.path.join(self.installPath, 'cmake', mod)
src = os.path.join(self.installPath, 'cmake', 'modules', mod)
os.symlink(src, link_path)
except FileExistsError:
pass

def postCheckDeps(self):
BaseILC.postCheckDeps(self)
Expand Down
2 changes: 1 addition & 1 deletion ilcsoft/util.py
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ def os_system( cmd ):
""" forces os.system calls wto use bash """
cmd = cmd.replace('"',r'\"')
##print('os_system: ', 'bash -c "'+cmd+'"')
return os.system('pwd ; bash -c "'+cmd+'"')
return os.system('pwd ; bash -o pipefail -c "'+cmd+'"')

#--------------------------------------------------------------------------------

Expand Down
7 changes: 4 additions & 3 deletions releases/v02-03/release-base.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -118,9 +118,8 @@ geant4.envcmake["GEANT4_USE_SYSTEM_EXPAT"]='OFF' # ignored ??
geant4.envcmake["GEANT4_USE_SYSTEM_CLHEP"]='ON'
geant4.envcmake["GEANT4_USE_OPENGL_X11"]='ON'
geant4.envcmake["GEANT4_USE_QT"]='ON' # requires qt
geant4.envcmake["QT_QMAKE_EXECUTABLE"] = os.environ["QT_QMAKE_EXECUTABLE"]
geant4.envcmake["GEANT4_BUILD_TLS_MODEL"]= 'global-dynamic'
#geant4.envcmake["GEANT4_BUILD_CXXSTD"]='c++' + str(cxx_standard)
geant4.envcmake["GEANT4_BUILD_CXXSTD"]=str(cxx_standard)
geant4.envcmake["GEANT4_INSTALL_DATA_TIMEOUT"]='7200'

#geant4.envcmake["QT_QMAKE_EXECUTABLE"]=/path/to/qmake
Expand All @@ -132,11 +131,13 @@ ilcsoft.install( ROOT( ROOT_version ))
ilcsoft.module("ROOT").download.type="wget"
ilcsoft.module("ROOT").envcmake['root7']="ON"
ilcsoft.module("ROOT").envcmake['webgui']="ON"
ilcsoft.module("ROOT").envcmake['builtin_xrootd'] = "OFF"
ilcsoft.module("ROOT").envcmake['clad'] = "OFF" # fails to build

ilcsoft.install( CLHEP( CLHEP_version ))
ilcsoft.install( GSL( GSL_version ))
ilcsoft.module("GSL").use_c11=True
ilcsoft.install( Qt5( Qt5_version ))
# ilcsoft.install( Qt5( Qt5_version ))

# cmake
ilcsoft.install( CMake( CMake_version ))
Expand Down
2 changes: 1 addition & 1 deletion releases/v02-03/release-ilcsoft.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -322,7 +322,7 @@ ilcsoft.link( ROOT( ilcPath + "root/" + ROOT_version ))

ilcsoft.link( CLHEP( ilcPath + "CLHEP/" + CLHEP_version ))
ilcsoft.link( GSL( ilcPath + "gsl/" + GSL_version ))
ilcsoft.link( Qt5( ilcPath + "Qt5/" + Qt5_version ))
# ilcsoft.link( Qt5( ilcPath + "Qt5/" + Qt5_version ))
ilcsoft.link( Geant4( ilcPath + "geant4/" + Geant4_version ))

ilcsoft.link( CondDBMySQL( ilcPath + "CondDBMySQL/" + CondDBMySQL_version ))
Expand Down
79 changes: 38 additions & 41 deletions releases/v02-03/release-versions.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,30 +8,27 @@
###########################################

# --------- ilcsoft release version ------------------------------------------
ilcsoft_release = "v02-03-03"
ilcsoft_release = "v02-03-04"
# ----------------------------------------------------------------------------

# which cxx standard to use
cxx_standard = 17
cxx_standard = 20

# ===============================================================================
# use a compiler that knows c++17, use e.g. scripts/use_gcc103_cvmfs_centos7.sh
# use a compiler that knows c++20, use e.g. scripts/use_gcc103_cvmfs_centos7.sh
#
"""
# --- gcc from LCG_101
source /cvmfs/sft.cern.ch/lcg/releases/gcc/10.3.0/x86_64-centos7/setup.sh
# --- gcc from LCG_106
source /cvmfs/sft.cern.ch/lcg/releases/gcc/13.1.0-b3d18/x86_64-el9/setup.sh

# --- python from LCG_101
export PATH=/cvmfs/sft.cern.ch/lcg/releases/Python/3.9.6-b0f98/x86_64-centos7-gcc10-opt/bin:${PATH}
export LD_LIBRARY_PATH=/cvmfs/sft.cern.ch/lcg/releases/Python/3.9.6-b0f98/x86_64-centos7-gcc10-opt/lib:${LD_LIBRARY_PATH}
export PYTHONPATH=/cvmfs/sft.cern.ch/lcg/views/LCG_101/x86_64-centos7-gcc10-opt/lib/python3.9/site-packages
# --- python from LCG_106
export PATH=/cvmfs/sft.cern.ch/lcg/releases/Python/3.11.9-2924c/x86_64-el9-gcc13-opt/bin:${PATH}
export LD_LIBRARY_PATH=/cvmfs/sft.cern.ch/lcg/releases/Python/3.11.9-2924c/x86_64-el9-gcc13-opt/lib:${LD_LIBRARY_PATH}
export PYTHONPATH=/cvmfs/sft.cern.ch/lcg/views/LCG_106/x86_64-el9-gcc13-opt/lib/python3.11/site-packages

# --- git from LCG_101
export PATH=/cvmfs/sft.cern.ch/lcg/releases/git/2.29.2-e475b/x86_64-centos7-gcc10-opt/bin:${PATH}
export GIT_EXEC_PATH=/cvmfs/sft.cern.ch/lcg/releases/git/2.29.2-e475b/x86_64-centos7-gcc10-opt/libexec/git-core

# --- use a suitable mysql (also LCG_101)
export MYSQL_DIR=/cvmfs/sft.cern.ch/lcg/releases/mysql/10.4.20-c0154/x86_64-centos7-gcc10-opt
# --- git from LCG_106
export PATH=/cvmfs/sft.cern.ch/lcg/releases/git/2.29.2-daa17/x86_64-el9-gcc13-opt/bin:${PATH}
export GIT_EXEC_PATH=/cvmfs/sft.cern.ch/lcg/releases/git/2.29.2-daa17/x86_64-el9-gcc13-opt/libexec/git-core
"""
# before starting the installation
# ================================================================================
Expand Down Expand Up @@ -91,7 +88,7 @@
platfDefault = "/usr/local"

# ----- mysql --------------------------------------------------------
MySQL_version = "10.4.20"
MySQL_version = "10.5.20"
MySQL_path = platfDefault

# overwrite with a patch set in the environment
Expand All @@ -111,45 +108,45 @@

# ======================= PACKAGE VERSIONS ===================================

Geant4_version = "11.2.1"
Geant4_version = "11.2.2"

CLHEP_version = "2.4.7.1"

ROOT_version = "6.30.04"
ROOT_version = "6.32.08"

GSL_version = "2.7"

Qt5_version = "v5.13.1"
Qt5_version = "v5.15.15-lts-lgpl"

CMake_version = "3.28.3"
CMake_version = "3.30.5"

CED_version = "v01-09-04"
CED_version = "v01-10"

SIO_version = "v00-02"

Boost_version = "1.84.0"
Boost_version = "1.86.0"

Eigen_version = "3.4.0"

# -------------------------------------------

CondDBMySQL_version = "CondDBMySQL_ILC-0-9-7"

ILCUTIL_version = "v01-07-02"
ILCUTIL_version = "v01-07-03"

FastJet_version = "3.4.2"
FastJet_version = "3.4.3"

FastJetcontrib_version = "1.054"
FastJetcontrib_version = "1.056"

# xerces-c (needed by geant4 for building gdml support - required by mokka)
XercesC_version = "v3.2.3"
XERCESC_ROOT_DIR = ilcPath + "/xercesc/" + XercesC_version

# -------------------------------------------

LCIO_version = "v02-21"
LCIO_version = "v02-22-02"

GEAR_version = "v01-09-02"
GEAR_version = "v01-09-03"

MarlinFastJet_version = "v00-05-03"

Expand All @@ -163,11 +160,11 @@

MarlinTrk_version = "v02-09-02"

MarlinTrkProcessors_version = "v02-12-05"
MarlinTrkProcessors_version = "v02-12-06"

Clupatra_version = "v01-03-01"

KiTrack_version = "v01-10"
KiTrack_version = "v01-10-01"

KiTrackMarlin_version = "v01-13-02"

Expand All @@ -183,15 +180,15 @@

RAIDA_version = "v01-11"

MarlinUtil_version = "v01-17-02"
MarlinUtil_version = "v01-18-01"

Marlin_version = "v01-19-02"
Marlin_version = "v01-19-03"

MarlinDD4hep_version = "v00-06-02"

DDMarlinPandora_version = "v00-12-01"
DDMarlinPandora_version = "v00-12-02"

MarlinReco_version = "v01-35"
MarlinReco_version = "v01-36-01"

FCalClusterer_version = "v01-00-06"

Expand All @@ -207,11 +204,11 @@

MarlinKinfitProcessors_version = "v00-05"

PandoraPFANew_version = "v03-25-03"
PandoraPFANew_version = "v04-11-01"

PandoraAnalysis_version = "v02-00-01"

CEDViewer_version = "v01-19-01"
CEDViewer_version = "v01-20"

Overlay_version = "v00-23"

Expand All @@ -227,16 +224,16 @@

Garlic_version = "v03-01"

DD4hep_version = "v01-28"
DD4hep_version = "v01-30"

DD4hepExamples_version = "v01-28"
DD4hepExamples_version = "v01-30"

lcgeo_version = "v00-20-00"
lcgeo_version = "v00-21"

podio_version = "v00-99"
podio_version = "v01-01"

edm4hep_version = "v00-10-05"
edm4hep_version = "v00-99-01"

k4edm4hep2lcioconv_version = "v00-08-02"
k4edm4hep2lcioconv_version = "v00-09"

Physsim_version = "v00-05"
28 changes: 28 additions & 0 deletions scripts/use_gcc131_cvmfs_el9.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
#!/usr/bin/env bash

# --- gcc from LCG_106
source /cvmfs/sft.cern.ch/lcg/releases/gcc/13.1.0-b3d18/x86_64-el9/setup.sh

# --- python from LCG_106
export PATH=/cvmfs/sft.cern.ch/lcg/releases/Python/3.11.9-2924c/x86_64-el9-gcc13-opt/bin:${PATH}
export LD_LIBRARY_PATH=/cvmfs/sft.cern.ch/lcg/releases/Python/3.11.9-2924c/x86_64-el9-gcc13-opt/lib:/cvmfs/sft.cern.ch/lcg/releases/blas/0.3.20.openblas-c07f1/x86_64-el9-gcc13-opt/lib:${LD_LIBRARY_PATH}
export PYTHONPATH=/cvmfs/sft.cern.ch/lcg/views/LCG_106/x86_64-el9-gcc13-opt/lib/python3.11/site-packages

# --- git from LCG_106
export PATH=/cvmfs/sft.cern.ch/lcg/releases/git/2.29.2-daa17/x86_64-el9-gcc13-opt/bin:${PATH}
export GIT_EXEC_PATH=/cvmfs/sft.cern.ch/lcg/releases/git/2.29.2-daa17/x86_64-el9-gcc13-opt/libexec/git-core

# --- use a suitable mysql (also LCG_106)
export MYSQL_DIR=/cvmfs/sft.cern.ch/lcg/releases/mysql/10.5.20-7d082/x86_64-el9-gcc13-opt

# --- pick up Qt5 from LCG release
export CMAKE_PREFIX_PATH=/cvmfs/sft.cern.ch/lcg/releases/qt5/5.15.9-c981a/x86_64-el9-gcc13-opt:${CMAKE_PREFIX_PATH}
export LD_LIBRARY_PATH=/cvmfs/sft.cern.ch/lcg/releases/qt5/5.15.9-c981a/x86_64-el9-gcc13-opt/lib:${LD_LIBRARY_PATH}
export PATH=/cvmfs/sft.cern.ch/lcg/releases/qt5/5.15.9-c981a/x86_64-el9-gcc13-opt/bin:${PATH}
export QT_PLUGIN_PATH=/cvmfs/sft.cern.ch/lcg/releases/qt5/5.15.9-c981a/x86_64-el9-gcc13-opt/plugins
export QT_QMAKE_EXECUTABLE=/cvmfs/sft.cern.ch/lcg/releases/qt5/5.15.9-c981a/x86_64-el9-gcc13-opt/bin/qmake

# --- also pick up xrootd from LCG release (as ROOT fails to build without this for whatever reason)
export PATH=/cvmfs/sft.cern.ch/lcg/releases/xrootd/5.6.9-2f3d3/x86_64-el9-gcc13-opt/bin:${PATH}
export CMAKE_PREFIX_PATH=/cvmfs/sft.cern.ch/lcg/releases/xrootd/5.6.9-2f3d3/x86_64-el9-gcc13-opt:${CMAKE_PREFIX_PATH}
export LD_PREFIX_PATH=/cvmfs/sft.cern.ch/lcg/releases/xrootd/5.6.9-2f3d3/x86_64-el9-gcc13-opt/lib64:${CMAKE_PREFIX_PATH}
Loading