diff --git a/ilcsoft/edm4hep.py b/ilcsoft/edm4hep.py index 152d80bf..ab8361ac 100644 --- a/ilcsoft/edm4hep.py +++ b/ilcsoft/edm4hep.py @@ -24,7 +24,9 @@ def __init__(self, userInput): self.download.gituser = 'key4hep' self.download.gitrepo = 'edm4hep' - self.reqfiles = [ ["install/lib/libedm4hep.so", "install/lib/libedm4hep.dylib" ]] + self.reqfiles = [["install/lib/libedm4hep.so", + "install/lib64/libedm4hep.so", + "install/lib/libedm4hep.dylib"]] self.reqmodules = [ "podio" ] # self.optmodules = [ "SIO" ] @@ -63,4 +65,6 @@ def compile(self): def postCheckDeps(self): BaseILC.postCheckDeps(self) - self.env[ 'edm4hep_DIR' ] = self.installPath + "/install/lib/cmake/EDM4HEP" + self.env['EDM4HEP_DIR'] = self.installPath + "/install" + self.envpath["LD_LIBRARY_PATH"].append("$EDM4HEP_DIR/lib") + self.envpath["LD_LIBRARY_PATH"].append("$EDM4HEP_DIR/lib64") diff --git a/ilcsoft/ilcsoft.py b/ilcsoft/ilcsoft.py index f5ad2b12..518a2a25 100644 --- a/ilcsoft/ilcsoft.py +++ b/ilcsoft/ilcsoft.py @@ -434,6 +434,10 @@ def makeinstall(self): # export Python in PATH and LD_LIBRARY_PATH f.write( 'export PATH='+py_path+'/bin:${PATH}' + os.linesep ) f.write( 'export LD_LIBRARY_PATH='+py_path+'/lib:${LD_LIBRARY_PATH}' + os.linesep + os.linesep ) + # copy the PYTHONPATH verbatim from the build setup if it is set + python_path = os.getenv('PYTHONPATH') + if python_path: + f.write('export PYTHONPATH=' + python_path + os.linesep + os.linesep ) f.write( 'export CXX=' + compiler + os.linesep ) ccompiler = self.env["CC"] diff --git a/ilcsoft/podio.py b/ilcsoft/podio.py index 7c0ef295..3389ce00 100644 --- a/ilcsoft/podio.py +++ b/ilcsoft/podio.py @@ -24,7 +24,9 @@ def __init__(self, userInput): self.download.gituser = 'AIDASoft' self.download.gitrepo = 'podio' - self.reqfiles = [ ["install/lib/libpodio.so", "install/lib/libpodio.dylib" ]] + self.reqfiles = [["install/lib/libpodio.so", + "install/lib64/libpodio.so", + "install/lib/libpodio.dylib"]] self.reqmodules = [ "ROOT" ] self.optmodules = [ "SIO" ] @@ -63,4 +65,7 @@ def compile(self): def postCheckDeps(self): BaseILC.postCheckDeps(self) - self.env[ 'podio_DIR' ] = self.installPath + "/install/lib/cmake/podio" + self.env['podio_DIR'] = self.installPath + "/install" + self.envpath["LD_LIBRARY_PATH"].append("$podio_DIR/lib") + self.envpath["LD_LIBRARY_PATH"].append("$podio_DIR/lib64") + self.envpath["PYTHONPATH"].append("$podio_DIR/python") diff --git a/ilcsoft/root.py b/ilcsoft/root.py index 070acc73..17296df4 100644 --- a/ilcsoft/root.py +++ b/ilcsoft/root.py @@ -8,6 +8,7 @@ ################################################## # custom imports +import os from .baseilc import BaseILC from .util import * @@ -131,6 +132,14 @@ def compile(self): + if self.version > "6.19.0": + # 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) + def postCheckDeps(self): BaseILC.postCheckDeps(self) # Required for LCIO installation. diff --git a/ilcsoft/sio.py b/ilcsoft/sio.py index 8ebf4812..9b217ed7 100644 --- a/ilcsoft/sio.py +++ b/ilcsoft/sio.py @@ -60,4 +60,4 @@ def postCheckDeps(self): if self.installPath != "/usr": self.envpath["PATH"].append( "$SIO_DIR/bin" ) self.envpath["LD_LIBRARY_PATH"].append( "$SIO_DIR/lib" ) - + self.envpath["LD_LIBRARY_PATH"].append( "$SIO_DIR/lib64" ) diff --git a/releases/HEAD/release-ilcsoft.cfg b/releases/HEAD/release-ilcsoft.cfg index d6113d5c..4e65b6db 100644 --- a/releases/HEAD/release-ilcsoft.cfg +++ b/releases/HEAD/release-ilcsoft.cfg @@ -26,7 +26,7 @@ path_where_this_file_lives = os.path.dirname( config_file ) versions_file = os.path.join( path_where_this_file_lives, "release-versions-HEAD.py" ) exec(compile(open(versions_file, "rb").read(), versions_file, "exec")) -print "Do we install nightlies? ", nightlies +print("Do we install nightlies? ", nightlies) # installation directory if not 'ilcsoft_install_dir' in dir(): @@ -72,11 +72,11 @@ ilcsoft.envcmake["Boost_NO_BOOST_CMAKE"] = 'ON' # # ----- build and install documentation ------------- -ilcsoft.envcmake["INSTALL_DOC"]="OFF" +ilcsoft.envcmake["INSTALL_DOC"]="ON" -ilcsoft.envcmake["CMAKE_BUILD_TYPE"]= "Debug" -#ilcsoft.envcmake["CMAKE_BUILD_TYPE"]= "RelWithDebInfo" +# ilcsoft.envcmake["CMAKE_BUILD_TYPE"]= "Debug" +ilcsoft.envcmake["CMAKE_BUILD_TYPE"]= "RelWithDebInfo" ilcsoft.downloadType = "GitHub" #ilcsoft.downloadType = "svn-desy" @@ -111,6 +111,8 @@ ilcsoft.install( MarlinReco( MarlinReco_version )) ilcsoft.module("MarlinReco").envcmake["MARLINRECO_FORTRAN"]='OFF' ilcsoft.install( PandoraAnalysis( PandoraAnalysis_version )) +# Until https://github.com/PandoraPFA/LCPandoraAnalysis/pull/17 is merged +ilcsoft.module("PandoraAnalysis").envcmake["INSTALL_DOC"] = "OFF" ilcsoft.install( PandoraPFANew( PandoraPFANew_version )) diff --git a/releases/HEAD/release-versions-HEAD.py b/releases/HEAD/release-versions-HEAD.py index e2f228fd..09da4b92 100644 --- a/releases/HEAD/release-versions-HEAD.py +++ b/releases/HEAD/release-versions-HEAD.py @@ -13,14 +13,6 @@ ilcsoft_release='HEAD-'+today # ---------------------------------------------------------------------------- -#----------------------- -# we now always build with c++11 ? -# This variable is deprecated and replaced by cxx_standard -# use_cpp11 = False -# if nightlies: -# use_cpp11 = nb_use_cpp11 -# print "******************* use_cpp11", use_cpp11 - # which cxx standard to use cxx_standard = 17 @@ -31,18 +23,23 @@ pass #=============================================================================== -# use a compiler that knows c++11, run +# use a compiler that knows c++17, run # ''' - source /afs/cern.ch/sw/lcg/contrib/gcc/4.9.3/x86_64-slc6/setup.sh - export PATH=/afs/cern.ch/sw/lcg/releases/LCG_87/Python/2.7.10/x86_64-slc6-gcc49-opt/bin:$PATH - export LD_LIBRARY_PATH=/afs/cern.ch/sw/lcg/releases/LCG_87/Python/2.7.10/x86_64-slc6-gcc49-opt/lib:$LD_LIBRARY_PATH +# --- gcc from LCG_101 +source /cvmfs/sft.cern.ch/lcg/releases/gcc/10.3.0/x86_64-centos7/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 -# or on cvmfs: +# --- 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 - source /cvmfs/sft.cern.ch/lcg/contrib/gcc/4.9.3/x86_64-slc6/setup.sh - export PATH=/cvmfs/sft.cern.ch/lcg/releases/LCG_87/Python/2.7.10/x86_64-slc6-gcc49-opt/bin:$PATH - export LD_LIBRARY_PATH=/cvmfs/sft.cern.ch/lcg/releases/LCG_87/Python/2.7.10/x86_64-slc6-gcc49-opt/lib:$LD_LIBRARY_PATH +# --- 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 ''' # before starting the installation #================================================================================ @@ -112,7 +109,7 @@ platfDefault = '/usr/local' # ----- mysql -------------------------------------------------------- -MySQL_version = "5.0.45" +MySQL_version = "10.4.20" MySQL_path = platfDefault # overwrite with a patch set in the environment diff --git a/scripts/use_gcc103_cvmfs_centos7.sh b/scripts/use_gcc103_cvmfs_centos7.sh new file mode 100644 index 00000000..fd9d33d6 --- /dev/null +++ b/scripts/use_gcc103_cvmfs_centos7.sh @@ -0,0 +1,14 @@ +# --- gcc from LCG_101 +source /cvmfs/sft.cern.ch/lcg/releases/gcc/10.3.0/x86_64-centos7/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 + +# --- 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