Cint in ROOT 5.28

Hi,
I am having a strange error message with cint in some Auger library that has been working perfectly for years (actually since at least root 3.05/07, and up to root 5.27/02, the last I tried). With the new 5.28, I get the following error:

/work/bertou/newroot/bin/rootcint -f MiEventDict.cc -c -I/work/bertou/tmp/CDAS/IoFd/v3r8/Util/v99/src -I/work/bertou/tmp/CDAS/IoFd/v3r8/MiEvent/v99/src …/src/MiEventVersionDefines.hh …/src/VMiEvent.hh …/src/MiEvent.hh …/src/MiEventHeader.hh …/src/MiPixelData.hh …/src/MiPixelList.hh …/src/MiFadcData.hh …/src/FadcData.hh …/src/MiEventFile.hh …/src/MiBitArray.hh …/src/MiTriggerData.hh …/src/MiId.hh …/src/MiRunHeader.hh …/src/MiRunTrailer.hh …/src/MiEventLinkDef.hh; touch MiEventDict
Error: class,struct,union or type enum TObject not defined FadcData.hh:438:
Error: class,struct,union or type enum TObject not defined ./…/src/VMiEvent.hh:96:
Error: class,struct,union or type enum TMirrorEvent not defined ./…/src/MiEvent.hh:443:
Error: class,struct,union or type enum TMirrorEventHeader not defined ./…/src/MiEventHeader.hh:866:
Error: class,struct,union or type enum TObject not defined ./…/src/MiPixelData.hh:458:
Error: class,struct,union or type enum TObject not defined ./…/src/MiPixelList.hh:332:
Error: class,struct,union or type enum TObject not defined ./…/src/MiFadcData.hh:314:
Error: class,struct,union or type enum TObject not defined MiRunHeader.hh:382:
Error: class,struct,union or type enum TObject not defined MiRunTrailer.hh:285:
Error: class,struct,union or type enum TObject not defined ./…/src/MiTriggerData.hh:127:
Error: class,struct,union or type enum TObject not defined ./…/src/MiId.hh:67:
Warning: Error occurred during reading source files
Warning: Error occurred during dictionary source generation
!!!Removing MiEventDict.cc MiEventDict.h !!!
Error: /work/bertou/newroot/bin/rootcint: error loading headers…

I can provide the code if necessary, but the error message is really strange: not finding TObject! Has there been any special change on the way includes work for rootcint?
This failed both on mac and Linux, compiling by defining ROOTSYS and then ./configure linux/macosx64 ; make; make install…
Any idea about what is happening?

Yes. Very strange. Can you reproduce the problem with ‘less’ header files on the command line? Can you send a complete example to reproduce the problem?

Philippe.

Ok, found it…
The issue is the ClassDef. We have (for some unknown reason to me, it’s not my code):

ClassDef(Classname,(int)VERSIONDEFINED)

The cast to int gives the strange error message, which has nothing to do with the issue. With no cast, it works. I don’t know why the cast is there, maybe in some distant days it was necessary (as I said it is not my code), but in any case in all CINT versions up to 5.28 it worked with the cast.

Should I fill in a bug report somewhere?

Hi,

only if you really need it to be fixed. We prefer to invest our time in a more fundamental improvement of ROOT’s interpreter.

Cheers, Axel.