LINUX.ORG.RU
ФорумGames

Не компилируется Iter Vehemens ad Necem

 ,


0

1

Здравствуйте! Подскажите, пожалуйста, почему не получается установить игру Iter Vehemens ad Necem...

root@shp:/home/shp/ivan-0.50# ./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

root@shp:/home/shp/ivan-0.50# make

Making all in FeLib

make[1]: Entering directory `/home/shp/ivan-0.50/FeLib'

Making all in Source

make[2]: Entering directory `/home/shp/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_GNU_SOURCE=1 -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 ../../FeLib/Include/save.h:25, from bitmap.cpp:18:

../../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>::struct 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>::struct fearray<type>’ to name the constructor in a qualified name

make[2]: *** [bitmap.o] Ошибка 1

make[2]: Leaving directory `/home/shp/ivan-0.50/FeLib/Source'

make[1]: *** [all-recursive] Ошибка 1

make[1]: Leaving directory `/home/shp/ivan-0.50/FeLib'

make: *** [all-recursive] Ошибка 1

все что нашел по теме: http://www.attnam.com/wiki/Known_Issues

source doesn't compile on (insert your OS here) Linux version 2.6.24-22-generic (buildd@vernadsky) (gcc version 4.2.3 (Ubuntu 4.2.3-2ubuntu7)) (Ubuntu hardy heron)

In file included from ../../FeLib/Include/save.h:25, from bitmap.cpp:18: ../../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>::struct 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>::struct fearray<type>’ to name the constructor in a qualified name make[2]: *** [bitmap.o] Error 1

This error can be easily remediated by following the instructions in the notes. It happens several times.

root@shp:/home/shp/ivan-0.50# uname -a Linux shp 2.6.32-5-686 #1 SMP Sun May 6 04:01:19 UTC 2012 i686 GNU/Linux

root@shp:/home/shp/ivan-0.50# gcc -v

Using built-in specs.

Target: i486-linux-gnu

Configured with: ../src/configure -v --with-pkgversion='Debian 4.4.5-8' --with-bugurl=file:///usr/share/doc/gcc-4.4/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.4 --enable-shared --enable-multiarch --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.4 --libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-objc-gc --enable-targets=all --with-arch-32=i586 --with-tune=generic --enable-checking=release --build=i486-linux-gnu --host=i486-linux-gnu --target=i486-linux-gnu

Thread model: posix

gcc version 4.4.5 (Debian 4.4.5-8)

This error can be easily remediated by following the instructions in the notes.

thesis ★★★★★ ()
Ответ на: комментарий от thesis

Этих самых instructions в notes нигде на сайте нет... А в INSTALL ничего особенного:

Compiling IVAN under different systems --------------------------------------

Under Linux, type:

./configure

make

make install

--------------------------------------

Under DOS:

If you have DJGPP 2.03+ and gcc 2.952+

installed, type:

make -f ivandj.mak

--------------------------------------

Under Win32:

If you have MinGW 1.1+ and gcc

...поэтому и обращаюсь

shpunt ()

Открываем кладезь мудрости - порты FreeBSD:

http://www.freebsd.org/cgi/cvsweb.cgi/~checkout~/ports/games/ivan/Makefile

и находим там все регулярки, нужные чтобы собрать игру. Для данной конкретной ошибки нужно

inline fearray<type>::fearray<type>

заменить на

inline fearray<type>::fearray

для конструкторов и деструктора. Но это не единственное необходимое изменение.

slovazap ★★★★★ ()
Ответ на: комментарий от slovazap

подправил в этих двух местах:

$ grep -wnR 'fearray<type>::fearray<type>' *

FeLib/Include/fearray.h:37:inline fearray<type>::fearray<type>(const fearray<type>& A)

FeLib/Include/fearray.h:45:inline fearray<type>::fearray<type>(const type* Array, sizetype Size)

эта ошибка пропала, появилась следующая:

festring.cpp:20: warning: deprecated conversion from string constant to ‘char*’

festring.cpp: In static member function ‘static void festring::InstallIntegerMap()’:

festring.cpp:459: error: ‘atexit’ was not declared in this scope

make[2]: *** [festring.o] Ошибка 1

make[2]: Leaving directory `/home/shp/ivan-0.50/FeLib/Source'

make[1]: *** [all-recursive] Ошибка 1

make[1]: Leaving directory `/home/shp/ivan-0.50/FeLib'

make: *** [all-recursive] Ошибка 1

какие еще изменения нужны?

shpunt ()
Ответ на: комментарий от proud_anon

Патчи помогли, спасибо!!!

p.s. после патчей всеравно пришлось руками поправить fearray<type>::fearray<type>

shpunt ()
Ответ на: комментарий от shpunt

p.s. после патчей всеравно пришлось руками поправить fearray<type>::fearray<type>

Это странно, поскольку в первом патче (ivan-0.50-gcc41.patch) это вроде как уже поправлено, но если пойдет и падать не будет, то что ж, хорошо.

proud_anon ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.