Brett Viren writes: > Brett Viren writes: > -Brett. I gotta stop talking to myself like this... Okay, I found a problem with ROOT and GCC 3.1.1/3.2 in the area of building cintdlls ("make cintdlls"): ------------------- In file included from cint/lib/dll_stl/G__cpp_vector.cxx:4: cint/lib/dll_stl/G__cpp_vector.h:73: syntax error before `;' token cint/lib/dll_stl/G__cpp_vector.h:77: syntax error before `;' token (many more ....) In file included from cint/lib/dll_stl/G__cpp_list.cxx:4: cint/lib/dll_stl/G__cpp_list.h:71: syntax error before `;' token cint/lib/dll_stl/G__cpp_list.h:76: syntax error before `;' token (many more ....) ------------------- And similar for map, map2, deque, set, multimap, multimap2, multiset, stack, and queue. The offending lines are like the following for the "vector" and the "list", respectively: ------------------- typedef random_access_iterator<char,long> G__random_access_iteratorlEcharcOlonggR; typedef bidirectional_iterator<int,long> G__bidirectional_iteratorlEintcOlonggR; ------------------- I tried playing with these lines and found the "syntax error" is due to these iterators types not being defined. The only places I find these defined in GCC 3.1.1 and 3.2's libstdc++ headers are: /usr/include/c++/3.1/backward/iterator.h /usr/include/c++/3.2/backward/iterator.h in which I find this warning: ------------------- #warning This file includes at least one deprecated or antiquated header. \ Please consider using one of the 32 headers found in section 17.4.1.2 of the \ C++ standard. Examples include substituting the <X> header for the <X.h> \ header for C++ includes, or <sstream> instead of the deprecated header \ <strstream.h>. To disable this warning use -Wno-deprecated. ------------------- and this comment: ------------------- // The base classes input_iterator, output_iterator, forward_iterator, // bidirectional_iterator, and random_access_iterator are not part of // the C++ standard. (They have been replaced by struct iterator.) // They are included for backward compatibility with the HP STL. [ defs of the iterators ... ] ------------------- The backward/iterator.h file is not getting included into G__cpp_vector.cxx and the rest, although the warning is triggered in two spots (both due to cint/lib/longlong/longlong.h including iostream.h). This is with ROOT 3.03/08 CVS ca. 8/26 on Debian x86 with both GCC versions 3.1.1 and 3.2: ------------------- g++-3.1 -v Reading specs from /usr/lib/gcc-lib/i386-linux/3.1.1/specs Configured with: /mnt/data/gcc-3.1/gcc-3.1-3.1.1ds3/src/configure -v --enable-languages=c,c++,java,f77,proto,objc,ada --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-gxx-include-dir=/usr/include/c++/3.1 --enable-shared --with-system-zlib --enable-long-long --enable-nls --without-included-gettext --enable-clocale=gnu --enable-__cxa_atexit --enable-threads=posix --enable-java-gc=boehm --enable-objc-gc i386-linux Thread model: posix gcc version 3.1.1 ------------------- and ------------------- g++-3.2 -v Reading specs from /usr/lib/gcc-lib/i386-linux/3.2/specs Configured with: /mnt/data/gcc-3.1/gcc-3.2-3.2ds0/src/configure -v --enable-languages=c,c++,java,f77,proto,objc,ada --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-gxx-include-dir=/usr/include/c++/3.2 --enable-shared --with-system-zlib --enable-nls --without-included-gettext --enable-__cxa_atexit --enable-java-gc=boehm --enable-objc-gc i386-linux Thread model: posix gcc version 3.2 20020809 (Debian prerelease) ------------------- Not sure what the best solution is, but I guess replacing these iterator types with those defined in <iterator> is a start. Cheers, -Brett.
This archive was generated by hypermail 2b29 : Sat Jan 04 2003 - 23:51:06 MET