When trying to compile ivan with gcc-config set to i686-pc-linux-gnu-3.4.2, I
got the following errors:
...
Making all in Source
make[2]: Entering directory
`/var/tmp/portage/ivan-0.430/work/ivan-0.430/Main/So
urce'
source='actset.cpp' object='actset.o' libtool=no \
depfile='.deps/actset.Po' tmpdepfile='.deps/actset.TPo' \
depmode=gcc3 /bin/sh ../../depcomp \
i686-pc-linux-gnu-g++ -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\"
-DPACKAGE_VERSI
ON=\"\" -DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE=\"ivan\"
-DVERS
ION=\"0.430\" -I. -I. -I../../FeLib/Include -I../../Main/Include
-I/usr/includ
e/SDL -D_REENTRANT -DLINUX -DLOCAL_STATE_DIR=\"/var/games/ivan/\"
-DDATADIR=\"/u
sr/share/games\" -DUSE_SDL -DGCC -O2 -march=athlon-xp -pipe -c -o actset.o
`tes
t -f 'actset.cpp' || echo './'`actset.cpp
source='areaset.cpp' object='areaset.o' libtool=no \
depfile='.deps/areaset.Po' tmpdepfile='.deps/areaset.TPo' \
depmode=gcc3 /bin/sh ../../depcomp \
i686-pc-linux-gnu-g++ -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\"
-DPACKAGE_VERSI
ON=\"\" -DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE=\"ivan\"
-DVERS
ION=\"0.430\" -I. -I. -I../../FeLib/Include -I../../Main/Include
-I/usr/includ
e/SDL -D_REENTRANT -DLINUX -DLOCAL_STATE_DIR=\"/var/games/ivan/\"
-DDATADIR=\"/u
sr/share/games\" -DUSE_SDL -DGCC -O2 -march=athlon-xp -pipe -c -o areaset.o
`te
st -f 'areaset.cpp' || echo './'`areaset.cpp
In file included from actset.cpp:3:
../../Main/Include/proto.h: In function `outputfile& operator<<(outputfile&,
con
st type*)':
../../Main/Include/proto.h:80: error: no match for 'operator<<' in 'SaveFile <<
(ushort)(0)'
../../Main/Include/proto.h: In function `inputfile& operator>>(inputfile&,
type*
&)':
../../Main/Include/proto.h:88: error: no match for 'operator>>' in 'SaveFile >>
Type'
actset.cpp: At global scope:
actset.cpp:6: error: too few template-parameter-lists
actset.cpp:7: error: too few template-parameter-lists
actset.cpp:8: error: too few template-parameter-lists
In file included from ../../Main/Include/char.h:9,
from actset.cpp:15:
../../Main/Include/script.h:201: error: an explicit specialization must be
prece
ded by 'template <>'
../../Main/Include/script.h:217: error: an explicit specialization must be
preceded by 'template <>'
../../Main/Include/script.h:241: error: an explicit specialization must be
preceded by 'template <>'
../../Main/Include/script.h:253: error: an explicit specialization must be
preceded by 'template <>'
In file included from ../../Main/Include/char.h:9,
from areaset.cpp:2:
../../Main/Include/script.h:201: error: an explicit specialization must be
preceded by 'template <>'
../../Main/Include/script.h:217: error: an explicit specialization must be
preceded by 'template <>'
../../Main/Include/script.h:241: error: an explicit specialization must be
preceded by 'template <>'
../../Main/Include/script.h:253: error: an explicit specialization must be
preceded by 'template <>'
In file included from areaset.cpp:8:
../../Main/Include/proto.h: In function `outputfile& operator<<(outputfile&,
const type*)':
../../Main/Include/proto.h:80: error: ambiguous overload for 'operator<<' in
'SaveFile << (ushort)(0)'
../../Main/Include/level.h:162: note: candidates are: outputfile&
operator<<(outputfile&, const level*) <near match>
../../Main/Include/dungeon.h:49: note: outputfile&
operator<<(outputfile&, const dungeon*) <near match>
../../Main/Include/script.h:451: note: outputfile&
operator<<(outputfile&, const gamescript*) <near match>
../../Main/Include/team.h:47: note: outputfile&
operator<<(outputfile&, const team*) <near match>
../../Main/Include/game.h:51: note: outputfile&
operator<<(outputfile&, const homedata*) <near match>
../../FeLib/Include/bitmap.h:189: note: outputfile&
operator<<(outputfile&, const bitmap*) <near match>
../../Main/Include/proto.h: In function `inputfile& operator>>(inputfile&,
type*&)':
../../Main/Include/proto.h:88: error: no match for 'operator>>' in 'SaveFile >>
Type'
../../FeLib/Include/femath.h:77: note: candidates are: inputfile&
operator>>(inputfile&, interval&)
../../FeLib/Include/femath.h:79: note: inputfile&
operator>>(inputfile&, region&)
../../Main/Include/igraph.h:50: note: inputfile&
operator>>(inputfile&, graphicid&)
../../Main/Include/level.h:163: note: inputfile&
operator>>(inputfile&, level*&)
../../Main/Include/dungeon.h:50: note: inputfile&
operator>>(inputfile&, dungeon*&)
../../Main/Include/lsquare.h:39: note: inputfile&
operator>>(inputfile&, emitter&)
../../Main/Include/slot.h:119: note: inputfile&
operator>>(inputfile&, slot&)
../../Main/Include/script.h:117: note: inputfile&
operator>>(inputfile&, script&)
../../Main/Include/script.h:452: note: inputfile&
operator>>(inputfile&, gamescript*&)
../../Main/Include/team.h:48: note: inputfile&
operator>>(inputfile&, team*&)
../../Main/Include/game.h:52: note: inputfile&
operator>>(inputfile&, homedata*&)
../../Main/Include/game.h:72: note: inputfile&
operator>>(inputfile&, configid&)
../../Main/Include/game.h:84: note: inputfile&
operator>>(inputfile&, dangerid&)
../../FeLib/Include/bitmap.h:190: note: inputfile&
operator>>(inputfile&, bitmap*&)
make[2]: *** [actset.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[2]: *** [areaset.o] Error 1
make[2]: Leaving directory
`/var/tmp/portage/ivan-0.430/work/ivan-0.430/Main/Source'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/var/tmp/portage/ivan-0.430/work/ivan-0.430/Main'
make: *** [all-recursive] Error 1
!!! ERROR: games-roguelike/ivan-0.430 failed.
!!! Function games_src_compile, Line 143, Exitcode 2
!!! emake failed
!!! If you need support, post the topmost build error, NOT this status message.
Workaround:
After switching gcc-config to i686-pc-linux-gnu-3.3.4, everything seemed to
work properly.