Re: [ROOT] Making ROOT 3.02/07

From: Fons Rademakers (Fons.Rademakers@cern.ch)
Date: Fri Apr 05 2002 - 13:27:48 MEST


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