Hi.
I tried to compile root (tag is 5-21-01-alice) on SL 4.7, g++ 3.4.6 (so, now Rene cannot tell I have compiler “vremen caria Goroha” == compiler of “Tzar Goroh times”).
Is this compiler still supported?
I have such an errors (only part of them), I know the reason (the same problem was somewhere in AliRoot with gcc 3.2 - there is no global operator == for iterators, it’s a member function, and it can be a member function, standard does not require it to be a global function):
cint/cint/lib/dll_stl/G__cpp_map.cxx: In function int G__map__0_166(G__value*, const char*, G__param*, int)': cint/cint/lib/dll_stl/G__cpp_map.cxx:10647: error: no matching function for call tooperator==(std::_Rb_tree_iterator<std::pair<const std::string, int> >&, std::_Rb_tree_iterator<std::pair<const std::string, int> >&)'
cint/cint/lib/dll_stl/G__cpp_map.cxx: In function int G__map__0_167(G__value*, const char*, G__param*, int)': cint/cint/lib/dll_stl/G__cpp_map.cxx:10653: error: no matching function for call tooperator!=(std::_Rb_tree_iterator<std::pair<const std::string, int> >&, std::_Rb_tree_iterator<std::pair<const std::string, int> >&)'
cint/cint/lib/dll_stl/G__cpp_map.cxx: In function int G__map__0_177(G__value*, const char*, G__param*, int)': cint/cint/lib/dll_stl/G__cpp_map.cxx:10721: error: no matching function for call tooperator==(std::_Rb_tree_iterator<std::pair<const std::string, long int> >&, std::_Rb_tree_iterator<std::pair<const std::string, long int> >&)‘
cint/cint/lib/dll_stl/G__cpp_map.cxx: In function int G__map__0_178(G__value*, const char*, G__param*, int)': cint/cint/lib/dll_stl/G__cpp_map.cxx:10727: error: no matching function for call tooperator!=(std::_Rb_tree_iterator<std::pair<const std::string, long int> >&, std::_Rb_tree_iterator<std::pair<const std::string, long int> >&)’
But that doesn’t help - we need to know where it is, because we have to create a dictionary for it. You are the first one to run into this problem with GCC3.4.x. And that’s strange - ROOT is built with GCC 3.4.x on a daily basis. So why doesn’t your compiler pick this up? Can you put an