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