Problem to compile on a worker node of LCG site

Hi

I have a root macro I run with
root -b -q run_analysis.C

In this root macro, there are things like
gROOT->ProcessLine(".L $ROOTSYS/lib/libPhysics.so “);
gROOT->ProcessLine(”.L CutManager.C+");
gROOT->ProcessLine(".L Address.C+");
gROOT->ProcessLine(".L MyParticle.C+");
gROOT->ProcessLine(".L RandNumSvc.C+");
gROOT->ProcessLine(".L MCSelector.C+");
gROOT->ProcessLine(".L MyPlots.C+");
gROOT->ProcessLine(".L RemoveTauEvent.C+");

I want to run this root macro on a LCG site (64 bit worker nodes) using
root_v5.14.00e.Linux.slc4_amd64.gcc3.4.tar.gz
which is installed locally.

If I run interactively the script on a worker node, it works. If it is run thru the grid it fails with :
root -b -q run_analysis.C


  •                                     *
    
  •    W E L C O M E  to  R O O T       *
    
  •                                     *
    
  • Version 5.14/00e 29 March 2007 *
  •                                     *
    
  • You are welcome to visit our Web site *
  •      [root.cern.ch](http://root.cern.ch)            *
    
  •                                     *
    

Compiled on 29 March 2007 for linuxx8664gcc with thread support.

CINT/ROOT C/C++ Interpreter version 5.16.16, November 24, 2006
Type ? for help. Commands must be C++ statements.
Enclose multiple statements between { }.

Processing run_analysis.C…
Info in TUnixSystem::ACLiC: creating shared library /tmp/wrk/371387.marseillece01.mrs.grid.cnrs.fr/WMS_wn42_011124_https_3a_2f_2frbroker.mrs.grid.cnrs
.fr_3a9000_2f9jWxCsl2lvpXxaaYmxw6XA/ttHbbAnalysisRoot/./CutManager_C.so
/tmp/DfNavW_cint.cxx:1:28: Ymxw6XA/root/src: No such file or directory
Error: external preprocessing failed. :0:
Error: rootcint: failed to open /tmp/wrk/371387.marseillece01.mrs.grid.cnrs.fr/WMS_wn42_011124_https_3a_2f_2frbroker.mrs.grid.cnrs.fr_3a9000_2f9jWxCsl2l
vpXxaaYmxw6XA/ttHbbAnalysisRoot/./filehn3pML.h in ReplaceBundleInDict()
/tmp/wrk/371387.marseillece01.mrs.grid.cnrs.fr/WMS_wn42_011124_https_3a_2f_2frbroker.mrs.grid.cnrs.fr_3a9000_2f9jWxCsl2lvpXxaaYmxw6XA/ttHbbAnalysisRoot/
./filehn3pML.cxx:16:24: filehn3pML.h: No such file or directory
In file included from /tmp/wrk/371387.marseillece01.mrs.grid.cnrs.fr/WMS_wn42_011124_https_3a_2f_2frbroker.mrs.grid.cnrs.fr_3a9000_2f9jWxCsl2lvpXxaaYmxw
6XA/ttHbbAnalysisRoot/./filehn3pML.cxx:28:
/tmp/wrk/371387.marseillece01.mrs.grid.cnrs.fr/WMS_wn42_011124_https_3a_2f_2frbroker.mrs.grid.cnrs.fr_3a9000_2f9jWxCsl2lvpXxaaYmxw6XA/root/include/Rtype
sImp.h:16:2: #error RtypesImp.h should only be included by ROOT dictionaries.
g++: /tmp/wrk/371387.marseillece01.mrs.grid.cnrs.fr/WMS_wn42_011124_https_3a_2f_2frbroker.mrs.grid.cnrs.fr_3a9000_2f9jWxCsl2lvpXxaaYmxw6XA/ttHbbAnalysis
Root/./filehn3pML.o: No such file or directory

If I am on the worker node, it is run in /home/atlXXX/test (shorter path).

So can this problem come from the length of the path ?

Thanks

Karim

PS: I have tried it in /tmp/wrk/test and it works too

Hi,

This is possibly a write permission issue. You might need to call gSystem->SetBuildDir to give root a location it can write to.

Cheers,
Philippe

PS. For more details on what ACLiC attempts you can set the global variable gDebug to 5 or 7 (to keep the temp files around).