Hi all, I was trying to see if icc is really faster than gcc when producing code, and what best than ROOT to check that? So I got the ROOT source, expecting I'd had to hack through the makefiles, when *grin* Makefile.linuxicc was there ready to use. So, ./configure linuxicc, gmake and *shrug* I got to something I believe is a cint problem: Generating dictionary eg/src/G__EG.cxx... utils/src/rootcint_tmp -f eg/src/G__EG.cxx -c eg/inc/TAttParticle.h eg/inc/TDatabasePDG.h eg/inc/TDecayChannel.h eg/inc/TGenerator.h eg/inc/TParticle.h eg/inc/TParticleClassPDG.h eg/inc/TParticlePDG.h eg/inc/TPrimary.h eg/inc/LinkDef.h Error: class,struct,union or type TRotation: not defined FILE:include/TRotation.h LINE:144 Error: class,struct,union or type TRotation: not defined FILE:include/TRotation.h LINE:144 Error: class,struct,union or type [] not defined FILE:include/TRotation.h LINE:144 Note: File "eg/inc/TParticleClassPDG.h" already loaded Note: File "eg/inc/TParticlePDG.h" already loaded Warning: Error occured during reading source files Warning: Error occured during dictionary source generation !!!Removing eg/src/G__EG.cxx eg/src/G__EG.h !!! utils/src/rootcint_tmp: error loading headers... gmake: *** [eg/src/G__EG.cxx] Error 1 Just, before checking inside include/TRotation.h lets see what gcc does. So, to be sure the directory is clean, I removed the root directory, untarred the thing again (call me paranoid) and ./configure linux, gmake. This goes without a hitch. So this got me wondering... FILE:include/TRotation.h LINE:144 reads: TRotation::TRotationRow TRotation::operator [] (int i) const { So, I changed it to read (TRotation::TRotationRow) (TRotation::operator [] (int i)) const { and gmake again. The error does not go away. It becomes simply: Error: class,struct,union or type TRotation: not defined FILE:include/TRotation.h LINE:145 Warning: Unknown type TRotation::TRotationRow in function argument FILE:include/TRotation.h LINE:145 Now this I do not understand. TRotation::TRotationRow is defined as a public nested class of TRotation. I just do not understand how gcc goes about this "problem", since the complaining party is utils/src/rootcint_tmp. Could it be a problem on the compilation of utils/src/rootcint_tmp? I have tried to get rootcint compiled with gcc/g++ but then I get linkage problems (known to icc). Can anyone comment on this problem, or in general: Has anyone got ROOT to compile with icc? Thanks, Andre
This archive was generated by hypermail 2b29 : Sat Jan 04 2003 - 23:50:48 MET