armagetron 0.2.7.1 RPM doesn't work on FC4

For all the help you need with Armagetron!
Post Reply
Walking Tree
Match Winner
Posts: 641
Joined: Sun Jul 10, 2005 9:14 am

armagetron 0.2.7.1 RPM doesn't work on FC4

Post by Walking Tree »

I just tried installing the armagetron advanced 0.2.7.1 RPM on fedora core 4.
Installation was really smooth, but running armagetronad said

Code: Select all

/usr/local/bin/armagetronad: line 35:  5473 Segmentation fault      $INSTALL/bin/armagetronad --datadir $INSTALL --configdir /etc/armagetronad --userdatadir $HOME/.armagetronad $*
armagetronad 0.2.8 CVS works nicely on my system...
on the grid as ~free::zombie~
User avatar
Z-Man
God & Project Admin
Posts: 11770
Joined: Sun Jan 23, 2005 6:01 pm
Location: Cologne
Contact:

Post by Z-Man »

This may be a ABI incompatibility between the C++ library the RPM was built with and the one that comes with FC4. Can you tell me what version of libstdc++.so is installed? And could you please check whether the source RPM or the tarball of 0.2.7.1 work?
We may have to include libstdc++ in our binary distributions or link with it statically, it's a headache for users to get on older distributions. The same goes for libxml2, of course.
Walking Tree
Match Winner
Posts: 641
Joined: Sun Jul 10, 2005 9:14 am

Post by Walking Tree »

Code: Select all

$ rpm -q libstdc++
libstdc++-4.0.1-4.fc4
$ rpm -q gcc-c++
gcc-c++-4.0.1-4.fc4
GCC 4.0. C++ ABI change. ABI changes are a real pain... esecially as we are 'in' one
right now:
most distributions are still using GCC 3.3, but some (like FC4) are on gcc4 and debian
sid is switching and will be switching for quite some time...

but, tried to install from source (BTW, how do you install source RPMs ?) and it looks
like something more tricky:

<edit> english make output below

Code: Select all

$ make
echo "infiles: \\" > .infiles
find . -name "*.in" | grep -v configure | grep -v macosx | sed -e "s|./||" -e "s|\.in| \\\|" >> .infiles
echo "" >> .infiles
test "." = "." || cp ./language/*.txt language
echo "x" > language/.tag
test "." = "." || cp ./config/*.cfg config
test "." = "." || cp ./config/*.srv config
echo "x" > config/.tag
mkdir var
echo "break st_Breakpoint" > .gdbinit
chmod 755 batch/*
touch src/dep
make -C src/tron
make[1]: Entering directory `/home/thomas/download/armagetronad-0.2.7.1/src/tron'
make[1]: Leaving directory `/home/thomas/download/armagetronad-0.2.7.1/src/tron'make[1]: Entering directory `/home/thomas/download/armagetronad-0.2.7.1/src/tron'
g++ -I. -I.. -I../.. -g -O2 -I/usr/include/SDL -D_REENTRANT -I../../src/tools/ -I../../src/engine/ -I../../src/network/ -I../../src/ui/ -I../../src/render/  -I. -I../../src -c  gServerBrowser.cpp -o gServerBrowser.o
/usr/include/SDL/SDL_events.h:82: Fehler: »<anonymous enum>« ist/verwendet anonymen Typen
/usr/include/SDL/SDL_events.h:82: Fehler:   Versuch, »template<class T> tOutput& operator<<(tOutput&, const T&)« zu instanziieren
/usr/include/SDL/SDL_events.h:82: Fehler: »<anonymous enum>« ist/verwendet anonymen Typen
/usr/include/SDL/SDL_events.h:82: Fehler:   Versuch, »template<class T> rTextField& operator<<(rTextField&, const T&)« zu instanziieren
/usr/include/SDL/SDL_events.h:82: Fehler: »<anonymous enum>« ist/verwendet anonymen Typen
/usr/include/SDL/SDL_events.h:82: Fehler:   Versuch, »template<class T> tString& operator<<(tString&, const T&)« zu instanziieren
/usr/include/SDL/SDL_events.h:83: Fehler: »<anonymous enum>« ist/verwendet anonymen Typen
/usr/include/SDL/SDL_events.h:83: Fehler:   Versuch, »template<class T> tOutput& operator<<(tOutput&, const T&)« zu instanziieren
/usr/include/SDL/SDL_events.h:83: Fehler: »<anonymous enum>« ist/verwendet anonymen Typen
/usr/include/SDL/SDL_events.h:83: Fehler:   Versuch, »template<class T> rTextField& operator<<(rTextField&, const T&)« zu instanziieren
/usr/include/SDL/SDL_events.h:83: Fehler: »<anonymous enum>« ist/verwendet anonymen Typen
/usr/include/SDL/SDL_events.h:83: Fehler:   Versuch, »template<class T> tString& operator<<(tString&, const T&)« zu instanziieren
/usr/include/SDL/SDL_events.h:84: Fehler: »<anonymous enum>« ist/verwendet anonymen Typen
/usr/include/SDL/SDL_events.h:84: Fehler:   Versuch, »template<class T> tOutput& operator<<(tOutput&, const T&)« zu instanziieren
/usr/include/SDL/SDL_events.h:84: Fehler: »<anonymous enum>« ist/verwendet anonymen Typen
/usr/include/SDL/SDL_events.h:84: Fehler:   Versuch, »template<class T> rTextField& operator<<(rTextField&, const T&)« zu instanziieren
/usr/include/SDL/SDL_events.h:84: Fehler: »<anonymous enum>« ist/verwendet anonymen Typen
/usr/include/SDL/SDL_events.h:84: Fehler:   Versuch, »template<class T> tString& operator<<(tString&, const T&)« zu instanziieren
/usr/include/SDL/SDL_events.h:85: Fehler: »<anonymous enum>« ist/verwendet anonymen Typen
/usr/include/SDL/SDL_events.h:85: Fehler:   Versuch, »template<class T> tOutput& operator<<(tOutput&, const T&)« zu instanziieren
/usr/include/SDL/SDL_events.h:85: Fehler: »<anonymous enum>« ist/verwendet anonymen Typen
/usr/include/SDL/SDL_events.h:85: Fehler:   Versuch, »template<class T> rTextField& operator<<(rTextField&, const T&)« zu instanziieren
/usr/include/SDL/SDL_events.h:85: Fehler: »<anonymous enum>« ist/verwendet anonymen Typen
/usr/include/SDL/SDL_events.h:85: Fehler:   Versuch, »template<class T> tString& operator<<(tString&, const T&)« zu instanziieren
/usr/include/SDL/SDL_events.h:86: Fehler: »<anonymous enum>« ist/verwendet anonymen Typen
/usr/include/SDL/SDL_events.h:86: Fehler:   Versuch, »template<class T> tOutput& operator<<(tOutput&, const T&)« zu instanziieren
/usr/include/SDL/SDL_events.h:86: Fehler: »<anonymous enum>« ist/verwendet anonymen Typen
/usr/include/SDL/SDL_events.h:86: Fehler:   Versuch, »template<class T> rTextField& operator<<(rTextField&, const T&)« zu instanziieren
/usr/include/SDL/SDL_events.h:86: Fehler: »<anonymous enum>« ist/verwendet anonymen Typen
/usr/include/SDL/SDL_events.h:86: Fehler:   Versuch, »template<class T> tString& operator<<(tString&, const T&)« zu instanziieren
/usr/include/SDL/SDL_events.h:87: Fehler: »<anonymous enum>« ist/verwendet anonymen Typen
/usr/include/SDL/SDL_events.h:87: Fehler:   Versuch, »template<class T> tOutput& operator<<(tOutput&, const T&)« zu instanziieren
/usr/include/SDL/SDL_events.h:87: Fehler: »<anonymous enum>« ist/verwendet anonymen Typen
/usr/include/SDL/SDL_events.h:87: Fehler:   Versuch, »template<class T> rTextField& operator<<(rTextField&, const T&)« zu instanziieren
/usr/include/SDL/SDL_events.h:87: Fehler: »<anonymous enum>« ist/verwendet anonymen Typen
/usr/include/SDL/SDL_events.h:87: Fehler:   Versuch, »template<class T> tString& operator<<(tString&, const T&)« zu instanziieren
/usr/include/SDL/SDL_events.h:88: Fehler: »<anonymous enum>« ist/verwendet anonymen Typen
/usr/include/SDL/SDL_events.h:88: Fehler:   Versuch, »template<class T> tOutput& operator<<(tOutput&, const T&)« zu instanziieren
/usr/include/SDL/SDL_events.h:88: Fehler: »<anonymous enum>« ist/verwendet anonymen Typen
/usr/include/SDL/SDL_events.h:88: Fehler:   Versuch, »template<class T> rTextField& operator<<(rTextField&, const T&)« zu instanziieren
/usr/include/SDL/SDL_events.h:88: Fehler: »<anonymous enum>« ist/verwendet anonymen Typen
/usr/include/SDL/SDL_events.h:88: Fehler:   Versuch, »template<class T> tString& operator<<(tString&, const T&)« zu instanziieren
/usr/include/SDL/SDL_events.h:89: Fehler: »<anonymous enum>« ist/verwendet anonymen Typen
/usr/include/SDL/SDL_events.h:89: Fehler:   Versuch, »template<class T> tOutput& operator<<(tOutput&, const T&)« zu instanziieren
/usr/include/SDL/SDL_events.h:89: Fehler: »<anonymous enum>« ist/verwendet anonymen Typen
/usr/include/SDL/SDL_events.h:89: Fehler:   Versuch, »template<class T> rTextField& operator<<(rTextField&, const T&)« zu instanziieren
/usr/include/SDL/SDL_events.h:89: Fehler: »<anonymous enum>« ist/verwendet anonymen Typen
/usr/include/SDL/SDL_events.h:89: Fehler:   Versuch, »template<class T> tString& operator<<(tString&, const T&)« zu instanziieren
/usr/include/SDL/SDL_events.h:90: Fehler: »<anonymous enum>« ist/verwendet anonymen Typen
/usr/include/SDL/SDL_events.h:90: Fehler:   Versuch, »template<class T> tOutput& operator<<(tOutput&, const T&)« zu instanziieren
/usr/include/SDL/SDL_events.h:90: Fehler: »<anonymous enum>« ist/verwendet anonymen Typen
/usr/include/SDL/SDL_events.h:90: Fehler:   Versuch, »template<class T> rTextField& operator<<(rTextField&, const T&)« zu instanziieren
/usr/include/SDL/SDL_events.h:90: Fehler: »<anonymous enum>« ist/verwendet anonymen Typen
/usr/include/SDL/SDL_events.h:90: Fehler:   Versuch, »template<class T> tString& operator<<(tString&, const T&)« zu instanziieren
/usr/include/SDL/SDL_events.h:91: Fehler: »<anonymous enum>« ist/verwendet anonymen Typen
/usr/include/SDL/SDL_events.h:91: Fehler:   Versuch, »template<class T> tOutput& operator<<(tOutput&, const T&)« zu instanziieren
/usr/include/SDL/SDL_events.h:91: Fehler: »<anonymous enum>« ist/verwendet anonymen Typen
/usr/include/SDL/SDL_events.h:91: Fehler:   Versuch, »template<class T> rTextField& operator<<(rTextField&, const T&)« zu instanziieren
/usr/include/SDL/SDL_events.h:91: Fehler: »<anonymous enum>« ist/verwendet anonymen Typen
/usr/include/SDL/SDL_events.h:91: Fehler:   Versuch, »template<class T> tString& operator<<(tString&, const T&)« zu instanziieren
/usr/include/SDL/SDL_events.h:92: Fehler: »<anonymous enum>« ist/verwendet anonymen Typen
/usr/include/SDL/SDL_events.h:92: Fehler:   Versuch, »template<class T> tOutput& operator<<(tOutput&, const T&)« zu instanziieren
/usr/include/SDL/SDL_events.h:92: Fehler: »<anonymous enum>« ist/verwendet anonymen Typen
/usr/include/SDL/SDL_events.h:92: Fehler:   Versuch, »template<class T> rTextField& operator<<(rTextField&, const T&)« zu instanziieren
/usr/include/SDL/SDL_events.h:92: Fehler: »<anonymous enum>« ist/verwendet anonymen Typen
/usr/include/SDL/SDL_events.h:92: Fehler:   Versuch, »template<class T> tString& operator<<(tString&, const T&)« zu instanziieren
/usr/include/SDL/SDL_events.h:93: Fehler: »<anonymous enum>« ist/verwendet anonymen Typen
/usr/include/SDL/SDL_events.h:93: Fehler:   Versuch, »template<class T> tOutput& operator<<(tOutput&, const T&)« zu instanziieren
/usr/include/SDL/SDL_events.h:93: Fehler: »<anonymous enum>« ist/verwendet anonymen Typen
/usr/include/SDL/SDL_events.h:93: Fehler:   Versuch, »template<class T> rTextField& operator<<(rTextField&, const T&)« zu instanziieren
/usr/include/SDL/SDL_events.h:93: Fehler: »<anonymous enum>« ist/verwendet anonymen Typen
/usr/include/SDL/SDL_events.h:93: Fehler:   Versuch, »template<class T> tString& operator<<(tString&, const T&)« zu instanziieren
/usr/include/SDL/SDL_events.h:94: Fehler: »<anonymous enum>« ist/verwendet anonymen Typen
/usr/include/SDL/SDL_events.h:94: Fehler:   Versuch, »template<class T> tOutput& operator<<(tOutput&, const T&)« zu instanziieren
/usr/include/SDL/SDL_events.h:94: Fehler: »<anonymous enum>« ist/verwendet anonymen Typen
/usr/include/SDL/SDL_events.h:94: Fehler:   Versuch, »template<class T> rTextField& operator<<(rTextField&, const T&)« zu instanziieren
/usr/include/SDL/SDL_events.h:94: Fehler: »<anonymous enum>« ist/verwendet anonymen Typen
/usr/include/SDL/SDL_events.h:94: Fehler:   Versuch, »template<class T> tString& operator<<(tString&, const T&)« zu instanziieren
/usr/include/SDL/SDL_events.h:95: Fehler: »<anonymous enum>« ist/verwendet anonymen Typen
/usr/include/SDL/SDL_events.h:95: Fehler:   Versuch, »template<class T> tOutput& operator<<(tOutput&, const T&)« zu instanziieren
/usr/include/SDL/SDL_events.h:95: Fehler: »<anonymous enum>« ist/verwendet anonymen Typen
/usr/include/SDL/SDL_events.h:95: Fehler:   Versuch, »template<class T> rTextField& operator<<(rTextField&, const T&)« zu instanziieren
/usr/include/SDL/SDL_events.h:95: Fehler: »<anonymous enum>« ist/verwendet anonymen Typen
/usr/include/SDL/SDL_events.h:95: Fehler:   Versuch, »template<class T> tString& operator<<(tString&, const T&)« zu instanziieren
/usr/include/SDL/SDL_events.h:96: Fehler: »<anonymous enum>« ist/verwendet anonymen Typen
/usr/include/SDL/SDL_events.h:96: Fehler:   Versuch, »template<class T> tOutput& operator<<(tOutput&, const T&)« zu instanziieren
/usr/include/SDL/SDL_events.h:96: Fehler: »<anonymous enum>« ist/verwendet anonymen Typen
/usr/include/SDL/SDL_events.h:96: Fehler:   Versuch, »template<class T> rTextField& operator<<(rTextField&, const T&)« zu instanziieren
/usr/include/SDL/SDL_events.h:96: Fehler: »<anonymous enum>« ist/verwendet anonymen Typen
/usr/include/SDL/SDL_events.h:96: Fehler:   Versuch, »template<class T> tString& operator<<(tString&, const T&)« zu instanziieren
/usr/include/SDL/SDL_events.h:97: Fehler: »<anonymous enum>« ist/verwendet anonymen Typen
/usr/include/SDL/SDL_events.h:97: Fehler:   Versuch, »template<class T> tOutput& operator<<(tOutput&, const T&)« zu instanziieren
/usr/include/SDL/SDL_events.h:97: Fehler: »<anonymous enum>« ist/verwendet anonymen Typen
/usr/include/SDL/SDL_events.h:97: Fehler:   Versuch, »template<class T> rTextField& operator<<(rTextField&, const T&)« zu instanziieren
/usr/include/SDL/SDL_events.h:97: Fehler: »<anonymous enum>« ist/verwendet anonymen Typen
/usr/include/SDL/SDL_events.h:97: Fehler:   Versuch, »template<class T> tString& operator<<(tString&, const T&)« zu instanziieren
/usr/include/SDL/SDL_events.h:98: Fehler: »<anonymous enum>« ist/verwendet anonymen Typen
/usr/include/SDL/SDL_events.h:98: Fehler:   Versuch, »template<class T> tOutput& operator<<(tOutput&, const T&)« zu instanziieren
/usr/include/SDL/SDL_events.h:98: Fehler: »<anonymous enum>« ist/verwendet anonymen Typen
/usr/include/SDL/SDL_events.h:98: Fehler:   Versuch, »template<class T> rTextField& operator<<(rTextField&, const T&)« zu instanziieren
/usr/include/SDL/SDL_events.h:98: Fehler: »<anonymous enum>« ist/verwendet anonymen Typen
/usr/include/SDL/SDL_events.h:98: Fehler:   Versuch, »template<class T> tString& operator<<(tString&, const T&)« zu instanziieren
/usr/include/SDL/SDL_events.h:99: Fehler: »<anonymous enum>« ist/verwendet anonymen Typen
/usr/include/SDL/SDL_events.h:99: Fehler:   Versuch, »template<class T> tOutput& operator<<(tOutput&, const T&)« zu instanziieren
/usr/include/SDL/SDL_events.h:99: Fehler: »<anonymous enum>« ist/verwendet anonymen Typen
/usr/include/SDL/SDL_events.h:99: Fehler:   Versuch, »template<class T> rTextField& operator<<(rTextField&, const T&)« zu instanziieren
/usr/include/SDL/SDL_events.h:99: Fehler: »<anonymous enum>« ist/verwendet anonymen Typen
/usr/include/SDL/SDL_events.h:99: Fehler:   Versuch, »template<class T> tString& operator<<(tString&, const T&)« zu instanziieren
/usr/include/SDL/SDL_events.h:100: Fehler: »<anonymous enum>« ist/verwendet anonymen Typen
/usr/include/SDL/SDL_events.h:100: Fehler:   Versuch, »template<class T> tOutput& operator<<(tOutput&, const T&)« zu instanziieren
/usr/include/SDL/SDL_events.h:100: Fehler: »<anonymous enum>« ist/verwendet anonymen Typen
/usr/include/SDL/SDL_events.h:100: Fehler:   Versuch, »template<class T> rTextField& operator<<(rTextField&, const T&)« zu instanziieren
/usr/include/SDL/SDL_events.h:100: Fehler: »<anonymous enum>« ist/verwendet anonymen Typen
/usr/include/SDL/SDL_events.h:100: Fehler:   Versuch, »template<class T> tString& operator<<(tString&, const T&)« zu instanziieren
/usr/include/SDL/SDL_events.h:101: Fehler: »<anonymous enum>« ist/verwendet anonymen Typen
/usr/include/SDL/SDL_events.h:101: Fehler:   Versuch, »template<class T> tOutput& operator<<(tOutput&, const T&)« zu instanziieren
/usr/include/SDL/SDL_events.h:101: Fehler: »<anonymous enum>« ist/verwendet anonymen Typen
/usr/include/SDL/SDL_events.h:101: Fehler:   Versuch, »template<class T> rTextField& operator<<(rTextField&, const T&)« zu instanziieren
/usr/include/SDL/SDL_events.h:101: Fehler: »<anonymous enum>« ist/verwendet anonymen Typen
/usr/include/SDL/SDL_events.h:101: Fehler:   Versuch, »template<class T> tString& operator<<(tString&, const T&)« zu instanziieren
/usr/include/SDL/SDL_events.h:102: Fehler: »<anonymous enum>« ist/verwendet anonymen Typen
/usr/include/SDL/SDL_events.h:102: Fehler:   Versuch, »template<class T> tOutput& operator<<(tOutput&, const T&)« zu instanziieren
/usr/include/SDL/SDL_events.h:102: Fehler: »<anonymous enum>« ist/verwendet anonymen Typen
/usr/include/SDL/SDL_events.h:102: Fehler:   Versuch, »template<class T> rTextField& operator<<(rTextField&, const T&)« zu instanziieren
/usr/include/SDL/SDL_events.h:102: Fehler: »<anonymous enum>« ist/verwendet anonymen Typen
/usr/include/SDL/SDL_events.h:102: Fehler:   Versuch, »template<class T> tString& operator<<(tString&, const T&)« zu instanziieren
/usr/include/SDL/SDL_events.h:103: Fehler: »<anonymous enum>« ist/verwendet anonymen Typen
/usr/include/SDL/SDL_events.h:103: Fehler:   Versuch, »template<class T> tOutput& operator<<(tOutput&, const T&)« zu instanziieren
/usr/include/SDL/SDL_events.h:103: Fehler: »<anonymous enum>« ist/verwendet anonymen Typen
/usr/include/SDL/SDL_events.h:103: Fehler:   Versuch, »template<class T> rTextField& operator<<(rTextField&, const T&)« zu instanziieren
/usr/include/SDL/SDL_events.h:103: Fehler: »<anonymous enum>« ist/verwendet anonymen Typen
/usr/include/SDL/SDL_events.h:103: Fehler:   Versuch, »template<class T> tString& operator<<(tString&, const T&)« zu instanziieren
/usr/include/SDL/SDL_events.h:104: Fehler: »<anonymous enum>« ist/verwendet anonymen Typen
/usr/include/SDL/SDL_events.h:104: Fehler:   Versuch, »template<class T> tOutput& operator<<(tOutput&, const T&)« zu instanziieren
/usr/include/SDL/SDL_events.h:104: Fehler: »<anonymous enum>« ist/verwendet anonymen Typen
/usr/include/SDL/SDL_events.h:104: Fehler:   Versuch, »template<class T> rTextField& operator<<(rTextField&, const T&)« zu instanziieren
/usr/include/SDL/SDL_events.h:104: Fehler: »<anonymous enum>« ist/verwendet anonymen Typen
/usr/include/SDL/SDL_events.h:104: Fehler:   Versuch, »template<class T> tString& operator<<(tString&, const T&)« zu instanziieren
make[1]: *** [gServerBrowser.o] Fehler 1
make[1]: Leaving directory `/home/thomas/download/armagetronad-0.2.7.1/src/tron'make: *** [all] Fehler 2
Last edited by Walking Tree on Tue Aug 02, 2005 4:44 pm, edited 1 time in total.
on the grid as ~free::zombie~
Walking Tree
Match Winner
Posts: 641
Joined: Sun Jul 10, 2005 9:14 am

Post by Walking Tree »

since that was all german, I though it might be better to log on with an english locale :P

Code: Select all

$ make
chmod 755 batch/*
touch src/dep
make -C src/tron
make[1]: Entering directory `/home/thomas/download/armagetronad-0.2.7.1/src/tron'
make[1]: Leaving directory `/home/thomas/download/armagetronad-0.2.7.1/src/tron'make[1]: Entering directory `/home/thomas/download/armagetronad-0.2.7.1/src/tron'
g++ -I. -I.. -I../.. -g -O2 -I/usr/include/SDL -D_REENTRANT -I../../src/tools/ -I../../src/engine/ -I../../src/network/ -I../../src/ui/ -I../../src/render/  -I. -I../../src -c  gServerBrowser.cpp -o gServerBrowser.o
/usr/include/SDL/SDL_events.h:82: error: ‘<anonymous enum>’ is/uses anonymous type
/usr/include/SDL/SDL_events.h:82: error:   trying to instantiate ‘template<class T> tOutput& operator<<(tOutput&, const T&)’
/usr/include/SDL/SDL_events.h:82: error: ‘<anonymous enum>’ is/uses anonymous type
/usr/include/SDL/SDL_events.h:82: error:   trying to instantiate ‘template<class T> rTextField& operator<<(rTextField&, const T&)’
/usr/include/SDL/SDL_events.h:82: error: ‘<anonymous enum>’ is/uses anonymous type
/usr/include/SDL/SDL_events.h:82: error:   trying to instantiate ‘template<class T> tString& operator<<(tString&, const T&)’
/usr/include/SDL/SDL_events.h:83: error: ‘<anonymous enum>’ is/uses anonymous type
/usr/include/SDL/SDL_events.h:83: error:   trying to instantiate ‘template<class T> tOutput& operator<<(tOutput&, const T&)’
/usr/include/SDL/SDL_events.h:83: error: ‘<anonymous enum>’ is/uses anonymous type
/usr/include/SDL/SDL_events.h:83: error:   trying to instantiate ‘template<class T> rTextField& operator<<(rTextField&, const T&)’
/usr/include/SDL/SDL_events.h:83: error: ‘<anonymous enum>’ is/uses anonymous type
/usr/include/SDL/SDL_events.h:83: error:   trying to instantiate ‘template<class T> tString& operator<<(tString&, const T&)’
/usr/include/SDL/SDL_events.h:84: error: ‘<anonymous enum>’ is/uses anonymous type
/usr/include/SDL/SDL_events.h:84: error:   trying to instantiate ‘template<class T> tOutput& operator<<(tOutput&, const T&)’
/usr/include/SDL/SDL_events.h:84: error: ‘<anonymous enum>’ is/uses anonymous type
/usr/include/SDL/SDL_events.h:84: error:   trying to instantiate ‘template<class T> rTextField& operator<<(rTextField&, const T&)’
/usr/include/SDL/SDL_events.h:84: error: ‘<anonymous enum>’ is/uses anonymous type
/usr/include/SDL/SDL_events.h:84: error:   trying to instantiate ‘template<class T> tString& operator<<(tString&, const T&)’
/usr/include/SDL/SDL_events.h:85: error: ‘<anonymous enum>’ is/uses anonymous type
/usr/include/SDL/SDL_events.h:85: error:   trying to instantiate ‘template<class T> tOutput& operator<<(tOutput&, const T&)’
/usr/include/SDL/SDL_events.h:85: error: ‘<anonymous enum>’ is/uses anonymous type
/usr/include/SDL/SDL_events.h:85: error:   trying to instantiate ‘template<class T> rTextField& operator<<(rTextField&, const T&)’
/usr/include/SDL/SDL_events.h:85: error: ‘<anonymous enum>’ is/uses anonymous type
/usr/include/SDL/SDL_events.h:85: error:   trying to instantiate ‘template<class T> tString& operator<<(tString&, const T&)’
/usr/include/SDL/SDL_events.h:86: error: ‘<anonymous enum>’ is/uses anonymous type
/usr/include/SDL/SDL_events.h:86: error:   trying to instantiate ‘template<class T> tOutput& operator<<(tOutput&, const T&)’
/usr/include/SDL/SDL_events.h:86: error: ‘<anonymous enum>’ is/uses anonymous type
/usr/include/SDL/SDL_events.h:86: error:   trying to instantiate ‘template<class T> rTextField& operator<<(rTextField&, const T&)’
/usr/include/SDL/SDL_events.h:86: error: ‘<anonymous enum>’ is/uses anonymous type
/usr/include/SDL/SDL_events.h:86: error:   trying to instantiate ‘template<class T> tString& operator<<(tString&, const T&)’
/usr/include/SDL/SDL_events.h:87: error: ‘<anonymous enum>’ is/uses anonymous type
/usr/include/SDL/SDL_events.h:87: error:   trying to instantiate ‘template<class T> tOutput& operator<<(tOutput&, const T&)’
/usr/include/SDL/SDL_events.h:87: error: ‘<anonymous enum>’ is/uses anonymous type
/usr/include/SDL/SDL_events.h:87: error:   trying to instantiate ‘template<class T> rTextField& operator<<(rTextField&, const T&)’
/usr/include/SDL/SDL_events.h:87: error: ‘<anonymous enum>’ is/uses anonymous type
/usr/include/SDL/SDL_events.h:87: error:   trying to instantiate ‘template<class T> tString& operator<<(tString&, const T&)’
/usr/include/SDL/SDL_events.h:88: error: ‘<anonymous enum>’ is/uses anonymous type
/usr/include/SDL/SDL_events.h:88: error:   trying to instantiate ‘template<class T> tOutput& operator<<(tOutput&, const T&)’
/usr/include/SDL/SDL_events.h:88: error: ‘<anonymous enum>’ is/uses anonymous type
/usr/include/SDL/SDL_events.h:88: error:   trying to instantiate ‘template<class T> rTextField& operator<<(rTextField&, const T&)’
/usr/include/SDL/SDL_events.h:88: error: ‘<anonymous enum>’ is/uses anonymous type
/usr/include/SDL/SDL_events.h:88: error:   trying to instantiate ‘template<class T> tString& operator<<(tString&, const T&)’
/usr/include/SDL/SDL_events.h:89: error: ‘<anonymous enum>’ is/uses anonymous type
/usr/include/SDL/SDL_events.h:89: error:   trying to instantiate ‘template<class T> tOutput& operator<<(tOutput&, const T&)’
/usr/include/SDL/SDL_events.h:89: error: ‘<anonymous enum>’ is/uses anonymous type
/usr/include/SDL/SDL_events.h:89: error:   trying to instantiate ‘template<class T> rTextField& operator<<(rTextField&, const T&)’
/usr/include/SDL/SDL_events.h:89: error: ‘<anonymous enum>’ is/uses anonymous type
/usr/include/SDL/SDL_events.h:89: error:   trying to instantiate ‘template<class T> tString& operator<<(tString&, const T&)’
/usr/include/SDL/SDL_events.h:90: error: ‘<anonymous enum>’ is/uses anonymous type
/usr/include/SDL/SDL_events.h:90: error:   trying to instantiate ‘template<class T> tOutput& operator<<(tOutput&, const T&)’
/usr/include/SDL/SDL_events.h:90: error: ‘<anonymous enum>’ is/uses anonymous type
/usr/include/SDL/SDL_events.h:90: error:   trying to instantiate ‘template<class T> rTextField& operator<<(rTextField&, const T&)’
/usr/include/SDL/SDL_events.h:90: error: ‘<anonymous enum>’ is/uses anonymous type
/usr/include/SDL/SDL_events.h:90: error:   trying to instantiate ‘template<class T> tString& operator<<(tString&, const T&)’
/usr/include/SDL/SDL_events.h:91: error: ‘<anonymous enum>’ is/uses anonymous type
/usr/include/SDL/SDL_events.h:91: error:   trying to instantiate ‘template<class T> tOutput& operator<<(tOutput&, const T&)’
/usr/include/SDL/SDL_events.h:91: error: ‘<anonymous enum>’ is/uses anonymous type
/usr/include/SDL/SDL_events.h:91: error:   trying to instantiate ‘template<class T> rTextField& operator<<(rTextField&, const T&)’
/usr/include/SDL/SDL_events.h:91: error: ‘<anonymous enum>’ is/uses anonymous type
/usr/include/SDL/SDL_events.h:91: error:   trying to instantiate ‘template<class T> tString& operator<<(tString&, const T&)’
/usr/include/SDL/SDL_events.h:92: error: ‘<anonymous enum>’ is/uses anonymous type
/usr/include/SDL/SDL_events.h:92: error:   trying to instantiate ‘template<class T> tOutput& operator<<(tOutput&, const T&)’
/usr/include/SDL/SDL_events.h:92: error: ‘<anonymous enum>’ is/uses anonymous type
/usr/include/SDL/SDL_events.h:92: error:   trying to instantiate ‘template<class T> rTextField& operator<<(rTextField&, const T&)’
/usr/include/SDL/SDL_events.h:92: error: ‘<anonymous enum>’ is/uses anonymous type
/usr/include/SDL/SDL_events.h:92: error:   trying to instantiate ‘template<class T> tString& operator<<(tString&, const T&)’
/usr/include/SDL/SDL_events.h:93: error: ‘<anonymous enum>’ is/uses anonymous type
/usr/include/SDL/SDL_events.h:93: error:   trying to instantiate ‘template<class T> tOutput& operator<<(tOutput&, const T&)’
/usr/include/SDL/SDL_events.h:93: error: ‘<anonymous enum>’ is/uses anonymous type
/usr/include/SDL/SDL_events.h:93: error:   trying to instantiate ‘template<class T> rTextField& operator<<(rTextField&, const T&)’
/usr/include/SDL/SDL_events.h:93: error: ‘<anonymous enum>’ is/uses anonymous type
/usr/include/SDL/SDL_events.h:93: error:   trying to instantiate ‘template<class T> tString& operator<<(tString&, const T&)’
/usr/include/SDL/SDL_events.h:94: error: ‘<anonymous enum>’ is/uses anonymous type
/usr/include/SDL/SDL_events.h:94: error:   trying to instantiate ‘template<class T> tOutput& operator<<(tOutput&, const T&)’
/usr/include/SDL/SDL_events.h:94: error: ‘<anonymous enum>’ is/uses anonymous type
/usr/include/SDL/SDL_events.h:94: error:   trying to instantiate ‘template<class T> rTextField& operator<<(rTextField&, const T&)’
/usr/include/SDL/SDL_events.h:94: error: ‘<anonymous enum>’ is/uses anonymous type
/usr/include/SDL/SDL_events.h:94: error:   trying to instantiate ‘template<class T> tString& operator<<(tString&, const T&)’
/usr/include/SDL/SDL_events.h:95: error: ‘<anonymous enum>’ is/uses anonymous type
/usr/include/SDL/SDL_events.h:95: error:   trying to instantiate ‘template<class T> tOutput& operator<<(tOutput&, const T&)’
/usr/include/SDL/SDL_events.h:95: error: ‘<anonymous enum>’ is/uses anonymous type
/usr/include/SDL/SDL_events.h:95: error:   trying to instantiate ‘template<class T> rTextField& operator<<(rTextField&, const T&)’
/usr/include/SDL/SDL_events.h:95: error: ‘<anonymous enum>’ is/uses anonymous type
/usr/include/SDL/SDL_events.h:95: error:   trying to instantiate ‘template<class T> tString& operator<<(tString&, const T&)’
/usr/include/SDL/SDL_events.h:96: error: ‘<anonymous enum>’ is/uses anonymous type
/usr/include/SDL/SDL_events.h:96: error:   trying to instantiate ‘template<class T> tOutput& operator<<(tOutput&, const T&)’
/usr/include/SDL/SDL_events.h:96: error: ‘<anonymous enum>’ is/uses anonymous type
/usr/include/SDL/SDL_events.h:96: error:   trying to instantiate ‘template<class T> rTextField& operator<<(rTextField&, const T&)’
/usr/include/SDL/SDL_events.h:96: error: ‘<anonymous enum>’ is/uses anonymous type
/usr/include/SDL/SDL_events.h:96: error:   trying to instantiate ‘template<class T> tString& operator<<(tString&, const T&)’
/usr/include/SDL/SDL_events.h:97: error: ‘<anonymous enum>’ is/uses anonymous type
/usr/include/SDL/SDL_events.h:97: error:   trying to instantiate ‘template<class T> tOutput& operator<<(tOutput&, const T&)’
/usr/include/SDL/SDL_events.h:97: error: ‘<anonymous enum>’ is/uses anonymous type
/usr/include/SDL/SDL_events.h:97: error:   trying to instantiate ‘template<class T> rTextField& operator<<(rTextField&, const T&)’
/usr/include/SDL/SDL_events.h:97: error: ‘<anonymous enum>’ is/uses anonymous type
/usr/include/SDL/SDL_events.h:97: error:   trying to instantiate ‘template<class T> tString& operator<<(tString&, const T&)’
/usr/include/SDL/SDL_events.h:98: error: ‘<anonymous enum>’ is/uses anonymous type
/usr/include/SDL/SDL_events.h:98: error:   trying to instantiate ‘template<class T> tOutput& operator<<(tOutput&, const T&)’
/usr/include/SDL/SDL_events.h:98: error: ‘<anonymous enum>’ is/uses anonymous type
/usr/include/SDL/SDL_events.h:98: error:   trying to instantiate ‘template<class T> rTextField& operator<<(rTextField&, const T&)’
/usr/include/SDL/SDL_events.h:98: error: ‘<anonymous enum>’ is/uses anonymous type
/usr/include/SDL/SDL_events.h:98: error:   trying to instantiate ‘template<class T> tString& operator<<(tString&, const T&)’
/usr/include/SDL/SDL_events.h:99: error: ‘<anonymous enum>’ is/uses anonymous type
/usr/include/SDL/SDL_events.h:99: error:   trying to instantiate ‘template<class T> tOutput& operator<<(tOutput&, const T&)’
/usr/include/SDL/SDL_events.h:99: error: ‘<anonymous enum>’ is/uses anonymous type
/usr/include/SDL/SDL_events.h:99: error:   trying to instantiate ‘template<class T> rTextField& operator<<(rTextField&, const T&)’
/usr/include/SDL/SDL_events.h:99: error: ‘<anonymous enum>’ is/uses anonymous type
/usr/include/SDL/SDL_events.h:99: error:   trying to instantiate ‘template<class T> tString& operator<<(tString&, const T&)’
/usr/include/SDL/SDL_events.h:100: error: ‘<anonymous enum>’ is/uses anonymous type
/usr/include/SDL/SDL_events.h:100: error:   trying to instantiate ‘template<class T> tOutput& operator<<(tOutput&, const T&)’
/usr/include/SDL/SDL_events.h:100: error: ‘<anonymous enum>’ is/uses anonymous type
/usr/include/SDL/SDL_events.h:100: error:   trying to instantiate ‘template<class T> rTextField& operator<<(rTextField&, const T&)’
/usr/include/SDL/SDL_events.h:100: error: ‘<anonymous enum>’ is/uses anonymous type
/usr/include/SDL/SDL_events.h:100: error:   trying to instantiate ‘template<class T> tString& operator<<(tString&, const T&)’
/usr/include/SDL/SDL_events.h:101: error: ‘<anonymous enum>’ is/uses anonymous type
/usr/include/SDL/SDL_events.h:101: error:   trying to instantiate ‘template<class T> tOutput& operator<<(tOutput&, const T&)’
/usr/include/SDL/SDL_events.h:101: error: ‘<anonymous enum>’ is/uses anonymous type
/usr/include/SDL/SDL_events.h:101: error:   trying to instantiate ‘template<class T> rTextField& operator<<(rTextField&, const T&)’
/usr/include/SDL/SDL_events.h:101: error: ‘<anonymous enum>’ is/uses anonymous type
/usr/include/SDL/SDL_events.h:101: error:   trying to instantiate ‘template<class T> tString& operator<<(tString&, const T&)’
/usr/include/SDL/SDL_events.h:102: error: ‘<anonymous enum>’ is/uses anonymous type
/usr/include/SDL/SDL_events.h:102: error:   trying to instantiate ‘template<class T> tOutput& operator<<(tOutput&, const T&)’
/usr/include/SDL/SDL_events.h:102: error: ‘<anonymous enum>’ is/uses anonymous type
/usr/include/SDL/SDL_events.h:102: error:   trying to instantiate ‘template<class T> rTextField& operator<<(rTextField&, const T&)’
/usr/include/SDL/SDL_events.h:102: error: ‘<anonymous enum>’ is/uses anonymous type
/usr/include/SDL/SDL_events.h:102: error:   trying to instantiate ‘template<class T> tString& operator<<(tString&, const T&)’
/usr/include/SDL/SDL_events.h:103: error: ‘<anonymous enum>’ is/uses anonymous type
/usr/include/SDL/SDL_events.h:103: error:   trying to instantiate ‘template<class T> tOutput& operator<<(tOutput&, const T&)’
/usr/include/SDL/SDL_events.h:103: error: ‘<anonymous enum>’ is/uses anonymous type
/usr/include/SDL/SDL_events.h:103: error:   trying to instantiate ‘template<class T> rTextField& operator<<(rTextField&, const T&)’
/usr/include/SDL/SDL_events.h:103: error: ‘<anonymous enum>’ is/uses anonymous type
/usr/include/SDL/SDL_events.h:103: error:   trying to instantiate ‘template<class T> tString& operator<<(tString&, const T&)’
/usr/include/SDL/SDL_events.h:104: error: ‘<anonymous enum>’ is/uses anonymous type
/usr/include/SDL/SDL_events.h:104: error:   trying to instantiate ‘template<class T> tOutput& operator<<(tOutput&, const T&)’
/usr/include/SDL/SDL_events.h:104: error: ‘<anonymous enum>’ is/uses anonymous type
/usr/include/SDL/SDL_events.h:104: error:   trying to instantiate ‘template<class T> rTextField& operator<<(rTextField&, const T&)’
/usr/include/SDL/SDL_events.h:104: error: ‘<anonymous enum>’ is/uses anonymous type
/usr/include/SDL/SDL_events.h:104: error:   trying to instantiate ‘template<class T> tString& operator<<(tString&, const T&)’
make[1]: *** [gServerBrowser.o] Error 1
make[1]: Leaving directory `/home/thomas/download/armagetronad-0.2.7.1/src/tron'make: *** [all] Error 2
on the grid as ~free::zombie~
User avatar
Z-Man
God & Project Admin
Posts: 11770
Joined: Sun Jan 23, 2005 6:01 pm
Location: Cologne
Contact:

Post by Z-Man »

Aw, sorry for sending you down that road. I already know this error, it's GCC4.0's improved sense for standard compliance which obviously forbids first defining templated streaming operators << (as we do) and using bitshifting with anonymous enums (as SDL does). A fix is to include <SDL.h> at the top of every source file that shows this error. I think I we should publish updated sources. I'll start to work on them as I get home.

I managed to statically link with libxml2 (just replace -lxml2 with <path to libxml2.a> on the linker command line), but can't find out how I stop gcc from automatically linking with the shared version of libstdc++. In earlier versions, letting gcc instead of g++ do the linking would fail to include it, but this seems to have changed. So, cry for help:
Does anyone know how to link an application statically with libstdc++?
User avatar
Z-Man
God & Project Admin
Posts: 11770
Joined: Sun Jan 23, 2005 6:01 pm
Location: Cologne
Contact:

Post by Z-Man »

I pushed updated sources to SF. Get them here:
https://sourceforge.net/project/showfil ... _id=123372

And bump: Does anyone know how to statically link libstd++ or at least where to go on looking for answers if "info gcc" does not help?
ccandreva
Posts: 1
Joined: Sat Nov 12, 2005 5:02 pm

Post by ccandreva »

[quote="z-man"]I pushed updated sources to SF. Get them here:
https://sourceforge.net/project/showfil ... _id=123372

Just trying to compile beta 3 on Fedora 4 x86/ gcc 4.0.1 . I had to add the
include <SDL.h> to one more file - tron/gParser.cpp
User avatar
Z-Man
God & Project Admin
Posts: 11770
Joined: Sun Jan 23, 2005 6:01 pm
Location: Cologne
Contact:

Post by Z-Man »

Thanks and Welcome! I think it was mentioned elsewhere, but deeply hidden in some long thread. When I went looking, it was already fixed in current CVS.
Post Reply