[Gtkradiant] [Bug 1061] New: GtkRadiant does not build with gcc 4.0

bugzilla-daemon at zerowing.idsoftware.com bugzilla-daemon at zerowing.idsoftware.com
Sun May 15 00:12:33 CDT 2005


http://you-havent-visited-editparams.cgi-yet/show_bug.cgi?id=1061

           Summary: GtkRadiant does not build with gcc 4.0
           Product: GtkRadiant
           Version: 1.5
          Platform: PC
        OS/Version: Linux
            Status: NEW
          Severity: normal
          Priority: P2
         Component: editor
        AssignedTo: gtkradiant at zerowing.idsoftware.com
        ReportedBy: david_costanzo at yahoo.com


I upgraded my machine from FC2 to FC4 Test 2 and can no longer build GtkRadiant.
I am using svn revision 5149.

Reproducibility: Every Time

Steps to Reproduce:
1) Install gcc 4.0 on your system.
2) run "scons" in the GtkRadiant directory

What happens:

I get the following output:

 scons: Reading SConscript files ...
 SCons 0.96
 OS="Linux"
 Loading build configuration from site.conf
 CC="gcc"
 CXX="g++"
 SETUP="0"
 JOBS="1"
 BUILD="debug"
 Compiler version check failed - need gcc 3.x:
 CC: gcc ['4', '0', '0']
 CXX: g++ ['4', '0', '0']

Expected Result:
GtkRadiant compiles, like it did with GCC 3.2.

Additional Info:
If I modidify SConstruct to allow gcc 4.0, the build breaks with the following
error message:

g++ -pipe -DQ_NO_STLPORT -W -Wall -Wcast-align -Wcast-qual -Wno-unused-parameter
-Wno-non-virtual-dtor -Wreorder -g -D_DEBUG `pkg-config glib-2.0 --cflags`
`xml2-config --cflags` `libpng-config --cflags` -fPIC -Ibuild/debug/libs -Ilibs
-Ibuild/debug/include -Iinclude -c -o build/debug/plugins/entity/eclassmodel.os
plugins/entity/eclassmodel.cpp
/usr/lib/gcc/i386-redhat-linux/4.0.0/../../../../include/c++/4.0.0/bits/stl_iterator_base_types.h:
In instantiation of
‘std::iterator_traits<TraversableObserverEraseOutputIterator>’:/usr/lib/gcc/i386-redhat-linux/4.0.0/../../../../include/c++/4.0.0/bits/stl_algobase.h:310:
  instantiated from ‘_OI std::__copy_aux(_II, _II, _OI) [with _II =
NodeReference*, _OI = TraversableObserverEraseOutputIterator]’
/usr/lib/gcc/i386-redhat-linux/4.0.0/../../../../include/c++/4.0.0/bits/stl_algobase.h:335:
  instantiated from ‘static _OI std::__copy_normal<true, false>::copy_n(_II,
_II, _OI) [with _II = __gnu_cxx::__normal_iterator<NodeReference*,
std::vector<NodeReference, std::allocator<NodeReference> > >, _OI =
TraversableObserverEraseOutputIterator]’
/usr/lib/gcc/i386-redhat-linux/4.0.0/../../../../include/c++/4.0.0/bits/stl_algobase.h:387:
  instantiated from ‘_OutputIterator std::copy(_InputIterator, _InputIterator,
_OutputIterator) [with _InputIterator =
__gnu_cxx::__normal_iterator<NodeReference*, std::vector<NodeReference,
std::allocator<NodeReference> > >, _OutputIterator =
TraversableObserverEraseOutputIterator]’
/usr/lib/gcc/i386-redhat-linux/4.0.0/../../../../include/c++/4.0.0/bits/stl_algo.h:4348:
instantiated from ‘_OutputIterator std::set_difference(_InputIterator1,
_InputIterator1, _InputIterator2, _InputIterator2, _OutputIterator) [with
_InputIterator1 = __gnu_cxx::__normal_iterator<NodeReference*,
std::vector<NodeReference, std::allocator<NodeReference> > >, _InputIterator2 =
__gnu_cxx::__normal_iterator<NodeReference*, std::vector<NodeReference,
std::allocator<NodeReference> > >, _OutputIterator =
TraversableObserverEraseOutputIterator]’
libs/traverselib.h:64:   instantiated from here
/usr/lib/gcc/i386-redhat-linux/4.0.0/../../../../include/c++/4.0.0/bits/stl_iterator_base_types.h:129:
error: no type named ‘iterator_category’ in ‘class
TraversableObserverEraseOutputIterator’
/usr/lib/gcc/i386-redhat-linux/4.0.0/../../../../include/c++/4.0.0/bits/stl_iterator_base_types.h:130:
error: no type named ‘value_type’ in ‘class TraversableObserverEraseOutputIterator’
/usr/lib/gcc/i386-redhat-linux/4.0.0/../../../../include/c++/4.0.0/bits/stl_iterator_base_types.h:131:
error: no type named ‘difference_type’ in ‘class
TraversableObserverEraseOutputIterator’
/usr/lib/gcc/i386-redhat-linux/4.0.0/../../../../include/c++/4.0.0/bits/stl_iterator_base_types.h:132:
error: no type named ‘pointer’ in ‘class TraversableObserverEraseOutputIterator’
/usr/lib/gcc/i386-redhat-linux/4.0.0/../../../../include/c++/4.0.0/bits/stl_iterator_base_types.h:133:
error: no type named ‘reference’ in ‘class TraversableObserverEraseOutputIterator’
/usr/lib/gcc/i386-redhat-linux/4.0.0/../../../../include/c++/4.0.0/bits/stl_algobase.h:
In function ‘_OI std::__copy_aux(_II, _II, _OI) [with _II = NodeReference*, _OI
= TraversableObserverEraseOutputIterator]’:
/usr/lib/gcc/i386-redhat-linux/4.0.0/../../../../include/c++/4.0.0/bits/stl_algobase.h:335:
  instantiated from ‘static _OI std::__copy_normal<true, false>::copy_n(_II,
_II, _OI) [with _II = __gnu_cxx::__normal_iterator<NodeReference*,
std::vector<NodeReference, std::allocator<NodeReference> > >, _OI =
TraversableObserverEraseOutputIterator]’
/usr/lib/gcc/i386-redhat-linux/4.0.0/../../../../include/c++/4.0.0/bits/stl_algobase.h:387:
  instantiated from ‘_OutputIterator std::copy(_InputIterator, _InputIterator,
_OutputIterator) [with _InputIterator =
__gnu_cxx::__normal_iterator<NodeReference*, std::vector<NodeReference,
std::allocator<NodeReference> > >, _OutputIterator =
TraversableObserverEraseOutputIterator]’
/usr/lib/gcc/i386-redhat-linux/4.0.0/../../../../include/c++/4.0.0/bits/stl_algo.h:4348:
instantiated from ‘_OutputIterator std::set_difference(_InputIterator1,
_InputIterator1, _InputIterator2, _InputIterator2, _OutputIterator) [with
_InputIterator1 = __gnu_cxx::__normal_iterator<NodeReference*,
std::vector<NodeReference, std::allocator<NodeReference> > >, _InputIterator2 =
__gnu_cxx::__normal_iterator<NodeReference*, std::vector<NodeReference,
std::allocator<NodeReference> > >, _OutputIterator =
TraversableObserverEraseOutputIterator]’
libs/traverselib.h:64:   instantiated from here
/usr/lib/gcc/i386-redhat-linux/4.0.0/../../../../include/c++/4.0.0/bits/stl_algobase.h:315:
error: ‘__value’ is not a member of ‘<declaration error>’
/usr/lib/gcc/i386-redhat-linux/4.0.0/../../../../include/c++/4.0.0/bits/stl_algobase.h:335:
  instantiated from ‘static _OI std::__copy_normal<true, false>::copy_n(_II,
_II, _OI) [with _II = __gnu_cxx::__normal_iterator<NodeReference*,
std::vector<NodeReference, std::allocator<NodeReference> > >, _OI =
TraversableObserverEraseOutputIterator]’
/usr/lib/gcc/i386-redhat-linux/4.0.0/../../../../include/c++/4.0.0/bits/stl_algobase.h:387:
  instantiated from ‘_OutputIterator std::copy(_InputIterator, _InputIterator,
_OutputIterator) [with _InputIterator =
__gnu_cxx::__normal_iterator<NodeReference*, std::vector<NodeReference,
std::allocator<NodeReference> > >, _OutputIterator =
TraversableObserverEraseOutputIterator]’
/usr/lib/gcc/i386-redhat-linux/4.0.0/../../../../include/c++/4.0.0/bits/stl_algo.h:4348:
instantiated from ‘_OutputIterator std::set_difference(_InputIterator1,
_InputIterator1, _InputIterator2, _InputIterator2, _OutputIterator) [with
_InputIterator1 = __gnu_cxx::__normal_iterator<NodeReference*,
std::vector<NodeReference, std::allocator<NodeReference> > >, _InputIterator2 =
__gnu_cxx::__normal_iterator<NodeReference*, std::vector<NodeReference,
std::allocator<NodeReference> > >, _OutputIterator =
TraversableObserverEraseOutputIterator]’
libs/traverselib.h:64:   instantiated from here
/usr/lib/gcc/i386-redhat-linux/4.0.0/../../../../include/c++/4.0.0/bits/stl_algobase.h:317:
error: ‘__simple’ is not a valid template argument for type ‘bool’ because it is
a non-constant expression
/usr/lib/gcc/i386-redhat-linux/4.0.0/../../../../include/c++/4.0.0/bits/stl_algobase.h:317:
error: ‘copy’ is not a member of ‘<declaration error>’
/usr/lib/gcc/i386-redhat-linux/4.0.0/../../../../include/c++/4.0.0/bits/stl_iterator_base_types.h:
At global scope:
/usr/lib/gcc/i386-redhat-linux/4.0.0/../../../../include/c++/4.0.0/bits/stl_iterator_base_types.h:
In instantiation of ‘std::iterator_traits<TraversableObserverInsertOutputIterator>’:
/usr/lib/gcc/i386-redhat-linux/4.0.0/../../../../include/c++/4.0.0/bits/stl_algobase.h:310:
  instantiated from ‘_OI std::__copy_aux(_II, _II, _OI) [with _II =
NodeReference*, _OI = TraversableObserverInsertOutputIterator]’
/usr/lib/gcc/i386-redhat-linux/4.0.0/../../../../include/c++/4.0.0/bits/stl_algobase.h:335:
  instantiated from ‘static _OI std::__copy_normal<true, false>::copy_n(_II,
_II, _OI) [with _II = __gnu_cxx::__normal_iterator<NodeReference*,
std::vector<NodeReference, std::allocator<NodeReference> > >, _OI =
TraversableObserverInsertOutputIterator]’
/usr/lib/gcc/i386-redhat-linux/4.0.0/../../../../include/c++/4.0.0/bits/stl_algobase.h:387:
  instantiated from ‘_OutputIterator std::copy(_InputIterator, _InputIterator,
_OutputIterator) [with _InputIterator =
__gnu_cxx::__normal_iterator<NodeReference*, std::vector<NodeReference,
std::allocator<NodeReference> > >, _OutputIterator =
TraversableObserverInsertOutputIterator]’
/usr/lib/gcc/i386-redhat-linux/4.0.0/../../../../include/c++/4.0.0/bits/stl_algo.h:4348:
instantiated from ‘_OutputIterator std::set_difference(_InputIterator1,
_InputIterator1, _InputIterator2, _InputIterator2, _OutputIterator) [with
_InputIterator1 = __gnu_cxx::__normal_iterator<NodeReference*,
std::vector<NodeReference, std::allocator<NodeReference> > >, _InputIterator2 =
__gnu_cxx::__normal_iterator<NodeReference*, std::vector<NodeReference,
std::allocator<NodeReference> > >, _OutputIterator =
TraversableObserverInsertOutputIterator]’libs/traverselib.h:65:   instantiated
from here
/usr/lib/gcc/i386-redhat-linux/4.0.0/../../../../include/c++/4.0.0/bits/stl_iterator_base_types.h:129:
error: no type named ‘iterator_category’ in ‘class
TraversableObserverInsertOutputIterator’
/usr/lib/gcc/i386-redhat-linux/4.0.0/../../../../include/c++/4.0.0/bits/stl_iterator_base_types.h:130:
error: no type named ‘value_type’ in ‘class TraversableObserverInsertOutputIterator’
/usr/lib/gcc/i386-redhat-linux/4.0.0/../../../../include/c++/4.0.0/bits/stl_iterator_base_types.h:131:
error: no type named ‘difference_type’ in ‘class
TraversableObserverInsertOutputIterator’
/usr/lib/gcc/i386-redhat-linux/4.0.0/../../../../include/c++/4.0.0/bits/stl_iterator_base_types.h:132:
error: no type named ‘pointer’ in ‘class TraversableObserverInsertOutputIterator’
/usr/lib/gcc/i386-redhat-linux/4.0.0/../../../../include/c++/4.0.0/bits/stl_iterator_base_types.h:133:
error: no type named ‘reference’ in ‘class TraversableObserverInsertOutputIterator’
/usr/lib/gcc/i386-redhat-linux/4.0.0/../../../../include/c++/4.0.0/bits/stl_algobase.h:
In function ‘_OI std::__copy_aux(_II, _II, _OI) [with _II = NodeReference*, _OI
= TraversableObserverInsertOutputIterator]’:
/usr/lib/gcc/i386-redhat-linux/4.0.0/../../../../include/c++/4.0.0/bits/stl_algobase.h:335:
  instantiated from ‘static _OI std::__copy_normal<true, false>::copy_n(_II,
_II, _OI) [with _II = __gnu_cxx::__normal_iterator<NodeReference*,
std::vector<NodeReference, std::allocator<NodeReference> > >, _OI =
TraversableObserverInsertOutputIterator]’
/usr/lib/gcc/i386-redhat-linux/4.0.0/../../../../include/c++/4.0.0/bits/stl_algobase.h:387:
  instantiated from ‘_OutputIterator std::copy(_InputIterator, _InputIterator,
_OutputIterator) [with _InputIterator =
__gnu_cxx::__normal_iterator<NodeReference*, std::vector<NodeReference,
std::allocator<NodeReference> > >, _OutputIterator =
TraversableObserverInsertOutputIterator]’
/usr/lib/gcc/i386-redhat-linux/4.0.0/../../../../include/c++/4.0.0/bits/stl_algo.h:4348:
instantiated from ‘_OutputIterator std::set_difference(_InputIterator1,
_InputIterator1, _InputIterator2, _InputIterator2, _OutputIterator) [with
_InputIterator1 = __gnu_cxx::__normal_iterator<NodeReference*,
std::vector<NodeReference, std::allocator<NodeReference> > >, _InputIterator2 =
__gnu_cxx::__normal_iterator<NodeReference*, std::vector<NodeReference,
std::allocator<NodeReference> > >, _OutputIterator =
TraversableObserverInsertOutputIterator]’libs/traverselib.h:65:   instantiated
from here
/usr/lib/gcc/i386-redhat-linux/4.0.0/../../../../include/c++/4.0.0/bits/stl_algobase.h:315:
error: ‘__value’ is not a member of ‘<declaration error>’
/usr/lib/gcc/i386-redhat-linux/4.0.0/../../../../include/c++/4.0.0/bits/stl_algobase.h:335:
  instantiated from ‘static _OI std::__copy_normal<true, false>::copy_n(_II,
_II, _OI) [with _II = __gnu_cxx::__normal_iterator<NodeReference*,
std::vector<NodeReference, std::allocator<NodeReference> > >, _OI =
TraversableObserverInsertOutputIterator]’
/usr/lib/gcc/i386-redhat-linux/4.0.0/../../../../include/c++/4.0.0/bits/stl_algobase.h:387:
  instantiated from ‘_OutputIterator std::copy(_InputIterator, _InputIterator,
_OutputIterator) [with _InputIterator =
__gnu_cxx::__normal_iterator<NodeReference*, std::vector<NodeReference,
std::allocator<NodeReference> > >, _OutputIterator =
TraversableObserverInsertOutputIterator]’
/usr/lib/gcc/i386-redhat-linux/4.0.0/../../../../include/c++/4.0.0/bits/stl_algo.h:4348:
instantiated from ‘_OutputIterator std::set_difference(_InputIterator1,
_InputIterator1, _InputIterator2, _InputIterator2, _OutputIterator) [with
_InputIterator1 = __gnu_cxx::__normal_iterator<NodeReference*,
std::vector<NodeReference, std::allocator<NodeReference> > >, _InputIterator2 =
__gnu_cxx::__normal_iterator<NodeReference*, std::vector<NodeReference,
std::allocator<NodeReference> > >, _OutputIterator =
TraversableObserverInsertOutputIterator]’libs/traverselib.h:65:   instantiated
from here
/usr/lib/gcc/i386-redhat-linux/4.0.0/../../../../include/c++/4.0.0/bits/stl_algobase.h:317:
error: ‘__simple’ is not a valid template argument for type ‘bool’ because it is
a non-constant expression
/usr/lib/gcc/i386-redhat-linux/4.0.0/../../../../include/c++/4.0.0/bits/stl_algobase.h:317:
error: ‘copy’ is not a member of ‘<declaration error>’
scons: *** [build/debug/plugins/entity/eclassmodel.os] Error 1
scons: building terminated because of errors.

-- 
Configure bugmail: http://you-havent-visited-editparams.cgi-yet/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.



More information about the Gtkradiant mailing list