From 32219fe04061caa081740733367b1991419b101e Mon Sep 17 00:00:00 2001 From: Klaus Rabbertz <klaus.rabbertz@cern.ch> Date: Mon, 4 Mar 2024 13:28:23 +0100 Subject: [PATCH] Latest install script --- tools/fnlosrc_install.csh | 149 ++++++++++++++++++++++++-------------- 1 file changed, 95 insertions(+), 54 deletions(-) diff --git a/tools/fnlosrc_install.csh b/tools/fnlosrc_install.csh index 59bc193b..f16c7402 100755 --- a/tools/fnlosrc_install.csh +++ b/tools/fnlosrc_install.csh @@ -238,7 +238,10 @@ if ( $#argv > 5 && $6 != "_" ) then # Used for fnl2332d: set revision=4585 # Bug in Z+jet RV channel: set revision=4708 # Bug in DIS & pp jets VV: set revision=5088 - set revision=5918 +# NNLOJET modules1 production version +# set revision=rev5918 +# NNLOJET modules2 production version + set revision=modules2_rev6591 endif echo "NNLOJET usage: $tab$tab $withnnlojet" # With interface to Sherpa via MCGrid? @@ -429,14 +432,20 @@ if ( $withcvmfslhapdf != "0" ) then echo 'setenv PATH '"${lhapdfbinpath}:"'${PATH}' >> fnlosrc_source.csh echo 'export PATH='"${lhapdfbinpath}:"'${PATH}' >> fnlosrc_source.sh endif -# Just in case: NNLOJET executables +# Just in case: NNLOJET executables and configuration files if ( $withnnlojet ) then - setenv NNLOJET_BIN_PATH ${base}/src/NNLOJET_rev${revision}/driver + setenv NNLOJET_BIN_PATH ${base}/src/NNLOJET_${revision}/driver setenv PATH ${NNLOJET_BIN_PATH}:${NNLOJET_BIN_PATH}/bin:${PATH} echo 'setenv NNLOJET_BIN_PATH '"${NNLOJET_BIN_PATH}" >> fnlosrc_source.csh echo 'export NNLOJET_BIN_PATH='"${NNLOJET_BIN_PATH}" >> fnlosrc_source.sh echo 'setenv PATH ${NNLOJET_BIN_PATH}:${NNLOJET_BIN_PATH}/bin:${PATH}' >> fnlosrc_source.csh echo 'export PATH=${NNLOJET_BIN_PATH}:${NNLOJET_BIN_PATH}/bin:${PATH}' >> fnlosrc_source.sh + setenv NNLOJET_CONFIG_PATH ${base}/src/NNLOJET_${revision}/driver/process + setenv PATH ${NNLOJET_CONFIG_PATH}:${NNLOJET_CONFIG_PATH}/bin:${PATH} + echo 'setenv NNLOJET_CONFIG_PATH '"${NNLOJET_CONFIG_PATH}" >> fnlosrc_source.csh + echo 'export NNLOJET_CONFIG_PATH='"${NNLOJET_CONFIG_PATH}" >> fnlosrc_source.sh + echo 'setenv PATH ${NNLOJET_CONFIG_PATH}:${NNLOJET_CONFIG_PATH}/bin:${PATH}' >> fnlosrc_source.csh + echo 'export PATH=${NNLOJET_CONFIG_PATH}:${NNLOJET_CONFIG_PATH}/bin:${PATH}' >> fnlosrc_source.sh endif echo "" echo "ATTENTION: PATH environment complemented!" @@ -458,8 +467,8 @@ else setenv MYCPPFLAGS "${CPPFLAGS}" endif endif -if ( $MYCPPFLAGS != "" ) then - echo "MYCPPFLAGS is $MYCPPFLAGS" +if ( "${MYCPPFLAGS}" != "" ) then + echo "MYCPPFLAGS is ${MYCPPFLAGS}" endif # Use modern gcc; gcc 4.4 from slc6 is too antique if ( $?MYCVMFS ) then @@ -475,13 +484,13 @@ endif # LD_LIBRARY_PATH adaptation # if ( $?LD_LIBRARY_PATH ) then - setenv LD_LIBRARY_PATH ${base}/lib:${LD_LIBRARY_PATH} - echo 'setenv LD_LIBRARY_PATH '"${base}/lib:"'${LD_LIBRARY_PATH}' >> fnlosrc_source.csh - echo 'export LD_LIBRARY_PATH='"${base}/lib:"'${LD_LIBRARY_PATH}' >> fnlosrc_source.sh + setenv LD_LIBRARY_PATH ${base}/lib:${base}/lib64:${LD_LIBRARY_PATH} + echo 'setenv LD_LIBRARY_PATH '"${base}/lib:${base}/lib64:"'${LD_LIBRARY_PATH}' >> fnlosrc_source.csh + echo 'export LD_LIBRARY_PATH='"${base}/lib:${base}/lib64:"'${LD_LIBRARY_PATH}' >> fnlosrc_source.sh else - setenv LD_LIBRARY_PATH ${base}/lib - echo 'setenv LD_LIBRARY_PATH '"${base}/lib" >> fnlosrc_source.csh - echo 'export LD_LIBRARY_PATH='"${base}/lib" >> fnlosrc_source.sh + setenv LD_LIBRARY_PATH ${base}/lib:${base}/lib64 + echo 'setenv LD_LIBRARY_PATH '"${base}/lib:${base}/lib64" >> fnlosrc_source.csh + echo 'export LD_LIBRARY_PATH='"${base}/lib:${base}/lib64" >> fnlosrc_source.sh endif # $LD_LIBRARY_PATH set from now on ... # @@ -527,7 +536,8 @@ endif #------------------------------------------------------------------------------ if ( ($withnlojetpp || $withsherpa) && ! $mpnnlo ) then # set arc="fastjet-3.3.0" # Last one ok; test 3.3.4 - set arc="fastjet-3.3.4" +# set arc="fastjet-3.3.4" + set arc="fastjet-3.4.0" # Required for Rivet 3.1.7 if ( ! -e ${arc}_installed ) then tar xzf ${arc}.tar.gz cd ${arc} @@ -542,12 +552,14 @@ endif # #------------------------------------------------------------------------------ if ( $withcvmfslhapdf == "0" ) then -# set arc="LHAPDF-6.2.1"# Test 6.3.0 - set arc="LHAPDF-6.3.0" +# set arc="LHAPDF-6.3.0"# Test 6.5.1 +# set arc="LHAPDF-6.5.1" +# set arc="LHAPDF-6.5.3" + set arc="LHAPDF-6.5.4" if ( ! -e ${arc}_installed ) then tar xzf ${arc}.tar.gz cd ${arc} - ./configure --prefix=${base} CPPFLAGS="${MYCPPFLAGS}" ${pythonopt} + ./configure --prefix=${base} ${pythonopt} CPPFLAGS="${MYCPPFLAGS}" make -j${cores} install cd .. # Download default PDF sets, only possible if installed with Python support! @@ -706,7 +718,9 @@ if ( $withoptional ) then # Python is enabled by default. If Python with ROOT interfacing is desired, use "--enable-root". #------------------------------------------------------------------------------ # set arc="YODA-1.6.7" - set arc="YODA-1.8.3" +# set arc="YODA-1.8.3" +# set arc="YODA-1.9.6" + set arc="YODA-1.9.7" if ( ! -e ${arc}_installed ) then tar xzf ${arc}.tar.gz cd ${arc} @@ -720,16 +734,19 @@ if ( $withoptional ) then # Python is enabled by default. #------------------------------------------------------------------------------ # set arc="Rivet-2.5.4" - set arc="Rivet-3.1.4" # Needs HepMC3 and fastjet contrib +# set arc="Rivet-3.1.4" # Needs HepMC3 and fastjet contrib +# set arc="Rivet-3.1.6" # Needs HepMC3 and fastjet contrib + set arc="Rivet-3.1.7" # Needs HepMC3 and fastjet contrib and fastjet >= 3.4.0 if ( ! -e ${arc}_installed ) then tar xzf ${arc}.tar.gz cd ${arc} # ./configure --prefix=${base} ${pyextopt} CPPFLAGS="${MYCPPFLAGS}" # ATTENTION: Remove analysis giving compile errors with gcc5 - rm -f analyses/pluginATLAS/*1790439* - rehash - ./configure --prefix=${base} ${pyextopt} --with-hepmc3=`HepMC3-config --prefix` CPPFLAGS="${MYCPPFLAGS}" +# rm -f analyses/pluginATLAS/*1790439* +# rehash + ./configure --prefix=${base} ${pyextopt} --with-hepmc3=`${base}/bin/HepMC3-config --prefix` CPPFLAGS="${MYCPPFLAGS}" make -j${cores} install + cp -p rivetenv.*sh .. cd .. touch ${arc}_installed endif @@ -737,6 +754,7 @@ if ( $withoptional ) then # # HOPPET (the latest, v1.1.5, needs to be patched for a perl issue on newer systems): # (Problem with perl script in systems with gcc >= 5! Patch needed: hoppet-1.1.5-patched.) +# (Fortran link problem with gcc11 --> Do not install for now.) #------------------------------------------------------------------------------ # ==> This enables the option --with-hoppet of the fastNLO_toolkit to use # the alpha_s evolutions within HOPPET @@ -744,37 +762,39 @@ if ( $withoptional ) then # uses the one from the PDFs in LHAPDF # # set arc="hoppet-1.1.5" - set arc="hoppet-1.2.0" - if ( ! -e ${arc}_installed ) then +# set arc="hoppet-1.2.0" +# if ( ! -e ${arc}_installed ) then # tar xzf ${arc}-patched.tar.gz # Need patched version on newer systems like Ubuntu 16.04 - tar xzf ${arc}.tar.gz - cd ${arc} - ./configure --prefix=${base} - make -j${cores} install - cd .. - touch ${arc}_installed - endif +# tar xzf ${arc}.tar.gz +# cd ${arc} +# ./configure --prefix=${base} +# make -j${cores} install +# cd .. +# touch ${arc}_installed +# endif # # # QCDNUM (Use the newer autotools-enabled version 17.01.12): # Older QCDNUM versions including 17.00.06 have an error in the time-like evolution # of the singlet fragmentation function at NLO, see arXiv:1602.08383. # Non-autotools-enabled versions are not supported anymore. +# (Fortran compile problem with gcc11 --> Do not install for now.) #------------------------------------------------------------------------------ # ==> This enables the option --with-qcdnum of the fastNLO_toolkit to use # the alpha_s evolutions within QCDNUM # # set arc="qcdnum-17-01-12" - set arc="qcdnum-17-01-14" -# set arc="qcdnum-17-01-15" # Provokes error in fastNLO Toolkit check - if ( ! -e ${arc}_installed ) then - tar xzf ${arc}.tar.gz - cd ${arc} - ./configure --prefix=${base} - make -j${cores} install - cd .. - touch ${arc}_installed - endif +# set arc="qcdnum-17-01-14" # Last default; but does not compile with gfortran 11.1.0 +# set arc="qcdnum-17-01-15" # Provokes error in fastNLO Toolkit check; does not compile with gfortran 11.1.0 +# set arc="qcdnum-18-00-00" # Exits with error "STOP iqcFirstWordOfParams no table sets in ww" +# if ( ! -e ${arc}_installed ) then +# tar xzf ${arc}.tar.gz +# cd ${arc} +# ./configure --prefix=${base} +# make -j${cores} install +# cd .. +# touch ${arc}_installed +# endif endif # # @@ -789,16 +809,25 @@ if ( ! $mpnnlo ) then # set arc="fastnlo_toolkit-2.3.1-2657" # set arc="fastnlo_toolkit-2.3.1-2753" # set arc="fastnlo_toolkit-2.3.1-2771" - set arc="fastnlo_toolkit-2.5.0-2826" +# set arc="fastnlo_toolkit-2.5.0-2826" +# set arc="fastnlo_toolkit-2.5.0-2848" +# set arc="fastnlo_toolkit-2.5.0-2856" +# set arc="fastnlo_toolkit-2.5.1-2890" + set arc="fastnlo_toolkit-2.5.1-3011" set rev="" if ( ! -e ${arc}_installed ) then tar xzf ${arc}${rev}.tar.gz cd ${arc} # options depending on previous choices: --with-yoda --with-hoppet --with-qcdnum --with-root # option to use python interface to library: --enable-pyext +# in case of problems with doxygen, use option: --disable-doxygen-doc # ./configure --prefix=${base} --enable-pyext if ( $withoptional ) then - ./configure --prefix=${base} --with-yoda --with-hoppet --with-qcdnum ${rootoptpath} ${pyextopt} +# QCDNUM-17-xx-xx does not compile with gfortran 11.1.0; QCDNUM-18-xx-xx exits with error on execution in fastNLO Toolkit; + ./configure --prefix=${base} --with-yoda ${rootoptpath} ${pyextopt} +# ./configure --prefix=${base} --with-yoda --with-hoppet --with-qcdnum ${rootoptpath} ${pyextopt} +# Doxygen does not work giving TeX compile error and not producing refman.tex +# ./configure --prefix=${base} --with-yoda --with-hoppet ${rootoptpath} ${pyextopt} --disable-doxygen-doc else ./configure --prefix=${base} ${rootoptpath} ${pyextopt} endif @@ -830,7 +859,9 @@ if ( ! $mpnnlo ) then # set arc="fastnlo_interface_nlojet-2.3.1pre-2424" # set arc="fastnlo_interface_nlojet-2.3.1pre-2657" # set arc="fastnlo_interface_nlojet-2.3.1pre-2771" - set arc="fastnlo_interface_nlojet-2.5.0-2819" +# set arc="fastnlo_interface_nlojet-2.5.0-2819" +# set arc="fastnlo_interface_nlojet-2.5.0-2858" + set arc="fastnlo_interface_nlojet-2.5.1-2888" if ( ! -e ${arc}_installed ) then tar xzf ${arc}.tar.gz cd ${arc} @@ -869,15 +900,13 @@ if ( $withnnlojet ) then #------------------------------------------------------------------------------ if ( ! $mpnnlo ) then # set arc="nnlo-bridge-0.0.40"# updated scale settings for jetpt scale - set arc="nnlo-bridge-0.0.46" -# Previous buggy: set rev="-rev1683M3" ; fixed in 0.0.39 -# Improve interface --> M7: set rev="-rev1683M5"; fixed in 0.0.39 -# set rev="-rev1683M7" ; fixed in 0.0.39 -# M1: Two printout fixes -# set rev="M1" - set rev="" +# +# NNLOJET modules1 production version +# set arc="nnlo-bridge-0.0.46" +# NNLOJET modules2 production candidate + set arc="nnlo-bridge-1.0.0" if ( ! -e ${arc}_installed ) then - tar xzf ${arc}${rev}.tar.gz + tar xzf ${arc}.tar.gz cd ${arc} ./configure --prefix=${base} make -j${cores} install @@ -905,11 +934,17 @@ if ( $withnnlojet ) then echo " OMP_STACKSIZE and OMP_NUM_THREADS have been set to:" echo " $OMP_STACKSIZE and $OMP_NUM_THREADS" echo "" - set arc="NNLOJET_rev"${revision} + set arc="NNLOJET_"${revision} if ( ! -e ${arc}_installed ) then - tar xzf ${arc}.tar.gz +# tar xzf ${arc}.tar.gz +# Fixed makefile for gcc11 of revision 5918, or bridge updates for revision 6591 +# Patches required? +# set rev="_multicore" + set rev="_newcombine" # Has newer nnlojet-combine python code + tar xzf ${arc}${rev}.tar.gz cd ${arc}/driver - make depend +# Skip depend for now for modules 2 revisions +# make depend if ( $mpnnlo ) then make -j${cores} else @@ -1164,7 +1199,7 @@ endif # # Clean up unused variables and finish #------------------------------------------------------------------------------ -if ( $MYCPPFLAGS == "" ) then +if ( "${MYCPPFLAGS}" == "" ) then unsetenv MYCPPFLAGS endif if ( $withpython ) then @@ -1178,6 +1213,12 @@ echo " fnlosrc_source.[c]sh" echo "Please check that environment variables have been set appropriately," echo "e.g. PATH, LD_LIBRARY_PATH, ..." echo "and 'source' the corresponding file before using this installation." +echo "" +# +echo "Also do not forget to 'source' the environment of a potential LCG software stack" +echo "used for the installation;" +echo "And in case of Rivet usage the corresponding rivetenv.(c)sh files must be" +echo "'source'ed, too." # echo "" echo "#==============================================================================" -- GitLab