Error building Panda3D on Fedora Core 4 using makepanda

Ok here’s the straight dump from GCC4 - ugly stuff!

[mike@localhost makepanda]$ python makepanda.py --everything

-------------------------------------------------------------------
Makepanda Initial Status Report
Makepanda: Prefix Directory: built
Makepanda: Compiler: LINUXA
Makepanda: Optimize: 3
Makepanda: Keep Pkg: PYTHON ZLIB PNG JPEG TIFF VRPN FMOD NVIDIACG NSPR SSL FREETYPE FFTW
Makepanda: Omit Pkg: HELIX MILES MAYA5 MAYA6 MAYA65 MAX5 MAX6 MAX7
Makepanda: Thirdparty dir: thirdparty
Makepanda: DirectX SDK dir: None
Makepanda: Verbose vs. Quiet Level: 1
Makepanda: Don't generate API reference manual
Makepanda: Version ID: 0.0.0
Makepanda: MAYA5 not yet supported under linux
Makepanda: I have automatically added this command-line option: --no-maya5
Makepanda: MAYA6 not yet supported under linux
Makepanda: I have automatically added this command-line option: --no-maya6
Makepanda: MAYA65 not yet supported under linux
Makepanda: I have automatically added this command-line option: --no-maya65
Makepanda: MAX5 not yet supported under linux
Makepanda: I have automatically added this command-line option: --no-max5
Makepanda: MAX6 not yet supported under linux
Makepanda: I have automatically added this command-line option: --no-max6
Makepanda: MAX7 not yet supported under linux
Makepanda: I have automatically added this command-line option: --no-max7
Makepanda: HELIX not yet supported under linux
Makepanda: I have automatically added this command-line option: --no-helix
Makepanda: You do not have a copy of MILES sound system
Makepanda: I have automatically added this command-line option: --no-miles
Makepanda: Caution: the built/lib directory is not in LD_LIBRARY_PATH
Makepanda: or /etc/ld.so.conf.  You must add it before using panda.
-------------------------------------------------------------------


Starting compile in "dtool/src/dtoolutil" (0 sec):

g++ -ftemplate-depth-30 -c -o built/tmp/dtoolutil_composite1.o -I"/usr/include/python2.4" -Ithirdparty/linux-libs-a/nspr/include -Ibuilt/tmp -Idtool/src/dtoolutil -Ibuilt/include -O2 -DBUILDING_DTOOL dtool/src/dtoolutil/dtoolutil_composite1.cxx
/usr/lib/gcc/i386-redhat-linux/4.0.0/../../../../include/c++/4.0.0/bits/stl_tree.h: In member function ‘void std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::destroy_node(std::_Rb_tree_node<_Val>*) [with _Key = std::string, _Val = std::pair<const std::string, pmap<std::string, std::string, std::less<std::string> > >, _KeyOfValue = std::_Select1st<std::pair<const std::string, pmap<std::string, std::string, std::less<std::string> > > >, _Compare = std::less<std::string>, _Alloc = pallocator<pmap<std::string, std::string, std::less<std::string> > >]’:
/usr/lib/gcc/i386-redhat-linux/4.0.0/../../../../include/c++/4.0.0/bits/stl_tree.h:1057:   instantiated from ‘void std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_M_erase(std::_Rb_tree_node<_Val>*) [with _Key = std::string, _Val = std::pair<const std::string, pmap<std::string, std::string, std::less<std::string> > >, _KeyOfValue = std::_Select1st<std::pair<const std::string, pmap<std::string, std::string, std::less<std::string> > > >, _Compare = std::less<std::string>, _Alloc = pallocator<pmap<std::string, std::string, std::less<std::string> > >]’
/usr/lib/gcc/i386-redhat-linux/4.0.0/../../../../include/c++/4.0.0/bits/stl_tree.h:570:   instantiated from ‘std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::~_Rb_tree() [with _Key = std::string, _Val = std::pair<const std::string, pmap<std::string, std::string, std::less<std::string> > >, _KeyOfValue = std::_Select1st<std::pair<const std::string, pmap<std::string, std::string, std::less<std::string> > > >, _Compare = std::less<std::string>, _Alloc = pallocator<pmap<std::string, std::string, std::less<std::string> > >]’
dtool/src/dtoolutil/pandaSystem.cxx:33:   instantiated from here
/usr/lib/gcc/i386-redhat-linux/4.0.0/../../../../include/c++/4.0.0/bits/stl_tree.h:389: error: no matching function for call to ‘pallocator<pmap<std::string, std::string, std::less<std::string> > >::destroy(std::pair<const std::string, pmap<std::string, std::string, std::less<std::string> > >*)’
/usr/lib/gcc/i386-redhat-linux/4.0.0/../../../../include/c++/4.0.0/ext/mt_allocator.h:614: note: candidates are: void __gnu_cxx::__mt_alloc_base<_Tp>::destroy(_Tp*) [with _Tp = pmap<std::string, std::string, std::less<std::string> >]
/usr/lib/gcc/i386-redhat-linux/4.0.0/../../../../include/c++/4.0.0/bits/stl_tree.h: In member function ‘void std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::destroy_node(std::_Rb_tree_node<_Val>*) [with _Key = std::string, _Val = std::pair<const std::string, std::string>, _KeyOfValue = std::_Select1st<std::pair<const std::string, std::string> >, _Compare = std::less<std::string>, _Alloc = pallocator<std::string>]’:
/usr/lib/gcc/i386-redhat-linux/4.0.0/../../../../include/c++/4.0.0/bits/stl_tree.h:1057:   instantiated from ‘void std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_M_erase(std::_Rb_tree_node<_Val>*) [with _Key = std::string, _Val = std::pair<const std::string, std::string>, _KeyOfValue = std::_Select1st<std::pair<const std::string, std::string> >, _Compare = std::less<std::string>, _Alloc = pallocator<std::string>]’
/usr/lib/gcc/i386-redhat-linux/4.0.0/../../../../include/c++/4.0.0/bits/stl_tree.h:570:   instantiated from ‘std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::~_Rb_tree() [with _Key = std::string, _Val = std::pair<const std::string, std::string>, _KeyOfValue = std::_Select1st<std::pair<const std::string, std::string> >, _Compare = std::less<std::string>, _Alloc = pallocator<std::string>]’
dtool/src/dtoolutil/pandaSystem.cxx:220:   instantiated from here
/usr/lib/gcc/i386-redhat-linux/4.0.0/../../../../include/c++/4.0.0/bits/stl_tree.h:389: error: no matching function for call to ‘pallocator<std::string>::destroy(std::pair<const std::string, std::string>*)’
/usr/lib/gcc/i386-redhat-linux/4.0.0/../../../../include/c++/4.0.0/ext/mt_allocator.h:614: note: candidates are: void __gnu_cxx::__mt_alloc_base<_Tp>::destroy(_Tp*) [with _Tp = std::string]
/usr/lib/gcc/i386-redhat-linux/4.0.0/../../../../include/c++/4.0.0/bits/stl_tree.h: In member function ‘std::_Rb_tree_node<_Val>* std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_M_create_node(const _Val&) [with _Key = std::string, _Val = std::pair<const std::string, pmap<std::string, std::string, std::less<std::string> > >, _KeyOfValue = std::_Select1st<std::pair<const std::string, pmap<std::string, std::string, std::less<std::string> > > >, _Compare = std::less<std::string>, _Alloc = pallocator<pmap<std::string, std::string, std::less<std::string> > >]’:
/usr/lib/gcc/i386-redhat-linux/4.0.0/../../../../include/c++/4.0.0/bits/stl_tree.h:793:   instantiated from ‘typename std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_M_insert(std::_Rb_tree_node_base*, std::_Rb_tree_node_base*, const _Val&) [with _Key = std::string, _Val = std::pair<const std::string, pmap<std::string, std::string, std::less<std::string> > >, _KeyOfValue = std::_Select1st<std::pair<const std::string, pmap<std::string, std::string, std::less<std::string> > > >, _Compare = std::less<std::string>, _Alloc = pallocator<pmap<std::string, std::string, std::less<std::string> > >]’
/usr/lib/gcc/i386-redhat-linux/4.0.0/../../../../include/c++/4.0.0/bits/stl_tree.h:882:   instantiated from ‘std::pair<typename std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator, bool> std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::insert_unique(const _Val&) [with _Key = std::string, _Val = std::pair<const std::string, pmap<std::string, std::string, std::less<std::string> > >, _KeyOfValue = std::_Select1st<std::pair<const std::string, pmap<std::string, std::string, std::less<std::string> > > >, _Compare = std::less<std::string>, _Alloc = pallocator<pmap<std::string, std::string, std::less<std::string> > >]’
/usr/lib/gcc/i386-redhat-linux/4.0.0/../../../../include/c++/4.0.0/bits/stl_map.h:360:   instantiated from ‘std::pair<typename std::_Rb_tree<_Key, std::pair<const _Key, _Tp>, std::_Select1st<std::pair<const _Key, _Tp> >, _Compare, _Alloc>::iterator, bool> std::map<_Key, _Tp, _Compare, _Alloc>::insert(const std::pair<const _Key, _Tp>&) [with _Key = std::string, _Tp = pmap<std::string, std::string, std::less<std::string> >, _Compare = std::less<std::string>, _Alloc = pallocator<pmap<std::string, std::string, std::less<std::string> > >]’
dtool/src/dtoolutil/pandaSystem.cxx:220:   instantiated from here
/usr/lib/gcc/i386-redhat-linux/4.0.0/../../../../include/c++/4.0.0/bits/stl_tree.h:367: error: no matching function for call to ‘pallocator<pmap<std::string, std::string, std::less<std::string> > >::construct(std::pair<const std::string, pmap<std::string, std::string, std::less<std::string> > >*, const std::pair<const std::string, pmap<std::string, std::string, std::less<std::string> > >&)’
/usr/lib/gcc/i386-redhat-linux/4.0.0/../../../../include/c++/4.0.0/ext/mt_allocator.h:610: note: candidates are: void __gnu_cxx::__mt_alloc_base<_Tp>::construct(_Tp*, const _Tp&) [with _Tp = pmap<std::string, std::string, std::less<std::string> >]
/usr/lib/gcc/i386-redhat-linux/4.0.0/../../../../include/c++/4.0.0/bits/stl_tree.h: In member function ‘std::_Rb_tree_node<_Val>* std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_M_create_node(const _Val&) [with _Key = std::string, _Val = std::pair<const std::string, std::string>, _KeyOfValue = std::_Select1st<std::pair<const std::string, std::string> >, _Compare = std::less<std::string>, _Alloc = pallocator<std::string>]’:
/usr/lib/gcc/i386-redhat-linux/4.0.0/../../../../include/c++/4.0.0/bits/stl_tree.h:793:   instantiated from ‘typename std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_M_insert(std::_Rb_tree_node_base*, std::_Rb_tree_node_base*, const _Val&) [with _Key = std::string, _Val = std::pair<const std::string, std::string>, _KeyOfValue = std::_Select1st<std::pair<const std::string, std::string> >, _Compare = std::less<std::string>, _Alloc = pallocator<std::string>]’
/usr/lib/gcc/i386-redhat-linux/4.0.0/../../../../include/c++/4.0.0/bits/stl_tree.h:902:   instantiated from ‘typename std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::insert_unique(std::_Rb_tree_iterator<_Val>, const _Val&) [with _Key = std::string, _Val = std::pair<const std::string, std::string>, _KeyOfValue = std::_Select1st<std::pair<const std::string, std::string> >, _Compare = std::less<std::string>, _Alloc = pallocator<std::string>]’
/usr/lib/gcc/i386-redhat-linux/4.0.0/../../../../include/c++/4.0.0/bits/stl_map.h:384:   instantiated from ‘typename std::_Rb_tree<_Key, std::pair<const _Key, _Tp>, std::_Select1st<std::pair<const _Key, _Tp> >, _Compare, _Alloc>::iterator std::map<_Key, _Tp, _Compare, _Alloc>::insert(typename std::_Rb_tree<_Key, std::pair<const _Key, _Tp>, std::_Select1st<std::pair<const _Key, _Tp> >, _Compare, _Alloc>::iterator, const std::pair<const _Key, _Tp>&) [with _Key = std::string, _Tp = std::string, _Compare = std::less<std::string>, _Alloc = pallocator<std::string>]’
/usr/lib/gcc/i386-redhat-linux/4.0.0/../../../../include/c++/4.0.0/bits/stl_map.h:339:   instantiated from ‘_Tp& std::map<_Key, _Tp, _Compare, _Alloc>::operator[](const _Key&) [with _Key = std::string, _Tp = std::string, _Compare = std::less<std::string>, _Alloc = pallocator<std::string>]’
dtool/src/dtoolutil/pandaSystem.cxx:242:   instantiated from here
/usr/lib/gcc/i386-redhat-linux/4.0.0/../../../../include/c++/4.0.0/bits/stl_tree.h:367: error: no matching function for call to ‘pallocator<std::string>::construct(std::pair<const std::string, std::string>*, const std::pair<const std::string, std::string>&)’
/usr/lib/gcc/i386-redhat-linux/4.0.0/../../../../include/c++/4.0.0/ext/mt_allocator.h:610: note: candidates are: void __gnu_cxx::__mt_alloc_base<_Tp>::construct(_Tp*, const _Tp&) [with _Tp = std::string]

Guess Panda3D doesn’t support GCC4 yet?

It wouldn’t be C++ if they didn’t redefine it every 15 minutes.

:laughing:

I’ve tried to install Panda from source (ver. 1.0.5) using ppremake and it fails when I go to make dtool. Error is as follows:

[lvraab@localhost dtool]$ make
cd ./src/dtoolbase && make all
make[1]: Entering directory `/home/lvraab/Desktop/panda3d-1.0.5/dtool/src/dtoolbase'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/home/lvraab/Desktop/panda3d-1.0.5/dtool/src/dtoolbase'
cd ./src/dtoolutil && make all
make[1]: Entering directory `/home/lvraab/Desktop/panda3d-1.0.5/dtool/src/dtoolutil'
g++ -ftemplate-depth-30 -c -o Opt3-Linux/dtoolutil_dtoolutil_composite1.o -I. -I/home/lvraab/Desktop/panda3d-1.0.5/dtool -I../dtoolbase -I/home/lvraab/Desktop/panda3d-1.0.5/thirdparty/linux-libs-a/nspr -I/usr/include/python2.4    -O2 dtoolutil_composite1.cxx
/usr/lib/gcc/i386-redhat-linux/4.0.0/../../../../include/c++/4.0.0/bits/stl_tree.h: In member function ‘void std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::destroy_node(std::_Rb_tree_node<_Val>*) [with _Key = std::string, _Val = std::pair<const std::string, pmap<std::string, std::string, std::less<std::string> > >, _KeyOfValue = std::_Select1st<std::pair<const std::string, pmap<std::string, std::string, std::less<std::string> > > >, _Compare = std::less<std::string>, _Alloc = pallocator<pmap<std::string, std::string, std::less<std::string> > >]’:
/usr/lib/gcc/i386-redhat-linux/4.0.0/../../../../include/c++/4.0.0/bits/stl_tree.h:1057:   instantiated from ‘void std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_M_erase(std::_Rb_tree_node<_Val>*) [with _Key = std::string, _Val = std::pair<const std::string, pmap<std::string, std::string, std::less<std::string> > >, _KeyOfValue = std::_Select1st<std::pair<const std::string, pmap<std::string, std::string, std::less<std::string> > > >, _Compare = std::less<std::string>, _Alloc = pallocator<pmap<std::string, std::string, std::less<std::string> > >]’
/usr/lib/gcc/i386-redhat-linux/4.0.0/../../../../include/c++/4.0.0/bits/stl_tree.h:570:   instantiated from ‘std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::~_Rb_tree() [with _Key = std::string, _Val = std::pair<const std::string, pmap<std::string, std::string, std::less<std::string> > >, _KeyOfValue = std::_Select1st<std::pair<const std::string, pmap<std::string, std::string, std::less<std::string> > > >, _Compare = std::less<std::string>, _Alloc = pallocator<pmap<std::string, std::string, std::less<std::string> > >]’
pandaSystem.cxx:33:   instantiated from here
/usr/lib/gcc/i386-redhat-linux/4.0.0/../../../../include/c++/4.0.0/bits/stl_tree.h:389: error: no matching function for call to ‘pallocator<pmap<std::string, std::string, std::less<std::string> > >::destroy(std::pair<const std::string, pmap<std::string, std::string, std::less<std::string> > >*)’
/usr/lib/gcc/i386-redhat-linux/4.0.0/../../../../include/c++/4.0.0/ext/mt_allocator.h:614: note: candidates are: void __gnu_cxx::__mt_alloc_base<_Tp>::destroy(_Tp*) [with _Tp = pmap<std::string, std::string, std::less<std::string> >]
/usr/lib/gcc/i386-redhat-linux/4.0.0/../../../../include/c++/4.0.0/bits/stl_tree.h: In member function ‘void std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::destroy_node(std::_Rb_tree_node<_Val>*) [with _Key = std::string, _Val = std::pair<const std::string, std::string>, _KeyOfValue = std::_Select1st<std::pair<const std::string, std::string> >, _Compare = std::less<std::string>, _Alloc = pallocator<std::string>]’:
/usr/lib/gcc/i386-redhat-linux/4.0.0/../../../../include/c++/4.0.0/bits/stl_tree.h:1057:   instantiated from ‘void std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_M_erase(std::_Rb_tree_node<_Val>*) [with _Key = std::string, _Val = std::pair<const std::string, std::string>, _KeyOfValue = std::_Select1st<std::pair<const std::string, std::string> >, _Compare = std::less<std::string>, _Alloc = pallocator<std::string>]’
/usr/lib/gcc/i386-redhat-linux/4.0.0/../../../../include/c++/4.0.0/bits/stl_tree.h:570:   instantiated from ‘std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::~_Rb_tree() [with _Key = std::string, _Val = std::pair<const std::string, std::string>, _KeyOfValue = std::_Select1st<std::pair<const std::string, std::string> >, _Compare = std::less<std::string>, _Alloc = pallocator<std::string>]’
pandaSystem.cxx:220:   instantiated from here
/usr/lib/gcc/i386-redhat-linux/4.0.0/../../../../include/c++/4.0.0/bits/stl_tree.h:389: error: no matching function for call to ‘pallocator<std::string>::destroy(std::pair<const std::string, std::string>*)’
/usr/lib/gcc/i386-redhat-linux/4.0.0/../../../../include/c++/4.0.0/ext/mt_allocator.h:614: note: candidates are: void __gnu_cxx::__mt_alloc_base<_Tp>::destroy(_Tp*) [with _Tp = std::string]
/usr/lib/gcc/i386-redhat-linux/4.0.0/../../../../include/c++/4.0.0/bits/stl_tree.h: In member function ‘std::_Rb_tree_node<_Val>* std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_M_create_node(const _Val&) [with _Key = std::string, _Val = std::pair<const std::string, pmap<std::string, std::string, std::less<std::string> > >, _KeyOfValue = std::_Select1st<std::pair<const std::string, pmap<std::string, std::string, std::less<std::string> > > >, _Compare = std::less<std::string>, _Alloc = pallocator<pmap<std::string, std::string, std::less<std::string> > >]’:
/usr/lib/gcc/i386-redhat-linux/4.0.0/../../../../include/c++/4.0.0/bits/stl_tree.h:793:   instantiated from ‘typename std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_M_insert(std::_Rb_tree_node_base*, std::_Rb_tree_node_base*, const _Val&) [with _Key = std::string, _Val = std::pair<const std::string, pmap<std::string, std::string, std::less<std::string> > >, _KeyOfValue = std::_Select1st<std::pair<const std::string, pmap<std::string, std::string, std::less<std::string> > > >, _Compare = std::less<std::string>, _Alloc = pallocator<pmap<std::string, std::string, std::less<std::string> > >]’
/usr/lib/gcc/i386-redhat-linux/4.0.0/../../../../include/c++/4.0.0/bits/stl_tree.h:882:   instantiated from ‘std::pair<typename std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator, bool> std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::insert_unique(const _Val&) [with _Key = std::string, _Val = std::pair<const std::string, pmap<std::string, std::string, std::less<std::string> > >, _KeyOfValue = std::_Select1st<std::pair<const std::string, pmap<std::string, std::string, std::less<std::string> > > >, _Compare = std::less<std::string>, _Alloc = pallocator<pmap<std::string, std::string, std::less<std::string> > >]’
/usr/lib/gcc/i386-redhat-linux/4.0.0/../../../../include/c++/4.0.0/bits/stl_map.h:360:   instantiated from ‘std::pair<typename std::_Rb_tree<_Key, std::pair<const _Key, _Tp>, std::_Select1st<std::pair<const _Key, _Tp> >, _Compare, _Alloc>::iterator, bool> std::map<_Key, _Tp, _Compare, _Alloc>::insert(const std::pair<const _Key, _Tp>&) [with _Key = std::string, _Tp = pmap<std::string, std::string, std::less<std::string> >, _Compare = std::less<std::string>, _Alloc = pallocator<pmap<std::string, std::string, std::less<std::string> > >]’
pandaSystem.cxx:220:   instantiated from here
/usr/lib/gcc/i386-redhat-linux/4.0.0/../../../../include/c++/4.0.0/bits/stl_tree.h:367: error: no matching function for call to ‘pallocator<pmap<std::string, std::string, std::less<std::string> > >::construct(std::pair<const std::string, pmap<std::string, std::string, std::less<std::string> > >*, const std::pair<const std::string, pmap<std::string, std::string, std::less<std::string> > >&)’
/usr/lib/gcc/i386-redhat-linux/4.0.0/../../../../include/c++/4.0.0/ext/mt_allocator.h:610: note: candidates are: void __gnu_cxx::__mt_alloc_base<_Tp>::construct(_Tp*, const _Tp&) [with _Tp = pmap<std::string, std::string, std::less<std::string> >]
/usr/lib/gcc/i386-redhat-linux/4.0.0/../../../../include/c++/4.0.0/bits/stl_tree.h: In member function ‘std::_Rb_tree_node<_Val>* std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_M_create_node(const _Val&) [with _Key = std::string, _Val = std::pair<const std::string, std::string>, _KeyOfValue = std::_Select1st<std::pair<const std::string, std::string> >, _Compare = std::less<std::string>, _Alloc = pallocator<std::string>]’:
/usr/lib/gcc/i386-redhat-linux/4.0.0/../../../../include/c++/4.0.0/bits/stl_tree.h:793:   instantiated from ‘typename std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_M_insert(std::_Rb_tree_node_base*, std::_Rb_tree_node_base*, const _Val&) [with _Key = std::string, _Val = std::pair<const std::string, std::string>, _KeyOfValue = std::_Select1st<std::pair<const std::string, std::string> >, _Compare = std::less<std::string>, _Alloc = pallocator<std::string>]’
/usr/lib/gcc/i386-redhat-linux/4.0.0/../../../../include/c++/4.0.0/bits/stl_tree.h:902:   instantiated from ‘typename std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::insert_unique(std::_Rb_tree_iterator<_Val>, const _Val&) [with _Key = std::string, _Val = std::pair<const std::string, std::string>, _KeyOfValue = std::_Select1st<std::pair<const std::string, std::string> >, _Compare = std::less<std::string>, _Alloc = pallocator<std::string>]’
/usr/lib/gcc/i386-redhat-linux/4.0.0/../../../../include/c++/4.0.0/bits/stl_map.h:384:   instantiated from ‘typename std::_Rb_tree<_Key, std::pair<const _Key, _Tp>, std::_Select1st<std::pair<const _Key, _Tp> >, _Compare, _Alloc>::iterator std::map<_Key, _Tp, _Compare, _Alloc>::insert(typename std::_Rb_tree<_Key, std::pair<const _Key, _Tp>, std::_Select1st<std::pair<const _Key, _Tp> >, _Compare, _Alloc>::iterator, const std::pair<const _Key, _Tp>&) [with _Key = std::string, _Tp = std::string, _Compare = std::less<std::string>, _Alloc = pallocator<std::string>]’
/usr/lib/gcc/i386-redhat-linux/4.0.0/../../../../include/c++/4.0.0/bits/stl_map.h:339:   instantiated from ‘_Tp& std::map<_Key, _Tp, _Compare, _Alloc>::operator[](const _Key&) [with _Key = std::string, _Tp = std::string, _Compare = std::less<std::string>, _Alloc = pallocator<std::string>]’
pandaSystem.cxx:242:   instantiated from here
/usr/lib/gcc/i386-redhat-linux/4.0.0/../../../../include/c++/4.0.0/bits/stl_tree.h:367: error: no matching function for call to ‘pallocator<std::string>::construct(std::pair<const std::string, std::string>*, const std::pair<const std::string, std::string>&)’
/usr/lib/gcc/i386-redhat-linux/4.0.0/../../../../include/c++/4.0.0/ext/mt_allocator.h:610: note: candidates are: void __gnu_cxx::__mt_alloc_base<_Tp>::construct(_Tp*, const _Tp&) [with _Tp = std::string]
make[1]: *** [Opt3-Linux/dtoolutil_dtoolutil_composite1.o] Error 1
make[1]: Leaving directory `/home/lvraab/Desktop/panda3d-1.0.5/dtool/src/dtoolutil'
make: *** [dtoolutil] Error 2

Ugly stuff. It’s all over my head. Any help is appreciated.

Changes to the STL from GCC3 to GCC4? I really don’t know. I think the Panda3D C++ source isn’t compatible with GCC4.

The gcc3.x compiler should stil be available on your cd’s for FC4 if its not installed by default already. I believe they are just adding gcc4 as a preview or something aren’t they?

Steve

Good point - I don’t know. Never thought of that.

I believe it is. Hmm, better try compiling again.

I installed GCC 3.2 and tried that, but I get the same error.

Yeah, well, I can’t even get GCC 3.4.4 to compile at all when I downloaded the source, so I guess I’ll have to see whether GCC 3.x is on my CD’s. I don’t think it is because I chose to install every package, but I don’t know. :confused:

Oh, I’m an idiot!! GCC 3.2.3 is installed along with GCC 4.0.0, but like stodge, it still doesn’t compile.

Are you sure your actually using gcc 3.x now for the compilation? I’m not sure how they (redhat) have the compilers installed but I know on Solaris when I install multiple compilers I need to play with my path to make sure the correct gcc is first.

Surely there can’t be that much that has changed since Fedora Core 3 when Panda 1.0.5 came out?

Steve

It may be using GCC3, but it might still be using the newer STL? I don’t know. My Linux box is screwed up (buggered drive) so I can’t check. I’ve reverted to Windows for the time being. If it is still using the newer STL, I don’t know how to revert to an older one.

Why the hell did they include GCC4 by default? They should have provided it as an alternative instead IMO!

I agree with you here, however, you have to keep in mind that Fedora Core is really the cutting-edge (or bleeding edge) of Red Hat Linux development. For the most part, you really don’t need to update your entire distro every 6 months unless you just like playing with stuff.

Heck, we still use gcc 2.95.x at work for some things.

I’m just sticking to Windows with Panda3d for now. Even with Torque its much easier to just develop on Windows. Driver support is a lot better on Windows for most 3d cards anyways.

Steve

I might’ve missed something when making a custom Config.pp for the compilation. But I seemed to have gotten the same error message as before.

My hard disk is being RMAed so I’m stuck with an 8Gb drive, which now contains Fedora Core 3. No more Core 4 and GCC4 for me - too many problems with various libraries.

Luckily there’s no need for me to compile from source, as there’s a Core 3 RPM. Just found out last night that the latest Boa Constructor doesn’t work with the version of wxPython that comes with Core 3. It’s always something eh? :unamused:

That’s very easy to say, but if nobody uses gcc4 there will always be bugs in gcc4. By setting it as the default compiler there’s al lot more code being tested… and for those who don’t want is there’s always the older compiler.

But is anyone at least trying to get it to compile using gcc4? My understanding of gcc4 in general is that it’s a bit more strict about some constructs. I’m not familiar with the panda3d source code, but someone here should be able to at least estimate how much work it would be to make it compile.

I can personally say that I’m not currently working on this. I just have too much I must finish by Aug 15:

max egg import plugin
maya egg import plugin
game packaging system
new set of advanced demo programs
support david in his release of 1.1

There’s just no extra time right now.

For what it’s worth, the current Panda trunk does compile and run without any problems on gcc 4.0, so this will work in the 1.1 version.

However, there may still be some issues with Fedora Core 4, having to do with the way the version of Python shipped with FC4 is compiled. This appears to be a problem with the distro, not with Panda or the compilier itself. I’m investigating this.

David

Anyone make any progress on this? I was just running into these problems myself.

I’ve tried compiling with the latest sourceforge code and the default distro Python, my own custom compile of Python 2.4, and my own custom compile of Python 2.3. It seg-faults on genPyCode every time.

Also, I had to remove a “@staticmethod” line in PythonUtil.py for the 2.3 build. Is Panda going to be Python 2.4 only from now on?

I’m pretty eager to get any version of Panda working on Fedore Core 4, so if anyone has any workarounds, I’d love to hear about them.