Hi,
GLAST is trying to get it's software ready for gcc v3. Among the external
packages used, is ROOT.
I compiled and linked ROOT v3.03.09 with gcc v3.0.2 . I still hesitate
to upgrade to RH80/gcc v3.2, it would break a lot of dependencies.
Our simulation package uses root as the output format. cmt to build
invokes rootcint, and there I found a strange behaviour:
cd ../digiRootData/ ; export LD_LIBRARY_PATH=/home/users/kuss/scratch/ROOT/lib;/home/users/kuss/scratch/ROOT/bin/rootcint -f ../digiRootData/digiRootData_rootcint.cxx -c -I/data00b/users/kuss/myGlast/packages/Gleam_v2r5_gcc3/mcRootData/v2r8 ../digiRootData/AcdDigi.h ../digiRootData/AcdId.h ../digiRootData/CalDigi.h ../digiRootData/CalXtalId.h ../digiRootData/CalXtalReadout.h ../digiRootData/DigiEvent.h ../digiRootData/GlastAxis.h ../digiRootData/L1T.h ../digiRootData/TkrDigi.h ../digiRootData/TowerId.h ../digiRootData/EventLinkDef.h
Error: class,struct,union or type __traits_type::iterator_category not defined FILE:prec_stl/iterator LINE:261
Error: class,struct,union or type __traits_type::value_type not defined FILE:prec_stl/iterator LINE:262
Error: class,struct,union or type __traits_type::difference_type not defined FILE:prec_stl/iterator LINE:263
Error: class,struct,union or type __traits_type::pointer not defined FILE:prec_stl/iterator LINE:264
Error: class,struct,union or type __traits_type::reference not defined FILE:prec_stl/iterator LINE:265
Warning: Error occured during reading source files
Warning: Error occured during dictionary source generation
!!!Removing ../digiRootData/digiRootData_rootcint.cxx ../digiRootData/digiRootData_rootcint.h !!!
Error: /home/users/kuss/scratch/ROOT/bin/rootcint: error loading headers...
gmake[1]: *** [../digiRootData/digiRootData_rootcint.cxx] Error 1
gmake: *** [digiRootDataRootCint] Error 2
Checking, the offending lines are e.g.
std::vector<UInt_t> m_trackIds;
However, if I embrace them by checking for the following macro (it's
defined), everything is fine.
#ifdef __SGI_STL_INTERNAL_ITERATOR_H
std::vector<UInt_t> m_trackIds;
#endif
The compiler itself doesn't care, he compiles both versions. It's just
rootcint which doesn't make it without the macro. Any hint?
Cheers,
Michael
This archive was generated by hypermail 2b29 : Sat Jan 04 2003 - 23:51:15 MET