Rootcint: error loading headers


ROOT Version: 5.34/21
Platform: remote machine; locally Linux Cinnamon
Compiler: 5.18.00 C interpreter


Hi,

I am not experienced with compilation. I hope for your help.

There are about a dozen of classes which are pre-compiled on their own, alike:
g++ ${flags} -c -o name.o name.cpp
Then they are all linked to generate dictionary:

rootcint -f dict_MYANALYSIS.cpp -c -p -I one.h two.h [...] MMC.h

and at this step the problem occurs.

**Error: Symbol shared_ptr is not defined in current scope  MMC.h:153:**
**Error: Symbol TH1F is not defined in current scope  MMC.h:153:**

Athough MMC.o compiles successfully on its own. 

This error happens when I include MMC.h in  MYANALYSIS.h. It compiles fine when MMC.h is included in MYANALYSIS.cpp. The reason why I am eager to define MMC.h in the MYANALYSIS.h is that it is required to declare MMC class instance in MYANALYSIS.h.  

More error messages:
**Warning: Error occurred during reading source files**
**Warning: Error occurred during dictionary source generation**
**!!!Removing dict_HiggsAnalysis.cpp dict_HiggsAnalysis.h !!!**
**Error: rootcint: error loading headers...**

Thank you a lot.

Hi,

does the error show up with ROOT 6.14, which is part the currently maintained release series?

Cheers,
D

Hi D,

yes, I have tried to compile locally with ROOT 6.15/01. It works!
Is there any way to compile it with the old version? I would need to run it on remote machine where the data re stored.

Thank you
Cheers,
Krystsina

Hi Krystsina,

I am not sure I get your point but you can read the old data written with ROOT5 with ROOT6 versions.

Cheers,
D

1 Like

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