Cint error : "Limitation: Items in header must be ..."

Dear all,

I’m compiling a piece of code with cmake scripts in order to generate a root dictionnary when i get this error :

$ make
[  2%] Generating ROOT dictionary for LCAmore library.
Limitation: Items in header must be separately specified source/include/lcamor/MonitoringException.hh:92:
Warning: Error occurred during reading source files
Warning: Error occurred during dictionary source generation
!!!Removing build/source/src/LCAmoreDict.cc build/source/src/LCAmoreDict.h !!!
Error: /home/remi/ilcsoft/v01-17-03/root/5.34.05/bin/rootcint: error loading headers...
make[2]: *** [source/src/LCAmoreDict.cc] Erreur 1
make[1]: *** [source/CMakeFiles/LCAmore.dir/all] Erreur 2
make: *** [all] Erreur 2
$

I put the pieces of code attached to this post, 2 classes with only header files.
I have no idea where it can come from. An idea ?

Cheers,

RE
ExceptionLevel.hh (2.29 KB)
MonitoringException.hh (2.21 KB)

Hi,

what is the command you use to generate the dictionary?

Cheers,
Danilo

Hi,

I isued this line in the CMakeLists.txt :

add_custom_command( OUTPUT ${LCAmore_BINARY_DIR}/source/src/LCAmoreDict.cc
                   COMMAND mkdir -p ${ROOT_DICT_OUTPUT_DIR}
                   COMMAND ${ROOT_CINT_WRAPPER} -v4 -f ${LCAmore_BINARY_DIR}/source/src/LCAmoreDict.cc -c ${DICT_INCLUDE_DIRS} -p ${LIB_HEADERS_PKG} ${LINK_DEF_FILE}
                   COMMENT "Generating ROOT dictionary for LCAmore library."
                   DEPENDS ${LIB_HEADERS_PKG}
)

that corresponds in the terminal to this command :

[  2%] Generating ROOT dictionary for LCAmore library.
cd /home/remi/git/LCAmore/build/source && mkdir -p /home/remi/git/LCAmore/build/source/src
cd /home/remi/git/LCAmore/build/source && LD_LIBRARY_PATH=/home/remi/ilcsoft/v01-17-03/root/5.34.05/lib:/home/remi/dim/dim/linux:/home/remi/ilcsoft/v01-17-03/geant4/9.6.p01/lib:/home/remi/ilcsoft/v01-17-03/DD4hep/v00-04/lib:/home/remi/ilcsoft/v01-17-03/slic/v03-01-03/build/lib:/home/remi/ilcsoft/v01-17-03/lcdd/v03-02-00/lib:/home/remi/ilcsoft/v01-17-03/gdml/v03-00-00/lib:/home/remi/ilcsoft/v01-17-03/heppdt/3.04.01/lib:/home/remi/ilcsoft/v01-17-03/GBL/V01-15-03/lib:/home/remi/ilcsoft/v01-17-03/FastJet/2.4.2/lib:/home/remi/ilcsoft/v01-17-03/PandoraPFANew/v00-12/lib:/home/remi/ilcsoft/v01-17-03/gsl/1.14/lib:/home/remi/ilcsoft/v01-17-03/CondDBMySQL/CondDBMySQL_ILC-0-9-6/lib:/home/remi/ilcsoft/v01-17-03/KalTest/v01-05-03/lib:/home/remi/ilcsoft/v01-17-03/gear/v01-03-01/lib:/home/remi/ilcsoft/v01-17-03/root/5.34.05/lib:/home/remi/ilcsoft/v01-17-03/lcio/v02-04-02/lib:/home/remi/ilcsoft/v01-17-03/ilcutil/v01-01/lib:/home/remi/ilcsoft/v01-17-03/CLHEP/2.1.3.1/lib:/home/remi/ilcsoft/v01-17-03/QT/4.7.4/lib:/home/remi/ilcsoft/v01-17-03/xercesc/3.1.1/lib:/home/remi/ilcsoft/v01-17-03/mysql/usr/lib64/mysql:/home/remi/ilcsoft/v01-17-03/mysql/usr/lib64:/home/remi/ilcsoft/v01-17-03/mysql/usr/lib/mysql:/home/remi/ilcsoft/v01-17-03/mysql/usr/lib:/home/remi/igprof/lib:/usr/local/cuda-5.5/lib:/home/remi/crystalspace/crystalspace-src-2.0:/usr/local/src/usr/lib:/usr/local/lib/MyLib::/home/remi/ilcsoft/SDHCAL/Baboon/lib:/home/remi/ilcsoft/SDHCAL/MarlinBaboon/lib /home/remi/ilcsoft/v01-17-03/root/5.34.05/bin/rootcint -v4 -f /home/remi/git/LCAmore/build/source/src/LCAmoreDict.cc -c 	-I/home/remi/ilcsoft/v01-17-03/root/5.34.05/include	-I/home/remi/ilcsoft/v01-17-03/lcio/v02-04-02/include	-I/home/remi/ilcsoft/v01-17-03/mysql/usr/include/mysql	-I/home/remi/ilcsoft/v01-17-03/ilcutil/v01-01/include	-I/home/remi/dim/dim/dim	-I/home/remi/git/LCAmore/source/include	-I/home/remi/git/LCAmore/build/source/src -p /home/remi/git/LCAmore/source/include/lcamore/AboutDialog.hh /home/remi/git/LCAmore/source/include/lcamore/Logging.hh /home/remi/git/LCAmore/source/include/lcamore/VisualModule.hh /home/remi/git/LCAmore/source/include/lcamore/PublisherModule.hh /home/remi/git/LCAmore/source/include/lcamore/SubscriberModule.hh /home/remi/git/LCAmore/source/include/lcamore/MainFrame.hh /home/remi/git/LCAmore/source/include/lcamore/MonitorObject.hh /home/remi/git/LCAmore/source/include/lcamore/MonitorObjectTObject.hh /home/remi/git/LCAmore/source/include/lcamore/MonitorObjectString.hh /home/remi/git/LCAmore/source/include/lcamore/MonitorObjectScalar.hh /home/remi/git/LCAmore/source/include/lcamore/MonitorObjectProfile.hh /home/remi/git/LCAmore/source/include/lcamore/MonitorObjectHisto.hh /home/remi/git/LCAmore/source/include/lcamore/MonitorObjectGraph.hh /home/remi/git/LCAmore/source/include/LinkDef.hh
Limitation: Items in header must be separately specified /home/remi/git/LCAmore/source/include/lcamore/MonitoringException.hh:92:
Warning: Error occurred during reading source files
Warning: Error occurred during dictionary source generation
!!!Removing /home/remi/git/LCAmore/build/source/src/LCAmoreDict.cc /home/remi/git/LCAmore/build/source/src/LCAmoreDict.h !!!
Error: /home/remi/ilcsoft/v01-17-03/root/5.34.05/bin/rootcint: error loading headers...
make[2]: *** [source/src/LCAmoreDict.cc] Erreur 1
make[2]: quittant le répertoire « /home/remi/git/LCAmore/build »
make[1]: *** [source/CMakeFiles/LCAmore.dir/all] Erreur 2
make[1]: quittant le répertoire « /home/remi/git/LCAmore/build »
make: *** [all] Erreur 2
$

Cheers,

RE

Hi,

I finally found the problem with CINT.
It seems that an implementation of a class can’t be only in a header file, thus the message “Limitation: Items must be separatly specified”.
I created a .cc file and move the implementation of my exception in this file.

Everything works perfectly.

Thank you for your help.

RE