Janet Borzuchowski <borzuj@xxxxxxxxxxxxxxxxxx> writes: > Hi, > We recently switched from gcc 2.8.1 to gcc 3.3. When compiling, I get > the following errors: I'm sorry, but without seeing a short but releveant code example, one can only guess why. The streams library shipped with 3.3 aims for compliance with the 1998 ISO C++ standard. It is radically different from the 1990 ARM C++ streams library 2.8.1 shipped with. If your code makes much use of custom stream buffers and such, you're in for some work. > > ..... Compiling > /proj/vulture/wrk/swangdr/pt_1470630.dt/small_tape.pj/cctu.ss/dmptool.cmp/DataGr > oup.cc > ..... Into > /proj/vulture/wrk/swangdr/pt_1470630.dt/small_tape.pj/cctu.ss/dmptool.cmp/DataGr > oup.o > /apps/gcc-3.3/include/c++/3.3/bits/basic_ios.h: In instantiation of > `std::basic_ios<char, NamedData>': > /proj/vulture/wrk/swangdr/pt_1470630.dt/small_tape.pj/cctu.ss/dmptool.cmp/DataGr > oup.cc:483: instantiated fro > m `std::basic_ostream<char, NamedData>' Why are you instantiating a basic_ostream on char and NamedData? If NamedData is a traits class, it needs typedefs for pos_type, int_type, and off_type. If it isn't a traits class, it doesn't belong in basic_ostream's parameter list. [snip] > There are no types int_type, pos_type and off_type in class NamedData or > in any of our files. How do I get rid of these errors? I've played but to no > avail. These errors did not occur in 2.8.1. [snip] 2.8.1 did not have a basic_ostream class template at all. So I don't think these errors are simply due to migration - something else must have been changed as well. (Possibly, you were using a 3rd-party implementation of the standard library?)