Well, here goes. I'll snip a chunk out of the middle to shorten the post! c++ -I/home/dart/src/dartnms/include -I/home/dart/src/plugappsdk/include -I/home/dart/src/dartnms/plugins/dartnmsbase/include -I/home/dart/src/lib -D_LINUX_ -Wno-deprecated -c -fpermissive -o /home/dart/src/dartnms/obj/main.o /home/dart/src/dartnms/src/main.cpp /usr/include/c++/4.1.2/bits/stl_tree.h:330: error: expected identifier before ‘}’ token /usr/include/c++/4.1.2/bits/stl_tree.h:330: error: expected unqualified-id before ‘}’ token /usr/include/c++/4.1.2/bits/stl_tree.h:330: error: expected unqualified-id before ‘else’ /usr/include/c++/4.1.2/bits/stl_tree.h:791: error: no ‘std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::operator=(const std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>&)’ member function declared in class ‘std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>’ /usr/include/c++/4.1.2/bits/stl_tree.h:791: error: template definition of non-template ‘std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::operator=(const std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>&)’ /usr/include/c++/4.1.2/bits/stl_tree.h: In member function ‘std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::operator=(const std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>&)’: /usr/include/c++/4.1.2/bits/stl_tree.h:797: error: ‘_M_impl’ was not declared in this scope /usr/include/c++/4.1.2/bits/stl_tree.h: At global scope: /usr/include/c++/4.1.2/bits/stl_tree.h:813: error: ‘typename std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_M_insert’ is not a static member of ‘class std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>’ /usr/include/c++/4.1.2/bits/stl_tree.h:813: error: template definition of non-template ‘typename std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_M_insert’ [...snip...] /usr/include/c++/4.1.2/bits/stl_tree.h:1485: error: ‘__x’ was not declared in this scope /usr/include/c++/4.1.2/bits/stl_map.h: At global scope: /usr/include/c++/4.1.2/bits/stl_map.h:127: error: expected identifier before ‘}’ token /usr/include/c++/4.1.2/bits/stl_map.h:127: error: expected unqualified-id before ‘}’ token /usr/include/c++/4.1.2/bits/stl_map.h:127: error: expected unqualified-id before ‘else’ /usr/include/c++/4.1.2/bits/stl_multimap.h:142: error: expected identifier before ‘}’ token /usr/include/c++/4.1.2/bits/stl_multimap.h:142: error: expected unqualified-id before ‘}’ token /usr/include/c++/4.1.2/bits/stl_multimap.h:142: error: expected unqualified-id before ‘else’ make: *** [/home/dart/src/dartnms/obj/main.o] Error 1 Thanks, Dave -----Original Message----- From: Tom Browder [mailto:tom.browder@xxxxxxxxx] Sent: Tuesday, February 12, 2008 4:23 PM To: David Arthur Cc: gcc-help@xxxxxxxxxxx Subject: Re: STL problems in GCC 4.1.2 On 2/12/08, David Arthur <darthur@xxxxxxxxxxxxx> wrote: ... > I am trying to compile an app under gcc 4.1.2 and I get _loads_ of STL > errors, relating to templates in STL headers that are unhappy. The strange > thing is that all compiles beautifully under gcc 3.3.3! I have found that Lots of changes, and tightening of user code required, from 3.3.3 to 4.1.2. How about posting a couple of the error messages so we can see what kinds of errors you're talking about. -Tom