Dictionary errors when using ROOT as a library after moving binary

I’m using ROOT as a library (with CMake) and generating a dictionary. If the directory is moved before running (because I’m running on the Grid, and PanDA doesn’t preserve the working directory name between the build and run jobs), I get errors:

Error in cling::AutoloadingVisitor::InsertIntoAutoloadingState:
   Missing FileEntry for /scratch/atlas_qllO0EQY/Panda_Pilot_15768_1556118355/PandaJob/workDir/utils/utils.h
   requested to autoload type Muon
Error in cling::AutoloadingVisitor::InsertIntoAutoloadingState:
   Missing FileEntry for /scratch/atlas_qllO0EQY/Panda_Pilot_15768_1556118355/PandaJob/workDir/utils/utils.h
   requested to autoload type Jet
Error in cling::AutoloadingVisitor::InsertIntoAutoloadingState:
   Missing FileEntry for /scratch/atlas_qllO0EQY/Panda_Pilot_15768_1556118355/PandaJob/workDir/utils/utils.h
   requested to autoload type higgs
Error in cling::AutoloadingVisitor::InsertIntoAutoloadingState:
   Missing FileEntry for /scratch/atlas_qllO0EQY/Panda_Pilot_15768_1556118355/PandaJob/workDir/utils/utils.h
   requested to autoload type reconstructed_event
libdictionary dictionary payload:7:10: fatal error: '/scratch/atlas_qllO0EQY/Panda_Pilot_15768_1556118355/PandaJob/workDir/utils/utils.h' file not found
#include "/scratch/atlas_qllO0EQY/Panda_Pilot_15768_1556118355/PandaJob/workDir/utils/utils.h"
         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Error in <TInterpreter::AutoParse>: Error parsing payload code for class Jet with content:

#line 1 "libdictionary dictionary payload"

#ifndef G__VECTOR_HAS_CLASS_ITERATOR
  #define G__VECTOR_HAS_CLASS_ITERATOR 1
#endif

#define _BACKWARD_BACKWARD_WARNING_H
#include "/scratch/atlas_qllO0EQY/Panda_Pilot_15768_1556118355/PandaJob/workDir/utils/utils.h"

#undef  _BACKWARD_BACKWARD_WARNING_H

ROOT Version: 6.16.00 Patches
Platform: LCG Dev4


Hi,

ROOT needs in your case to parse at runtime some headers. You can point ROOT to their position with the ROOT_INCLUDE_PATH environment variable, which can be formatted as LD_LIBRARY_PATH, i.e. with paths separated by :.

Cheers,
Danilo

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.