Ivan won't compile on various linux systems - gcc related? mrplant@milkshake:~/gry/ivan$ sudo sh configure
checking for gcc... gcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ANSI C... none needed
checking build system type... i686-pc-linux-gnu
checking host system type... i686-pc-linux-gnu
checking target system type... i686-pc-linux-gnu
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for gawk... no
checking for mawk... mawk
checking whether make sets $(MAKE)... yes
checking for style of include used by make... GNU
checking dependency style of gcc... none
checking for gcc... (cached) gcc
checking whether we are using the GNU C compiler... (cached) yes
checking whether gcc accepts -g... (cached) yes
checking for gcc option to accept ANSI C... (cached) none needed
checking for g++... g++
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking dependency style of g++... none
checking for sdl-config... /usr/bin/sdl-config
checking for SDL - version >= 1.2.0... yes
checking for a BSD-compatible install... /usr/bin/install -c
checking for ranlib... ranlib
configure: creating ./config.status
config.status: creating Makefile
config.status: creating FeLib/Makefile
config.status: creating FeLib/Include/Makefile
config.status: creating FeLib/Source/Makefile
config.status: creating Script/Makefile
config.status: creating Graphics/Makefile
config.status: creating Main/Makefile
config.status: creating Main/Include/Makefile
config.status: creating Main/Resource/Makefile
config.status: creating Main/Source/Makefile
config.status: executing depfiles commands
mrplant@milkshake:~/gry/ivan$ sudo make
Making all in FeLib
make[1]: Wejście do katalogu `/home/mrplant/gry/ivan/FeLib'
Making all in Source
make[2]: Wejście do katalogu `/home/mrplant/gry/ivan/FeLib/Source'
g++ -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE=\"ivan\" -DVERSION=\"0.50\" -I. -I. -I../../FeLib/Include -I/usr/include/SDL -D_REENTRANT -DLINUX -DLOCAL_STATE_DIR=\"/usr/local/var/ivan\" -DDATADIR=\"/usr/local/share\" -DUSE_SDL -DGCC -g -O2 -c bitmap.cpp
../../FeLib/Include/fearray.h:37: error: invalid use of constructor as a template
../../FeLib/Include/fearray.h:37: note: use ‘fearray<type>::fearray’ instead of ‘fearray<type>::fearray<type>’ to name the constructor in a qualified name
../../FeLib/Include/fearray.h:45: error: invalid use of constructor as a template
../../FeLib/Include/fearray.h:45: note: use ‘fearray<type>::fearray’ instead of ‘fearray<type>::fearray<type>’ to name the constructor in a qualified name
make[2]: *** [bitmap.o] Błąd 1
make[2]: Opuszczenie katalogu `/home/mrplant/gry/ivan/FeLib/Source'
make[1]: *** [all-recursive] Błąd 1
make[1]: Opuszczenie katalogu `/home/mrplant/gry/ivan/FeLib'
make: *** [all-recursive] Błąd 1
mrplant@milkshake:~/gry/ivan$
Erm, help?
unknown_entity- 10-31-2005
...What is your question? >_>
Atomic- 10-31-2005
Technically this should be in the Programming forum. As it is... I can't help you :\ I don't think there are a lot of people compiling on Linux here, though I do seem to recall a thread about compiling on Linux somewhere...
dolny- 10-31-2005
Well I compiled it on Ubuntu Hoary. With no problems. Some time ago I reinstalled Linux from scratch (newer version) and I can't compile :/
DarkAngel- 11-30-2005
I don't think anyone with an up to date compiler is going to be able to compile Ivan anymore (without changes)..
My output on debian mirrors yours.
/usr/src/ivan-0.50> make
Making all in FeLib
make<1>: Entering directory `/usr/src/ivan-0.50/FeLib'
Making all in Source
make<2>: Entering directory `/usr/src/ivan-0.50/FeLib/Source'
g++ -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE=\"ivan\" -DVERSION=\"0.50\" -I. -I. -I../../FeLib/Include -I/usr/include/SDL -D_REENTRANT -DLINUX -DLOCAL_STATE_DIR=\"/usr/local/var/ivan\" -DDATADIR=\"/usr/local/share\" -DUSE_SDL -DGCC -g -O2 -c bitmap.cpp
In file included from bitmap.cpp:17:
../../FeLib/Include/graphics.h:17:17: error: SDL.h: No such file or directory
../../FeLib/Include/graphics.h:53: error: ISO C++ forbids declaration of 'SDL_Surface' with no type
../../FeLib/Include/graphics.h:53: error: expected ';' before '*' token
../../FeLib/Include/fearray.h:37: error: invalid use of constructor as a template
../../FeLib/Include/fearray.h:37: note: use 'fearray<type>::fearray' instead of 'fearray<type>::fearray<type>' to name the constructor in a qualified name
../../FeLib/Include/fearray.h:45: error: invalid use of constructor as a template
../../FeLib/Include/fearray.h:45: note: use 'fearray<type>::fearray' instead of 'fearray<type>::fearray<type>' to name the constructor in a qualified name
make<2>: *** Error 1
make<2>: Leaving directory `/usr/src/ivan-0.50/FeLib/Source'
make<1>: *** Error 1
make<1>: Leaving directory `/usr/src/ivan-0.50/FeLib'
make: *** Error 1
/usr/src/ivan-0.50>
DarkAngel- 11-30-2005
I have modified the topic.
Anyone who has compilation problems, please type:
$ gcc -v
..and paste the output here. I am going to presume this is a problem related to newer versions of GCC not being backwards compatible with all code from previous releases.
Perhaps.
Anyway, in the meantime I'll try to chat with hex about this.
Atomic- 12-05-2005
Could this thread be moved to the programming forum?
DarkAngel- 12-11-2005
This problem has been fixed in cvs
This means that the next release will seee an end to this compilation problem. Unfortunately, it isn't likely that we'll received a patch, and the next release may take many months or years, if ever.
Our best bet is to hope a hacker on the forums with spare time releases a hotfix diff for us.