ROOT Version: 6.14/04
Platform: SLC6
Compiler: gcc 4.9.3
Dear ROOTers,
my analysis groups has finally decided to upgrade the common ROOT version to 6.14 (from 5.34) and I took the task of compiling and providing the new version for everyone.
(long story short: the two main computing clusters we use still run SLC6, so we can’t use the one on cvmfs)
That being said, I donwloaded the source code, compiled it, and then we synced the installation directory from the local afs
area to our shared cvmfs
path, where we keep all the SW relevant for the analysis.
When I try to run this version of root it can take up to 10s on lxplus to start, or even several tens of minutes from our computing center in Italy.
A quick look with strace
reveals the following:
strace -f root -l
[...]
[pid 25679] stat("/include", 0x7fff3137feb0) = -1 ENOENT (No such file or directory)
[pid 25679] stat("/", {st_mode=S_IFDIR|0555, st_size=4096, ...}) = 0
[pid 25679] stat("/include", 0x7fff3137fe30) = -1 ENOENT (No such file or directory)
[pid 25679] stat("/usr/include", {st_mode=S_IFDIR|0755, st_size=12288, ...}) = 0
[pid 25679] brk(0x148f000) = 0x148f000
[pid 25679] stat("/cvmfs/ams.cern.ch/Offline/dbar/public/installed/root-6.14.04/include", {st_mode=S_IFDIR|0755, st_size=1636, ...}) = 0
[pid 25679] stat("/cvmfs/ams.cern.ch/Offline/dbar/public/installed/root-6.14.04/include/clang", 0x7fff313802a0) = -1 ENOENT (No such file or directory)
[pid 25679] stat("/cvmfs/ams.cern.ch/Offline/dbar/public/installed/root-6.14.04/include/../tools/clang/include", 0x7fff313802a0) = -1 ENOENT (No such file or directory)
[pid 25679] open("/cvmfs/ams.cern.ch/Offline/dbar/public/installed/root-6.14.04/etc/allDict.cxx.pch", O_RDONLY|O_CLOEXEC) = 3
[pid 25679] readlink("/proc/self/fd/3", "/cvmfs/ams.cern.ch/Offline/dbar/"..., 4096) = 81
[pid 25679] fstat(3, {st_mode=S_IFREG|0644, st_size=101366032, ...}) = 0
[pid 25679] mmap(NULL, 101366032, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f43a9b9e000
[pid 25679] brk(0x14b0000) = 0x14b0000
[pid 25679] stat("/afs/cern.ch/work/d/dbar/devel/root-6.14.04-build/include", {st_mode=S_IFDIR|0755, st_size=73728, ...}) = 0
[pid 25679] stat("/afs/cern.ch/work/d/dbar/devel/root-6.14.04-build/include/Rpair.h", 0x7fff31380270) = -1 EACCES (Permission denied)
[pid 25679] stat("/cvmfs/ams.cern.ch/Offline/dbar/public/installed/root-6.14.04/etc/../include", {st_mode=S_IFDIR|0755, st_size=1636, ...}) = 0
[pid 25679] stat("/cvmfs/ams.cern.ch/Offline/dbar/public/installed/root-6.14.04/etc/../include/Rpair.h", {st_mode=S_IFREG|0644, st_size=690, ...}) = 0
[pid 25679] stat("/afs/cern.ch/work/d/dbar/devel/root-6.14.04-build", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
[pid 25679] stat("/afs/cern.ch/work/d/dbar/devel/root-6.14.04-build/input_line_14", 0x7fff31380270) = -1 ENOENT (No such file or directory)
[pid 25679] stat("/cvmfs/ams.cern.ch/Offline/dbar/public/installed/root-6.14.04/etc/..", {st_mode=S_IFDIR|0755, st_size=20, ...}) = 0
[pid 25679] stat("/cvmfs/ams.cern.ch/Offline/dbar/public/installed/root-6.14.04/etc/../input_line_14", 0x7fff31380270) = -1 ENOENT (No such file or directory)
[pid 25679] stat("/afs/cern.ch/work/d/dbar/devel/root-6.14.04-build/input_line_14", 0x7fff313802f0) = -1 ENOENT (No such file or directory)
[pid 25679] stat("/afs/cern.ch/work/d/dbar/devel/root-6.14.04-build/input_line_13", 0x7fff31380270) = -1 ENOENT (No such file or directory)
[pid 25679] stat("/cvmfs/ams.cern.ch/Offline/dbar/public/installed/root-6.14.04/etc/../input_line_13", 0x7fff31380270) = -1 ENOENT (No such file or directory)
[pid 25679] stat("/afs/cern.ch/work/d/dbar/devel/root-6.14.04-build/input_line_13", 0x7fff313802f0) = -1 ENOENT (No such file or directory)
[pid 25679] stat("/afs/cern.ch/work/d/dbar/devel/root-6.14.04-build/include/ROOT", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
[pid 25679] stat("/afs/cern.ch/work/d/dbar/devel/root-6.14.04-build/include/ROOT/StringConv.hxx", 0x7fff31380270) = -1 EACCES (Permission denied)
[pid 25679] stat("/cvmfs/ams.cern.ch/Offline/dbar/public/installed/root-6.14.04/etc/../include/ROOT", {st_mode=S_IFDIR|0755, st_size=53, ...}) = 0
[pid 25679] stat("/cvmfs/ams.cern.ch/Offline/dbar/public/installed/root-6.14.04/etc/../include/ROOT/StringConv.hxx", {st_mode=S_IFREG|0644, st_size=5658, ...}) = 0
[pid 25679] stat("/afs/cern.ch/work/d/dbar/devel/root-6.14.04-build/include/RooStats/HistFactory", {st_mode=S_IFDIR|0755, st_size=2048, ...}) = 0
[pid 25679] stat("/afs/cern.ch/work/d/dbar/devel/root-6.14.04-build/include/RooStats/HistFactory/RooBarlowBeestonLL.h", 0x7fff31380270) = -1 EACCES (Permission denied)
[pid 25679] stat("/cvmfs/ams.cern.ch/Offline/dbar/public/installed/root-6.14.04/etc/../include/RooStats/HistFactory", {st_mode=S_IFDIR|0755, st_size=24, ...}) = 0
[pid 25679] stat("/cvmfs/ams.cern.ch/Offline/dbar/public/installed/root-6.14.04/etc/../include/RooStats/HistFactory/RooBarlowBeestonLL.h", {st_mode=S_IFREG|0644, st_size=4671, ...}) = 0
[pid 25679] stat("/afs/cern.ch/work/d/dbar/devel/root-6.14.04-build/include/RooStats/HistFactory/PiecewiseInterpolation.h", 0x7fff31380270) = -1 EACCES (Permission denied)
[pid 25679] stat("/cvmfs/ams.cern.ch/Offline/dbar/public/installed/root-6.14.04/etc/../include/RooStats/HistFactory/PiecewiseInterpolation.h", {st_mode=S_IFREG|0644, st_size=4163, ...}) = 0
[pid 25679] stat("/afs/cern.ch/work/d/dbar/devel/root-6.14.04-build/include/RooStats/HistFactory/MakeModelAndMeasurementsFast.h", 0x7fff31380270) = -1 EACCES (Permission denied)
[pid 25679] stat("/cvmfs/ams.cern.ch/Offline/dbar/public/installed/root-6.14.04/etc/../include/RooStats/HistFactory/MakeModelAndMeasurementsFast.h", {st_mode=S_IFREG|0644, st_size=1313, ...}) = 0
[pid 25679] stat("/afs/cern.ch/work/d/dbar/devel/root-6.14.04-build/include/RooStats/HistFactory/LinInterpVar.h", 0x7fff31380270) = -1 EACCES (Permission denied)
[pid 25679] stat("/cvmfs/ams.cern.ch/Offline/dbar/public/installed/root-6.14.04/etc/../include/RooStats/HistFactory/LinInterpVar.h", {st_mode=S_IFREG|0644, st_size=1621, ...}) = 0
[pid 25679] stat("/afs/cern.ch/work/d/dbar/devel/root-6.14.04-build/include/RooStats/HistFactory/HistoToWorkspaceFactoryFast.h", 0x7fff31380270) = -1 EACCES (Permission denied)
[pid 25679] stat("/cvmfs/ams.cern.ch/Offline/dbar/public/installed/root-6.14.04/etc/../include/RooStats/HistFactory/HistoToWorkspaceFactoryFast.h", {st_mode=S_IFREG|0644, st_size=5227, ...}) = 0
[pid 25679] stat("/afs/cern.ch/work/d/dbar/devel/root-6.14.04-build/include/RooStats/HistFactory/HistoToWorkspaceFactory.h", 0x7fff31380270) = -1 EACCES (Permission denied)
[pid 25679] stat("/cvmfs/ams.cern.ch/Offline/dbar/public/installed/root-6.14.04/etc/../include/RooStats/HistFactory/HistoToWorkspaceFactory.h", {st_mode=S_IFREG|0644, st_size=4531, ...}) = 0
[pid 25679] stat("/afs/cern.ch/work/d/dbar/devel/root-6.14.04-build/include/RooStats/HistFactory/HistFactorySimultaneous.h", 0x7fff31380270) = -1 EACCES (Permission denied)
[pid 25679] stat("/cvmfs/ams.cern.ch/Offline/dbar/public/installed/root-6.14.04/etc/../include/RooStats/HistFactory/HistFactorySimultaneous.h", {st_mode=S_IFREG|0644, st_size=2844, ...}) = 0
[pid 25679] stat("/afs/cern.ch/work/d/dbar/devel/root-6.14.04-build/include/RooStats/HistFactory/HistFactoryNavigation.h", 0x7fff31380270) = -1 EACCES (Permission denied)
[pid 25679] stat("/cvmfs/ams.cern.ch/Offline/dbar/public/installed/root-6.14.04/etc/../include/RooStats/HistFactory/HistFactoryNavigation.h", {st_mode=S_IFREG|0644, st_size=7643, ...}) = 0
[pid 25679] stat("/afs/cern.ch/work/d/dbar/devel/root-6.14.04-build/include/RooStats/HistFactory/ParamHistFunc.h", 0x7fff31380270) = -1 EACCES (Permission denied)
[pid 25679] stat("/cvmfs/ams.cern.ch/Offline/dbar/public/installed/root-6.14.04/etc/../include/RooStats/HistFactory/ParamHistFunc.h", {st_mode=S_IFREG|0644, st_size=4316, ...}) = 0
[pid 25679] stat("/afs/cern.ch/work/d/dbar/devel/root-6.14.04-build/include/RooStats/HistFactory/HistFactoryModelUtils.h", 0x7fff31380270) = -1 EACCES (Permission denied)
[pid 25679] stat("/cvmfs/ams.cern.ch/Offline/dbar/public/installed/root-6.14.04/etc/../include/RooStats/HistFactory/HistFactoryModelUtils.h", {st_mode=S_IFREG|0644, st_size=995, ...}) = 0
[pid 25679] stat("/afs/cern.ch/work/d/dbar/devel/root-6.14.04-build/include/RooStats/HistFactory/HistFactoryException.h", 0x7fff31380270) = -1 EACCES (Permission denied)
[pid 25679] stat("/cvmfs/ams.cern.ch/Offline/dbar/public/installed/root-6.14.04/etc/../include/RooStats/HistFactory/HistFactoryException.h", {st_mode=S_IFREG|0644, st_size=941, ...}) = 0
[pid 25679] stat("/afs/cern.ch/work/d/dbar/devel/root-6.14.04-build/include/RooStats/HistFactory/FlexibleInterpVar.h", 0x7fff31380270) = -1 EACCES (Permission denied)
[pid 25679] stat("/cvmfs/ams.cern.ch/Offline/dbar/public/installed/root-6.14.04/etc/../include/RooStats/HistFactory/FlexibleInterpVar.h", {st_mode=S_IFREG|0644, st_size=2901, ...}) = 0
and so on…
The slowdown is caused by the numerous stat calls on header files on the original afs path, and these appear even if I set the variable
$ export ROOT_INCLUDE_PATH=$ROOTSYS/include
$ echo $ROOT_INCLUDE_PATH
/cvmfs/ams.cern.ch/Offline/dbar/public/installed/root-6.14.04/include
Is there a quick way to load headers only from cvmfs
and not from the original installation path on afs
?
Or, alternatively, what would be the correct way to ship a compiled version of root on our common cvmfs
area? (keeping in mind that I don’t have access/permission for the experiment cvmfs
server)
Cheers,
Valerio