We have recently installed ROOT v6.22.06 and v6.23.01. The basic tests are ok, and ROOT (both versions) seems to run smoothly.
However, a colleague of mine recently had some issues to access data through XRootD (data are stored in XCache, and read through XRootD). The main bash script launches ROOT and compiles a macro to access the data through XRootD and use TChain to chain them before analysis.
The problem is at the compilation time. For some reason, some include files and libraries are searched in the source / compilation directory and NOT in the final installation directory. All libraries are in the installation directory, so I do not understant why ROOT is searching them in the compilation directory, and the headers it is looking for are in the system (/usr/include).
Please see below a piece of the failing compilation, with some examples showing the issue.
cc1plus: fatal error: /pbs/throng/ccin2p3/support/gadrat/software/centos-7-x86_64/root/build_v6-22-06/include/stdc-predef.h: Permission denied compilation terminated.
Here, the stdc-predef.h file should be found in the /usr/include directory, not in the compilation directory…
Right after that we have:
c++: error: /pbs/home/g/grahal/ESCAPE-tests/exercise_analysis_atlas/atlas-outreach-cpp-framework-13tev/Analysis/HyyAnalysis/HyyAnalysis_C_ACLiC_dict.o: No such file or directory Error in <ACLiC>: Executing 'cd "/pbs/home/g/grahal/ESCAPE-tests/exercise_analysis_atlas/atlas-outreach-cpp-framework-13tev/Analysis/HyyAnalysis" ; c++ -O3 -DNDEBUG "/pbs/home/g/grahal/ESCAPE-tests/exercise_analysis_atlas/atlas-outreach-cpp-framework-13tev/Analysis/HyyAnalysis/HyyAnalysis_C_ACLiC_dict.o" -shared "/usr/lib64/libdl.so" "/usr/lib64/libc.so" "/usr/lib64/libm.so" "/pbs/software/centos-7-x86_64/root/6.22.06/lib/libRint.so.6.22" "/pbs/software/centos-7-x86_64/root/6.22.06/lib/libCore.so.6.22" [...] Now dealing with XRootD libraries "/pbs/software/centos-7-x86_64/root/6.22.06/lib/libNetxNG.so.6.22.06" "/pbs/software/centos-7-x86_64/root/6.22.06/lib/libXrdUtils.so.2" "/pbs/software/centos-7-x86_64/root/6.22.06/lib/libXrdClient.so.2" "/pbs/software/centos-7-x86_64/root/6.22.06/lib/libXrdCl.so.2"
But now ROOT is searching for them back in the compilation directory, though they are in the installation directory !
"/pbs/throng/ccin2p3/support/gadrat/software/centos-7-x86_64/root/build_v6-22-06/lib64/libXrdXml.so.2" "/pbs/software/centos-7-x86_64/root/6.22.06/lib/libsetDict.so.6.22.06" "/pbs/throng/ccin2p3/support/gadrat/software/centos-7-x86_64/root/build_v6-22-06/lib64/libXrdSec-4.so" "/pbs/throng/ccin2p3/support/gadrat/software/centos-7-x86_64/root/build_v6-22-06/lib64/libXrdSecgsi-4.so" "/pbs/throng/ccin2p3/support/gadrat/software/centos-7-x86_64/root/build_v6-22-06/lib64/libXrdCrypto.so.1" -o "/pbs/home/g/grahal/ESCAPE-tests/exercise_analysis_atlas/atlas-outreach-cpp-framework-13tev/Analysis/HyyAnalysis/./HyyAnalysis_C.so"' failed!
Finally the compilation is failing, because a header file, and some XRootD libraries are not found.
Does anyone know what’s going on here?
Why ROOT is not searching for header and libraries in the correct PATHs?
Of course, for people who have access to the compilation directory, everything works as a charm!
Thanks for your help,
ROOT Version: 6.22.06 & 6.23.01
Compiler: gcc (GCC) 8.3.1 20190311 (Red Hat 8.3.1-3) (devtoolset-8)