VCMI for oneiric?

Hello!

In advance I want to thank you for this wonderful project! :smiley:

Now for my question: I have ubuntu oneiric and wonder whether I can install vcmi on it? I checked the list of VCMI ubuntu packages, but oneiric is missing there.
Is it possible to install in anyway, or does VCMI not support older versions of ubuntu?

Thank you in advance!

Sorry but no - current version (0.95) requires at least Ubuntu precise (12.04). You may try compiling from sources older release - 0.94 should work if you can install gcc-4.6.

Since we’d like to use (relatively) new libraries and compiler supporting old releases is not really possible - right now I prefer to keep latest Ubuntu LTS supported but this can be done only by disabling some new features like Launcher (requires at least Raring, 13.04).

And since there will be release of new LTS soon we won’t support current one (precise) for long either.

Thank you for a fast answer!
How unfortunare, since my netbook is optimized for oneiric and may not work well under the newer versions… I guess I’ll try to run wog in wine.

WOG in wine is buggy, you better run windows-version of VCMI under Wine :slight_smile:

Hey, that’s a great idea! I’ll definitely try that out, do you happen to know any guides how to do that? Or maybe google will help :slight_smile:

Ok so I upgraded to ubuntu precise and now I get similar errors!

sudo apt-add-repository ppa:saven-ivan/vcmi
sudo apt-get update

These work, I don’t get any errors.

But after sudo apt-get install vcmi, it gives me “unable to locate package vcmi” :frowning:

That’s strange because ppa does contains vcmi packages for precise. So this should work assuming that you have precise & typical 32bit or 64bit system (aka i686 or amd64).

Can you run all 3 commands once more ant copy all output here?

[email protected]:~$ sudo apt-add-repository ppa:saven-ivan/vcmi
[sudo] password for user:
You are about to add the following PPA to your system:
Ubuntu packages for VCMI, open-source engine for Heroes of Might and Magic III.

Project homepage: forum.vcmi.eu/index.php
More info: launchpad.net/~saven-ivan/+archive/vcmi
Press [ENTER] to continue or ctrl-c to cancel adding it

gpg: keyring /tmp/tmpOHUgTD/secring.gpg' created gpg: keyring/tmp/tmpOHUgTD/pubring.gpg’ created
gpg: requesting key C450C87C from hkp server keyserver.ubuntu.com
gpg: /tmp/tmpOHUgTD/trustdb.gpg: trustdb created
gpg: key C450C87C: public key “Launchpad PPA for Ivan Savenko” imported
gpg: Total number processed: 1
gpg: imported: 1 (RSA: 1)
OK

[email protected]:~$ sudo apt-get update
Hit repository.spotify.com stable Release.gpg
Hit ppa.launchpad.net precise Release.gpg
Hit ppa.launchpad.net precise Release.gpg
Hit ports.ubuntu.com precise Release.gpg
Hit ports.ubuntu.com precise-security Release.gpg
Hit ports.ubuntu.com precise-updates Release.gpg
Hit repository.spotify.com stable Release
Hit ppa.launchpad.net precise Release
Hit ports.ubuntu.com precise Release
Hit ports.ubuntu.com precise-security Release
Hit ppa.launchpad.net precise Release
Hit repository.spotify.com stable/non-free Sources
Hit ports.ubuntu.com precise-updates Release
Hit ppa.launchpad.net precise/main Sources
Hit ports.ubuntu.com precise/main armel Packages
Hit ports.ubuntu.com precise/restricted armel Packages
Hit ports.ubuntu.com precise/universe armel Packages
Hit ports.ubuntu.com precise/main TranslationIndex
Hit ports.ubuntu.com precise/restricted TranslationIndex
Hit ports.ubuntu.com precise/universe TranslationIndex
Hit ports.ubuntu.com precise-security/main armel Packages
Hit ports.ubuntu.com precise-security/restricted armel Packages
Hit ports.ubuntu.com precise-security/universe armel Packages
Hit ports.ubuntu.com precise-security/main TranslationIndex
Hit ports.ubuntu.com precise-security/restricted TranslationIndex
Hit ports.ubuntu.com precise-security/universe TranslationIndex
Hit ports.ubuntu.com precise-updates/main armel Packages
Hit ports.ubuntu.com precise-updates/restricted armel Packages
Hit ports.ubuntu.com precise-updates/universe armel Packages
Hit ports.ubuntu.com precise-updates/main TranslationIndex
Hit ports.ubuntu.com precise-updates/restricted TranslationIndex
Hit ports.ubuntu.com precise-updates/universe TranslationIndex
Hit ports.ubuntu.com precise/main Translation-en
Hit ports.ubuntu.com precise/restricted Translation-en
Hit ports.ubuntu.com precise/universe Translation-en
Hit ports.ubuntu.com precise-security/main Translation-en
Hit ports.ubuntu.com precise-security/restricted Translation-en
Hit ports.ubuntu.com precise-security/universe Translation-en
Hit ports.ubuntu.com precise-updates/main Translation-en
Hit ports.ubuntu.com precise-updates/restricted Translation-en
Hit ports.ubuntu.com precise-updates/universe Translation-en
Hit ppa.launchpad.net precise/main armel Packages
Ign ppa.launchpad.net precise/main TranslationIndex
Hit ppa.launchpad.net precise/main Sources
Hit ppa.launchpad.net precise/main armel Packages
Ign ppa.launchpad.net precise/main TranslationIndex
Ign ppa.launchpad.net precise/main Translation-en_US
Ign ppa.launchpad.net precise/main Translation-en
Ign ppa.launchpad.net precise/main Translation-en_US
Ign ppa.launchpad.net precise/main Translation-en
W: Failed to fetch repository.spotify.com/dists/stable/Release Unable to find expected entry ‘non-free/binary-armel/Packages’ in Release file (Wrong sources.list entry or malformed file)

E: Some index files failed to download. They have been ignored, or old ones used instead.

[email protected]:~$ sudo apt-get install vcmi
Reading package lists… Done
Building dependency tree
Reading state information… Done
E: Unable to locate package vcmi

Unfortunately Launchpad does not supports your architecture (ARM) so you’ll need to compile vcmi package from source yourself. If you wish I can write short guide on how to do this.

How nice of you, please do! :slight_smile: I really want to be able to play vcmi!

Ok, try this:
Create some temporary directory for some files, you can delete it after install
mkdir vcmibuild
cd vcmibuild

Install required packages. This may result in quite a big list:
sudo apt-get build-dep vcmi

Download vcmi source code:
sudo apt-get source vcmi

This will create directory named something like vcmi_0.95~precise3
cd

Run compilation. This may take quite a while (15-30 min, depending on hardware) and will need ~2 Gb of free space
dpkg-buildpackage -b

If everything is OK this should create .deb package which can be installed. Exact name may be different but should be similar to this:
sudo dpkg -i vcmi_0.95~precise3_armel.deb

if everything went OK vcmi should be installed now.

Hi again,

Thank you for the detalied guide!
Everything worked just fine until compilation step:

[email protected]:~/vcmibuild$ dpkg-buildpackage -b
dpkg-buildpackage: export CFLAGS from dpkg-buildflags (origin: vendor): -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Wformat-security
dpkg-buildpackage: export CPPFLAGS from dpkg-buildflags (origin: vendor): -D_FORTIFY_SOURCE=2
dpkg-buildpackage: export CXXFLAGS from dpkg-buildflags (origin: vendor): -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Wformat-security
dpkg-buildpackage: export FFLAGS from dpkg-buildflags (origin: vendor): -g -O2
dpkg-buildpackage: export LDFLAGS from dpkg-buildflags (origin: vendor): -Wl,-Bsymbolic-functions -Wl,-z,relro
tail: cannot open `debian/changelog' for reading: No such file or directory
dpkg-buildpackage: error: tail of debian/changelog gave error exit status 1

You’ve missed this:

dpkg-buildpackage command must be executed from this directory while you’re executing it from vcmibuild directory

Thanks for the advice, however when

[email protected]:~$ cd vcmi-0.95~precise3
bash: cd: vcmi-0.95~precise3: No such file or directory

EDIT: nevermind, I found out I needed to go into vcmibuild directory first.
Compiling right now, so excited :slight_smile:

It started out good, but I got this error several times now:

c++: internal compiler error: Segmentation fault (program cc1plus)
Please submit a full bug report,
with preprocessed source if appropriate.
See <file:///usr/share/doc/gcc-4.6/README.Bugs> for instructions.
make[3]: *** [lib/CMakeFiles/vcmi.dir/StdInc.cpp.o] Error 4
make[3]: Leaving directory `/home/user/vcmibuild/vcmi-0.95~precise3/obj-arm-linux-gnueabi'
make[2]: *** [lib/CMakeFiles/vcmi.dir/all] Error 2
make[2]: Leaving directory `/home/user/vcmibuild/vcmi-0.95~precise3/obj-arm-linux-gnueabi'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/home/user/vcmibuild/vcmi-0.95~precise3/obj-arm-linux-gnueabi'
dh_auto_build: make -j1 returned exit code 2
make: *** [build] Error 2
dpkg-buildpackage: error: debian/rules build gave error exit status 2

How bad is it? :frowning:

That may be bad. Can you post more than that? I need around 50-100 lines to figure out what’s going on.

Here is the whole process, hope it helps:

[email protected]:~/vcmibuild/vcmi-0.95~precise3$ sudo dpkg-buildpackage -b 
[sudo] password for user: 
dpkg-buildpackage: source package vcmi
dpkg-buildpackage: source version 0.95~precise3
dpkg-buildpackage: source changed by Ivan Savenko <[email protected]>
dpkg-buildpackage: host architecture armel
 dpkg-source --before-build vcmi-0.95~precise3
 debian/rules clean
dh clean
   dh_testdir
   dh_auto_clean
   dh_clean
 debian/rules build
dh build
   dh_testdir
   debian/rules override_dh_auto_configure
make[1]: Entering directory `/home/user/vcmibuild/vcmi-0.95~precise3'
dh_auto_configure -- -DCMAKE_SKIP_RPATH=OFF -DCMAKE_BUILD_TYPE=RelWithDebInfo -DBIN_DIR=games -DENABLE_LAUNCHER=OFF
-- The C compiler identification is GNU
-- The CXX compiler identification is GNU
-- Check for working C compiler: /usr/bin/gcc
-- Check for working C compiler: /usr/bin/gcc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Boost version: 1.48.0
-- Found the following Boost libraries:
--   program_options
--   filesystem
--   system
--   thread
--   locale
-- Looking for include files CMAKE_HAVE_PTHREAD_H
-- Looking for include files CMAKE_HAVE_PTHREAD_H - found
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Found Threads: TRUE 
-- Found ZLIB: /usr/lib/arm-linux-gnueabi/libz.so (found version "1.2.3.4")
-- cotire 1.5.2 loaded.
-- checking for module 'libavcodec'
--   found libavcodec, version 53.35.0
-- checking for module 'libavformat'
--   found libavformat, version 53.21.1
-- checking for module 'libavdevice'
--   package 'libavdevice' not found
-- checking for module 'libavutil'
--   found libavutil, version 51.22.2
-- checking for module 'libswscale'
--   found libswscale, version 2.1.0
-- checking for module 'libpostproc'
--   package 'libpostproc' not found
-- Found FFmpeg: /usr/lib/arm-linux-gnueabi/libavcodec.so;/usr/lib/arm-linux-gnueabi/libavformat.so;/usr/lib/arm-linux-gnueabi/libavutil.so;/usr/lib/arm-linux-gnueabi/libswscale.so 
-- Looking for shm_open in rt
-- Looking for shm_open in rt - found
-- Looking for dlopen in dl
-- Looking for dlopen in dl - found
-- CXX target vcmi cotired without unity build.
-- CXX target vcmiclient cotired without unity build.
-- CXX target vcmiserver cotired without unity build.
-- CXX target BattleAI cotired without unity build.
-- CXX target StupidAI cotired without unity build.
-- CXX target VCAI cotired without unity build.
-- Configuring done
-- Generating done
-- Build files have been written to: /home/user/vcmibuild/vcmi-0.95~precise3/obj-arm-linux-gnueabi
make[1]: Leaving directory `/home/user/vcmibuild/vcmi-0.95~precise3'
   dh_auto_build
make[1]: Entering directory `/home/user/vcmibuild/vcmi-0.95~precise3/obj-arm-linux-gnueabi'
/usr/bin/cmake -H"/home/user/vcmibuild/vcmi-0.95~precise3" -B"/home/user/vcmibuild/vcmi-0.95~precise3/obj-arm-linux-gnueabi" --check-build-system CMakeFiles/Makefile.cmake 0
/usr/bin/cmake -E cmake_progress_start "/home/user/vcmibuild/vcmi-0.95~precise3/obj-arm-linux-gnueabi/CMakeFiles" "/home/user/vcmibuild/vcmi-0.95~precise3/obj-arm-linux-gnueabi/CMakeFiles/progress.marks"
make -f CMakeFiles/Makefile2 all
make[2]: Entering directory `/home/user/vcmibuild/vcmi-0.95~precise3/obj-arm-linux-gnueabi'
make -f lib/minizip/CMakeFiles/minizip.dir/build.make lib/minizip/CMakeFiles/minizip.dir/depend
make[3]: Entering directory `/home/user/vcmibuild/vcmi-0.95~precise3/obj-arm-linux-gnueabi'
cd "/home/user/vcmibuild/vcmi-0.95~precise3/obj-arm-linux-gnueabi" && /usr/bin/cmake -E cmake_depends "Unix Makefiles" "/home/user/vcmibuild/vcmi-0.95~precise3" "/home/user/vcmibuild/vcmi-0.95~precise3/lib/minizip" "/home/user/vcmibuild/vcmi-0.95~precise3/obj-arm-linux-gnueabi" "/home/user/vcmibuild/vcmi-0.95~precise3/obj-arm-linux-gnueabi/lib/minizip" "/home/user/vcmibuild/vcmi-0.95~precise3/obj-arm-linux-gnueabi/lib/minizip/CMakeFiles/minizip.dir/DependInfo.cmake" --color=
Scanning dependencies of target minizip
make[3]: Leaving directory `/home/user/vcmibuild/vcmi-0.95~precise3/obj-arm-linux-gnueabi'
make -f lib/minizip/CMakeFiles/minizip.dir/build.make lib/minizip/CMakeFiles/minizip.dir/build
make[3]: Entering directory `/home/user/vcmibuild/vcmi-0.95~precise3/obj-arm-linux-gnueabi'
/usr/bin/cmake -E cmake_progress_report "/home/user/vcmibuild/vcmi-0.95~precise3/obj-arm-linux-gnueabi/CMakeFiles" 35
  1%] Building C object lib/minizip/CMakeFiles/minizip.dir/unzip.c.o
cd "/home/user/vcmibuild/vcmi-0.95~precise3/obj-arm-linux-gnueabi/lib/minizip" && /usr/bin/gcc  -Dminizip_EXPORTS -DM_DATA_DIR=\"/usr/share/vcmi\" -DM_BIN_DIR=\"/usr/games\" -DM_LIB_DIR=\"/usr/lib/vcmi\" -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Wformat-security -Werror=format-security  -O2 -g -fPIC   -o CMakeFiles/minizip.dir/unzip.c.o   -c "/home/user/vcmibuild/vcmi-0.95~precise3/lib/minizip/unzip.c"
/usr/bin/cmake -E cmake_progress_report "/home/user/vcmibuild/vcmi-0.95~precise3/obj-arm-linux-gnueabi/CMakeFiles" 
  1%] Building C object lib/minizip/CMakeFiles/minizip.dir/zip.c.o
cd "/home/user/vcmibuild/vcmi-0.95~precise3/obj-arm-linux-gnueabi/lib/minizip" && /usr/bin/gcc  -Dminizip_EXPORTS -DM_DATA_DIR=\"/usr/share/vcmi\" -DM_BIN_DIR=\"/usr/games\" -DM_LIB_DIR=\"/usr/lib/vcmi\" -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Wformat-security -Werror=format-security  -O2 -g -fPIC   -o CMakeFiles/minizip.dir/zip.c.o   -c "/home/user/vcmibuild/vcmi-0.95~precise3/lib/minizip/zip.c"
/usr/bin/cmake -E cmake_progress_report "/home/user/vcmibuild/vcmi-0.95~precise3/obj-arm-linux-gnueabi/CMakeFiles" 36
  2%] Building C object lib/minizip/CMakeFiles/minizip.dir/ioapi.c.o
cd "/home/user/vcmibuild/vcmi-0.95~precise3/obj-arm-linux-gnueabi/lib/minizip" && /usr/bin/gcc  -Dminizip_EXPORTS -DM_DATA_DIR=\"/usr/share/vcmi\" -DM_BIN_DIR=\"/usr/games\" -DM_LIB_DIR=\"/usr/lib/vcmi\" -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Wformat-security -Werror=format-security  -O2 -g -fPIC   -o CMakeFiles/minizip.dir/ioapi.c.o   -c "/home/user/vcmibuild/vcmi-0.95~precise3/lib/minizip/ioapi.c"
Linking C shared library libminizip.so
cd "/home/user/vcmibuild/vcmi-0.95~precise3/obj-arm-linux-gnueabi/lib/minizip" && /usr/bin/cmake -E cmake_link_script CMakeFiles/minizip.dir/link.txt --verbose=1
/usr/bin/gcc  -fPIC -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Wformat-security -Werror=format-security  -O2 -g  -Wl,-Bsymbolic-functions -Wl,-z,relro -shared -Wl,-soname,libminizip.so -o libminizip.so CMakeFiles/minizip.dir/unzip.c.o CMakeFiles/minizip.dir/zip.c.o CMakeFiles/minizip.dir/ioapi.c.o -lz -Wl,-rpath,::::::::::::: 
make[3]: Leaving directory `/home/user/vcmibuild/vcmi-0.95~precise3/obj-arm-linux-gnueabi'
/usr/bin/cmake -E cmake_progress_report "/home/user/vcmibuild/vcmi-0.95~precise3/obj-arm-linux-gnueabi/CMakeFiles"  35 36
  2%] Built target minizip
make -f lib/CMakeFiles/vcmi.dir/build.make lib/CMakeFiles/vcmi.dir/depend
make[3]: Entering directory `/home/user/vcmibuild/vcmi-0.95~precise3/obj-arm-linux-gnueabi'
/usr/bin/cmake -E cmake_progress_report "/home/user/vcmibuild/vcmi-0.95~precise3/obj-arm-linux-gnueabi/CMakeFiles" 
  2%] Generating lib/cotire/vcmi_CXX_prefix.hxx
cd "/home/user/vcmibuild/vcmi-0.95~precise3/lib" && /usr/bin/cmake -DCOTIRE_BUILD_TYPE:STRING=RelWithDebInfo -DCOTIRE_VERBOSE:BOOL=1 -P "/home/user/vcmibuild/vcmi-0.95~precise3/cmake_modules/cotire.cmake" combine "/home/user/vcmibuild/vcmi-0.95~precise3/obj-arm-linux-gnueabi/lib/vcmi_CXX_cotire.cmake" "/home/user/vcmibuild/vcmi-0.95~precise3/obj-arm-linux-gnueabi/lib/cotire/vcmi_CXX_prefix.hxx" StdInc.h
#ifdef __cplusplus
#include "/home/user/vcmibuild/vcmi-0.95~precise3/lib/StdInc.h"
#endif

/usr/bin/cmake -E cmake_progress_report "/home/user/vcmibuild/vcmi-0.95~precise3/obj-arm-linux-gnueabi/CMakeFiles" 72
  3%] Building CXX precompiled header lib/cotire/vcmi_CXX_prefix.hxx.gch
cd "/home/user/vcmibuild/vcmi-0.95~precise3/lib" && /usr/bin/cmake -DCOTIRE_BUILD_TYPE:STRING=RelWithDebInfo -DCOTIRE_VERBOSE:BOOL=1 -P "/home/user/vcmibuild/vcmi-0.95~precise3/cmake_modules/cotire.cmake" precompile "/home/user/vcmibuild/vcmi-0.95~precise3/obj-arm-linux-gnueabi/lib/vcmi_CXX_cotire.cmake" "/home/user/vcmibuild/vcmi-0.95~precise3/obj-arm-linux-gnueabi/lib/cotire/vcmi_CXX_prefix.hxx" "/home/user/vcmibuild/vcmi-0.95~precise3/obj-arm-linux-gnueabi/lib/cotire/vcmi_CXX_prefix.hxx.gch" StdInc.cpp
-- execute_process: /usr/bin/c++;-Dvcmi_EXPORTS;-DM_DATA_DIR="/usr/share/vcmi";-DM_BIN_DIR="/usr/games";-DM_LIB_DIR="/usr/lib/vcmi";-g;-O2;-fstack-protector;--param=ssp-buffer-size=4;-Wformat;-Wformat-security;-Werror=format-security;-std=c++0x;-Wall;-Wextra;-Wpointer-arith;-Wno-switch;-Wno-sign-compare;-Wno-unused-parameter;-Wuninitialized;-Wno-overloaded-virtual;-O2;-g;-fPIC;-I/home/user/vcmibuild/vcmi-0.95~precise3;-I/home/user/vcmibuild/vcmi-0.95~precise3/lib;-I/usr/include/SDL;-x;c++-header;-c;/home/user/vcmibuild/vcmi-0.95~precise3/obj-arm-linux-gnueabi/lib/cotire/vcmi_CXX_prefix.hxx;-o;/home/user/vcmibuild/vcmi-0.95~precise3/obj-arm-linux-gnueabi/lib/cotire/vcmi_CXX_prefix.hxx.gch
cd "/home/user/vcmibuild/vcmi-0.95~precise3/obj-arm-linux-gnueabi" && /usr/bin/cmake -E cmake_depends "Unix Makefiles" "/home/user/vcmibuild/vcmi-0.95~precise3" "/home/user/vcmibuild/vcmi-0.95~precise3/lib" "/home/user/vcmibuild/vcmi-0.95~precise3/obj-arm-linux-gnueabi" "/home/user/vcmibuild/vcmi-0.95~precise3/obj-arm-linux-gnueabi/lib" "/home/user/vcmibuild/vcmi-0.95~precise3/obj-arm-linux-gnueabi/lib/CMakeFiles/vcmi.dir/DependInfo.cmake" --color=
Scanning dependencies of target vcmi
make[3]: Leaving directory `/home/user/vcmibuild/vcmi-0.95~precise3/obj-arm-linux-gnueabi'
make -f lib/CMakeFiles/vcmi.dir/build.make lib/CMakeFiles/vcmi.dir/build
make[3]: Entering directory `/home/user/vcmibuild/vcmi-0.95~precise3/obj-arm-linux-gnueabi'
/usr/bin/cmake -E cmake_progress_report "/home/user/vcmibuild/vcmi-0.95~precise3/obj-arm-linux-gnueabi/CMakeFiles" 
  3%] Building CXX object lib/CMakeFiles/vcmi.dir/StdInc.cpp.o
cd "/home/user/vcmibuild/vcmi-0.95~precise3/obj-arm-linux-gnueabi/lib" && /usr/bin/c++   -Dvcmi_EXPORTS -DM_DATA_DIR=\"/usr/share/vcmi\" -DM_BIN_DIR=\"/usr/games\" -DM_LIB_DIR=\"/usr/lib/vcmi\" -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Wformat-security -Werror=format-security  -std=c++0x -Wall -Wextra -Wpointer-arith -Wno-switch -Wno-sign-compare -Wno-unused-parameter -Wuninitialized -Wno-overloaded-virtual  -O2 -g -fPIC -I"/home/user/vcmibuild/vcmi-0.95~precise3" -I"/home/user/vcmibuild/vcmi-0.95~precise3/lib" -I/usr/include/SDL     -include "/home/user/vcmibuild/vcmi-0.95~precise3/obj-arm-linux-gnueabi/lib/cotire/vcmi_CXX_prefix.hxx" -Winvalid-pch  -o CMakeFiles/vcmi.dir/StdInc.cpp.o -c "/home/user/vcmibuild/vcmi-0.95~precise3/lib/StdInc.cpp"

c++: internal compiler error: Segmentation fault (program cc1plus)
Please submit a full bug report,
with preprocessed source if appropriate.
See <file:///usr/share/doc/gcc-4.6/README.Bugs> for instructions.
make[3]: *** [lib/CMakeFiles/vcmi.dir/StdInc.cpp.o] Error 4
make[3]: Leaving directory `/home/user/vcmibuild/vcmi-0.95~precise3/obj-arm-linux-gnueabi'
make[2]: *** [lib/CMakeFiles/vcmi.dir/all] Error 2
make[2]: Leaving directory `/home/user/vcmibuild/vcmi-0.95~precise3/obj-arm-linux-gnueabi'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/home/user/vcmibuild/vcmi-0.95~precise3/obj-arm-linux-gnueabi'
dh_auto_build: make -j1 returned exit code 2
make: *** [build] Error 2
dpkg-buildpackage: error: debian/rules build gave error exit status 2

Why it can’t be that simple? That’s compiler bug that was fixed some time ago: gcc.gnu.org/bugzilla/show_bug.cgi?id=48173

Try this workaround, although I’m not completely sure if it will work.

  1. Open file debian/rules, check line #8 and replace
    -DCMAKE_BUILD_TYPE=RelWithDebInfo
    with this:
    -DCMAKE_BUILD_TYPE=Debug

  2. Instead of running “dpkg-buildpackage -b” run this command:
    DEB_CXXFLAGS_SET="-O0" dpkg-buildpackage -b
    Note: two symbols in quotes are letter “O” and zero, in this order. (they are just too similar in some fonts).

Ivan, would it be possible to keep compatibility with Debian Stable?

Mostly - yes. Right now there is one problem with Debian - currently it does not have Qt5 in repositories so our launcher must be disabled for proper compilation. But main game is fully-functional.

After release of next Ubuntu LTS I’d like to remove support for gcc-4.6 but this won’t have any effect on Debian since current stable provides gcc-4.7 as default.

In fact when determining compilers and libraries that we should support I usually check available packages for both Debian and Ubuntu (other distros like Fedora, Arch or Gentoo are much faster with updates).