Hi,
I have made a simple calorimeter, similar to the B4a example on my local CMS tier2 cluster. Interactively it runs fine, but when I try to run it on our condor system, it crashes because it can not find the graphics librarires like /usr/lib64/libX11.so. These are not installed on the batch nodes, only on the interactive nodes. I tried doing the cmake using -DWITH_GEANT4_UIVIS=OFF and I also tried setting this directly to OFF in the CMakeLists.txt, but the exe still seems to pick up the graphics libraries in /usr/lib64. I enclose a dump of a session (including pulling the code from gitlab) below, including the “grep” that shows that it is pulling in these libraries. Any suggestions on how to do a link that wouldn’t include these libraries would be appreciated.
[eno@hepcms-in2 dualReadout]$ git clone ssh://git@gitlab.cern.ch:7999/eno/cepc_calotiming.git
Initialized empty Git repository in /data/users/eno/dualReadout/cepc_calotiming/.git/
remote: Enumerating objects: 211, done.
remote: Counting objects: 100% (211/211), done.
remote: Compressing objects: 100% (101/101), done.
remote: Total 211 (delta 134), reused 172 (delta 107)
Receiving objects: 100% (211/211), 113.57 KiB, done.
Resolving deltas: 100% (134/134), done.
[eno@hepcms-in2 dualReadout]$ cd cepc_calotiming/
[eno@hepcms-in2 cepc_calotiming]$ source ./g4env.sh
Setting up the environment for Geant4 10.5 for use with CMake
[eno@hepcms-in2 cepc_calotiming]$ cmake -DGeant4_DIR=/cvmfs/geant4.cern.ch/geant4/10.5/x86_64-slc6-gcc63-opt/lib64/GEANT4-10.5.0 -DWITH_GEANT4_UIVIS=OFF
– The C compiler identification is GNU 6.2.0
– The CXX compiler identification is GNU 6.2.0
– Check for working C compiler: /cvmfs/sft.cern.ch/lcg/releases/gcc/6.2.0-b9934/x86_64-slc6/bin/gcc
– Check for working C compiler: /cvmfs/sft.cern.ch/lcg/releases/gcc/6.2.0-b9934/x86_64-slc6/bin/gcc – works
– Detecting C compiler ABI info
– Detecting C compiler ABI info - done
– Detecting C compile features
– Detecting C compile features - done
– Check for working CXX compiler: /cvmfs/sft.cern.ch/lcg/releases/gcc/6.2.0-b9934/x86_64-slc6/bin/g++
– Check for working CXX compiler: /cvmfs/sft.cern.ch/lcg/releases/gcc/6.2.0-b9934/x86_64-slc6/bin/g++ – works
– Detecting CXX compiler ABI info
– Detecting CXX compiler ABI info - done
– Detecting CXX compile features
– Detecting CXX compile features - done
– Configuring done
– Generating done
– Build files have been written to: /home/eno/dualReadout/cepc_calotiming
[eno@hepcms-in2 cepc_calotiming]$ grep -r “/usr/lib64” *
CMakeFiles/CMakeOutput.log: collapse library dir [/usr/lib/…/lib64] ==> [/usr/lib64]
CMakeFiles/CMakeOutput.log: implicit dirs: [/cvmfs/sft.cern.ch/lcg/releases/gcc/6.2.0-b9934/x86_64-slc6/lib/gcc/x86_64-pc-linux-gnu/6.2.0;/cvmfs/sft.cern.ch/lcg/releases/gcc/6.2.0-b9934/x86_64-slc6/lib/gcc;/cvmfs/sft.cern.ch/lcg/views/LCG_95/x86_64-slc6-gcc62-opt/lib64;/cvmfs/sft.cern.ch/lcg/releases/gcc/6.2.0-b9934/x86_64-slc6/lib64;/lib64;/usr/lib64;/cvmfs/sft.cern.ch/lcg/views/LCG_95/x86_64-slc6-gcc62-opt/lib;/cvmfs/sft.cern.ch/lcg/releases/gcc/6.2.0-b9934/x86_64-slc6/lib]
CMakeFiles/CMakeOutput.log: collapse library dir [/usr/lib/…/lib64] ==> [/usr/lib64]
CMakeFiles/CMakeOutput.log: implicit dirs: [/cvmfs/sft.cern.ch/lcg/releases/gcc/6.2.0-b9934/x86_64-slc6/lib/gcc/x86_64-pc-linux-gnu/6.2.0;/cvmfs/sft.cern.ch/lcg/releases/gcc/6.2.0-b9934/x86_64-slc6/lib/gcc;/cvmfs/sft.cern.ch/lcg/views/LCG_95/x86_64-slc6-gcc62-opt/lib64;/cvmfs/sft.cern.ch/lcg/releases/gcc/6.2.0-b9934/x86_64-slc6/lib64;/lib64;/usr/lib64;/cvmfs/sft.cern.ch/lcg/views/LCG_95/x86_64-slc6-gcc62-opt/lib;/cvmfs/sft.cern.ch/lcg/releases/gcc/6.2.0-b9934/x86_64-slc6/lib]
CMakeFiles/3.11.1/CMakeCCompiler.cmake:set(CMAKE_C_IMPLICIT_LINK_DIRECTORIES “/cvmfs/sft.cern.ch/lcg/releases/gcc/6.2.0-b9934/x86_64-slc6/lib/gcc/x86_64-pc-linux-gnu/6.2.0;/cvmfs/sft.cern.ch/lcg/releases/gcc/6.2.0-b9934/x86_64-slc6/lib/gcc;/cvmfs/sft.cern.ch/lcg/views/LCG_95/x86_64-slc6-gcc62-opt/lib64;/cvmfs/sft.cern.ch/lcg/releases/gcc/6.2.0-b9934/x86_64-slc6/lib64;/lib64;/usr/lib64;/cvmfs/sft.cern.ch/lcg/views/LCG_95/x86_64-slc6-gcc62-opt/lib;/cvmfs/sft.cern.ch/lcg/releases/gcc/6.2.0-b9934/x86_64-slc6/lib”)
CMakeFiles/3.11.1/CMakeCXXCompiler.cmake:set(CMAKE_CXX_IMPLICIT_LINK_DIRECTORIES “/cvmfs/sft.cern.ch/lcg/releases/gcc/6.2.0-b9934/x86_64-slc6/lib/gcc/x86_64-pc-linux-gnu/6.2.0;/cvmfs/sft.cern.ch/lcg/releases/gcc/6.2.0-b9934/x86_64-slc6/lib/gcc;/cvmfs/sft.cern.ch/lcg/views/LCG_95/x86_64-slc6-gcc62-opt/lib64;/cvmfs/sft.cern.ch/lcg/releases/gcc/6.2.0-b9934/x86_64-slc6/lib64;/lib64;/usr/lib64;/cvmfs/sft.cern.ch/lcg/views/LCG_95/x86_64-slc6-gcc62-opt/lib;/cvmfs/sft.cern.ch/lcg/releases/gcc/6.2.0-b9934/x86_64-slc6/lib”)
CMakeFiles/CEPC_CaloTiming.dir/build.make:CEPC_CaloTiming: /usr/lib64/libXm.so
CMakeFiles/CEPC_CaloTiming.dir/build.make:CEPC_CaloTiming: /usr/lib64/libSM.so
CMakeFiles/CEPC_CaloTiming.dir/build.make:CEPC_CaloTiming: /usr/lib64/libICE.so
CMakeFiles/CEPC_CaloTiming.dir/build.make:CEPC_CaloTiming: /usr/lib64/libX11.so
CMakeFiles/CEPC_CaloTiming.dir/build.make:CEPC_CaloTiming: /usr/lib64/libXext.so
CMakeFiles/CEPC_CaloTiming.dir/build.make:CEPC_CaloTiming: /usr/lib64/libXt.so
CMakeFiles/CEPC_CaloTiming.dir/build.make:CEPC_CaloTiming: /usr/lib64/libXmu.so
[eno@hepcms-in2 cepc_calotiming]$