Hi Andre, alas it is an icc optimization problem. Set env var ROOTBUILD=debug and gmake again. You can at least compare icc -g against gcc -g ;-) Cheers, Fons. On Fri, 2002-04-05 at 12:09, André David wrote: > 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 -- Org: CERN, European Laboratory for Particle Physics. Mail: 1211 Geneve 23, Switzerland E-Mail: Fons.Rademakers@cern.ch Phone: +41 22 7679248 WWW: http://root.cern.ch/~rdm/ Fax: +41 22 7679480
This archive was generated by hypermail 2b29 : Sat Jan 04 2003 - 23:50:48 MET