VCMI on Linux

Why did you need to recompile ffmpeg ? Doesn’t your distribution provide it ?

library may be shared or static, onion wrote to use shared version
ffmpeg library may be compiled by you, or precompiled with using proper version
libraries are needed to link, even if theyare precompiled

i think onion had to say that precompiled version which is easier to get is the static one so better to recompile by own to be sure about good configuration

It’s because I was trying to get it to run on my university servers. These do not have a lot of libraries installed, only zlib present. Like other users I also only have access to my home directory, so I had to install it all manually with configure and make, using --prefix=$HOME. If I wanted packages installed I’d have to contact the administrator and I’m not sure if he’s that inclined to do it.

I’d like to make a port to SmartQ V7 (Ubuntu Karmic on arm) with 800x480 resolution, but it seems that boost dev packages are too huge for device (it has 300MB free space on root).

lostmsu, why you need to put boost dev packages to your device? Can’t you compile VCMI on your PC and copy necessary files to that? AFAIR all necessary boost packages all statically linked. 300 MB should be enough for most essential files (H3 + WoG files + VCMI binaries and config files). BTW, you should check if your platform is supported by all libraries we use.

I try to compile in my linux box but there is some error.
Could someone advice we, how to fix this error?

/bin/sh ../libtool  --tag=CXX   --mode=compile g++ -DPACKAGE_NAME=\"vcmi\" -DPACKAGE_TARNAME=\"vcmi\" -DPACKAGE_VERSION=\"0.75\" -DPACKAGE_STRING=\"vcmi\ 0.75\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE_URL=\"\" -DPACKAGE=\"vcmi\" -DVERSION=\"0.75\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -DHAVE_BOOST=/\*\*/ -DHAVE_BOOST_SYSTEM=/\*\*/ -DHAVE_BOOST_FILESYSTEM=/\*\*/ -DHAVE_BOOST_THREAD=/\*\*/ -DHAVE_BOOST_IOSTREAMS=/\*\*/ -DHAVE_LIBSDL=1 -DHAVE_LIBSDL_MIXER=1 -DHAVE_LIBSDL_IMAGE=1 -DHAVE_LIBSDL_TTF=1 -DHAVE_LIBAVFORMAT=1 -DHAVE_LIBSWSCALE=1 -DSTDC_HEADERS=1 -DHAVE_FCNTL_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_BOOST_FILESYSTEM_HPP=1 -DHAVE_BOOST_ALGORITHM_STRING_HPP=1 -DHAVE_BOOST_ALGORITHM_STRING_REPLACE_HPP=1 -DHAVE_BOOST_FILESYSTEM_OPERATIONS_HPP=1 -DHAVE_BOOST_ASSIGN_STD_VECTOR_HPP=1 -DHAVE_BOOST_ALGORITHM_STRING_FIND_HPP=1 -DHAVE_BOOST_FUNCTION_HPP=1 -DHAVE_BOOST_BIND_HPP=1 -DHAVE_ATEXIT=1 -DHAVE_MEMSET=1 -DHAVE_POW=1 -DHAVE_SELECT=1 -DHAVE_SQRT=1 -I.   -pthread -I/usr/include -I/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT -O0 -ggdb -Wall -Wcast-align -Wpointer-arith -DDATA_DIR=\"/usr/local/share/vcmi\" -DBIN_DIR=\"/usr/local/bin\" -DLIB_DIR=\"/usr/local/lib/vcmi\" -MT libvcmi_la-CGameState.lo -MD -MP -MF .deps/libvcmi_la-CGameState.Tpo -c -o libvcmi_la-CGameState.lo `test -f 'CGameState.cpp' || echo './'`CGameState.cpp
libtool: compile:  g++ -DPACKAGE_NAME=\"vcmi\" -DPACKAGE_TARNAME=\"vcmi\" -DPACKAGE_VERSION=\"0.75\" "-DPACKAGE_STRING=\"vcmi 0.75\"" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE_URL=\"\" -DPACKAGE=\"vcmi\" -DVERSION=\"0.75\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" "-DHAVE_BOOST=/**/" "-DHAVE_BOOST_SYSTEM=/**/" "-DHAVE_BOOST_FILESYSTEM=/**/" "-DHAVE_BOOST_THREAD=/**/" "-DHAVE_BOOST_IOSTREAMS=/**/" -DHAVE_LIBSDL=1 -DHAVE_LIBSDL_MIXER=1 -DHAVE_LIBSDL_IMAGE=1 -DHAVE_LIBSDL_TTF=1 -DHAVE_LIBAVFORMAT=1 -DHAVE_LIBSWSCALE=1 -DSTDC_HEADERS=1 -DHAVE_FCNTL_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_BOOST_FILESYSTEM_HPP=1 -DHAVE_BOOST_ALGORITHM_STRING_HPP=1 -DHAVE_BOOST_ALGORITHM_STRING_REPLACE_HPP=1 -DHAVE_BOOST_FILESYSTEM_OPERATIONS_HPP=1 -DHAVE_BOOST_ASSIGN_STD_VECTOR_HPP=1 -DHAVE_BOOST_ALGORITHM_STRING_FIND_HPP=1 -DHAVE_BOOST_FUNCTION_HPP=1 -DHAVE_BOOST_BIND_HPP=1 -DHAVE_ATEXIT=1 -DHAVE_MEMSET=1 -DHAVE_POW=1 -DHAVE_SELECT=1 -DHAVE_SQRT=1 -I. -pthread -I/usr/include -I/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT -O0 -ggdb -Wall -Wcast-align -Wpointer-arith -DDATA_DIR=\"/usr/local/share/vcmi\" -DBIN_DIR=\"/usr/local/bin\" -DLIB_DIR=\"/usr/local/lib/vcmi\" -MT libvcmi_la-CGameState.lo -MD -MP -MF .deps/libvcmi_la-CGameState.Tpo -c CGameState.cpp  -fPIC -DPIC -o .libs/libvcmi_la-CGameState.o
distcc[870] ERROR: compile /home/vd/.ccache/CGameState.tmp.betelgause.866.ii on localhost failed
CGameState.cpp: In member function 'std::string MetaString::buildList() const':
CGameState.cpp:276: warning: comparison between signed and unsigned integer expressions
CGameState.cpp:278: warning: suggest parentheses around '&&' within '||'
CGameState.cpp: In member function 'CStack* BattleInfo::getStack(int, bool)':
CGameState.cpp:365: warning: comparison between signed and unsigned integer expressions
CGameState.cpp: In member function 'void BattleInfo::getAccessibilityMap(bool*, bool, bool, bool, std::set<int, std::less<int>, std::allocator<int> >&, bool, int) const':
CGameState.cpp:411: warning: comparison between signed and unsigned integer expressions
CGameState.cpp:438: warning: comparison between signed and unsigned integer expressions
CGameState.cpp:445: warning: comparison between signed and unsigned integer expressions
CGameState.cpp: In member function 'std::vector<int, std::allocator<int> > BattleInfo::getAccessibility(int, bool) const':
CGameState.cpp:584: warning: comparison between signed and unsigned integer expressions
CGameState.cpp:584: warning: comparison between signed and unsigned integer expressions
CGameState.cpp:585: warning: comparison between signed and unsigned integer expressions
CGameState.cpp: In constructor 'CStack::CStack(CCreature*, int, int, int, bool, int)':
CGameState.cpp:716: warning: comparison between signed and unsigned integer expressions
CGameState.cpp: In member function 'ui32 CStack::Speed(int) const':
CGameState.cpp:737: warning: comparison between signed and unsigned integer expressions
CGameState.cpp: In member function 'int CGameState::pickHero(int)':
CGameState.cpp:950: warning: unused variable 'f'
CGameState.cpp: In member function 'CGHeroInstance* CGameState::getHero(int)':
CGameState.cpp:968: warning: comparison between signed and unsigned integer expressions
CGameState.cpp: In member function 'CGTownInstance* CGameState::getTown(int)':
CGameState.cpp:980: warning: comparison between signed and unsigned integer expressions
CGameState.cpp: In member function 'void CGameState::init(StartInfo*, Mapa*, int)':
CGameState.cpp:1356: warning: comparison between signed and unsigned integer expressions
CGameState.cpp:1359: warning: comparison between signed and unsigned integer expressions
CGameState.cpp: In member function 'int CGameState::battleGetBattlefieldType(int3)':
CGameState.cpp:1696: warning: comparison between signed and unsigned integer expressions
CGameState.cpp: In member function 'int CGameState::canBuildStructure(const CGTownInstance*, int)':
CGameState.cpp:1932: warning: comparison between signed and unsigned integer expressions
CGameState.cpp: In member function 'bool CGameState::getPath(int3, int3, const CGHeroInstance*, CPath&)':
CGameState.cpp:2093: warning: comparison between signed and unsigned integer expressions
CGameState.cpp:2099: warning: comparison between signed and unsigned integer expressions
CGameState.cpp: In member function 'void CGameState::calculatePaths(const CGHeroInstance*, CPathsInfo&, int3, int)':
CGameState.cpp:2167: warning: comparison between signed and unsigned integer expressions
CGameState.cpp:2169: warning: comparison between signed and unsigned integer expressions
CGameState.cpp:2171: warning: comparison between signed and unsigned integer expressions
CGameState.cpp:2186: warning: suggest parentheses around '&&' within '||'
CGameState.cpp:2187: warning: suggest parentheses around '&&' within '||'
CGameState.cpp:2288: warning: comparison between signed and unsigned integer expressions
CGameState.cpp:2240: warning: unused variable 'curDist'
CGameState.cpp: In static member function 'static std::pair<unsigned int, unsigned int> BattleInfo::calculateDmgRange(const CStack*, const CStack*, const CGHeroInstance*, const CGHeroInstance*, bool, ui8)':
CGameState.cpp:2471: warning: comparison between signed and unsigned integer expressions
CGameState.cpp: In member function 'std::set<CStack*, std::less<CStack*>, std::allocator<CStack*> > BattleInfo::getAttackedCreatures(const CSpell*, const CGHeroInstance*, int)':
CGameState.cpp:2666: warning: comparison between signed and unsigned integer expressions
CGameState.cpp:2689: warning: comparison between signed and unsigned integer expressions
CGameState.cpp: In member function 'ui32 BattleInfo::getSpellCost(const CSpell*, const CGHeroInstance*) const':
CGameState.cpp:2785: warning: comparison between signed and unsigned integer expressions
CGameState.cpp: In member function 'int BattleInfo::hexToWallPart(int) const':
CGameState.cpp:2805: warning: comparison between signed and unsigned integer expressions
CGameState.cpp: In member function 'std::pair<const CStack*, int> BattleInfo::getNearestStack(const CStack*, boost::logic::tribool) const':
CGameState.cpp:2843: warning: comparison between signed and unsigned integer expressions
CGameState.cpp: In member function 'int CGameState::victoryCheck(ui8) const':
CGameState.cpp:3012: warning: comparison between signed and unsigned integer expressions
CGameState.cpp:3091: warning: suggest parentheses around '&&' within '||'
CGameState.cpp:2990: warning: enumeration value 'winStandard' not handled in switch
CGameState.cpp: In static member function 'static std::vector<std::list<unsigned char, std::allocator<unsigned char> >, std::allocator<std::list<unsigned char, std::allocator<unsigned char> > > > CGameState::obtainPlayersStats(SThievesGuildInfo&, int)::HLP::getRank(std::vector<std::pair<unsigned char, long long int>, std::allocator<std::pair<unsigned char, long long int> > >)':
CGameState.cpp:3144: error: no matching function for call to 'sort(__gnu_cxx::__normal_iterator<std::pair<unsigned char, long long int>*, std::vector<std::pair<unsigned char, long long int>, std::allocator<std::pair<unsigned char, long long int> > > >, __gnu_cxx::__normal_iterator<std::pair<unsigned char, long long int>*, std::vector<std::pair<unsigned char, long long int>, std::allocator<std::pair<unsigned char, long long int> > > >, CGameState::obtainPlayersStats(SThievesGuildInfo&, int)::HLP)'
CGameState.cpp:3153: warning: comparison between signed and unsigned integer expressions
CGameState.cpp: In static member function 'static const CGHeroInstance* CGameState::obtainPlayersStats(SThievesGuildInfo&, int)::HLP::findBestHero(CGameState*, int)':
CGameState.cpp:3180: warning: comparison between signed and unsigned integer expressions
CGameState.cpp: In static member function 'static int CGameState::obtainPlayersStats(SThievesGuildInfo&, int)::HLP::getNumberOfArts(const PlayerState*)':
CGameState.cpp:3194: warning: comparison between signed and unsigned integer expressions
CGameState.cpp: In member function 'void CGameState::obtainPlayersStats(SThievesGuildInfo&, int)':
CGameState.cpp:3298: warning: comparison between signed and unsigned integer expressions
CGameState.cpp: In member function 'int CGameState::lossCheck(ui8) const':
CGameState.cpp:3344: warning: comparison between signed and unsigned integer expressions
CGameState.cpp:3325: warning: enumeration value 'lossStandard' not handled in switch
CGameState.cpp: In function 'const CStack* takeStack(std::vector<const CStack*, std::allocator<const CStack*> >&, int&, int)':
CGameState.cpp:3392: warning: comparison between signed and unsigned integer expressions
CGameState.cpp:3403: warning: comparison between signed and unsigned integer expressions
CGameState.cpp: In member function 'void BattleInfo::getStackQueue(std::vector<const CStack*, std::allocator<const CStack*> >&, int, int, int) const':
CGameState.cpp:3431: warning: comparison between signed and unsigned integer expressions
CGameState.cpp:3440: warning: suggest parentheses around '&&' within '||'
CGameState.cpp:3441: warning: suggest parentheses around '&&' within '||'
CGameState.cpp:3470: warning: comparison between signed and unsigned integer expressions
CGameState.cpp:3473: warning: comparison between signed and unsigned integer expressions
CGameState.cpp:3492: warning: comparison between signed and unsigned integer expressions
make[1]: *** [libvcmi_la-CGameState.lo] Error 1
make[1]: Leaving directory `/home/vd/builds/vcmi/lib'
make: *** [all-recursive] Error 1

thanks!

maybe its because normal iterator was used instead sorting iterator?
(it looks so in the log)

I’ve googled a little and found identical case ( gamedev.net/community/forums … _id=390922 ).
Answer is that local classes will have internal linkage. Template parameters must have external linkage, which rules out local types. (Or at least GCC requires it).

Try r1479, it should work fine now :slight_smile:

???

I thought that probably sorting iterators have some more template functions than normal iterators. I was suggested in log where problem was shown with __normal_iterator which I think is inherited by iterator, but looking at tow post i think now its maybe not the case.

however always problems with templates are more complex than normal classes/functions so they have to be done perfect :wink: :stuck_out_tongue:

Tow, yes it compiled right now!
it still has a lot of warnings and some unused vars, but finally I have got a vcmiclient and vcmiserver…

My next step – is find a working copy of HoMM3, because my russian version fail with

failed opening file: No such file or directory
terminate called after throwing an instance of 'std::ios_base::failure'
  what():  failed opening file: No such file or directory

Extract this: download.antypika.aplus.pl/dataEN.7z into your Data subfolder.
That should make your H3 installation English :slight_smile:
(I assume that you have inbstalled WoG)

What do you mean by “sorting iterator” and why do you expect interator have any template functions?
Iterators usually have only operator functions that allow using them like they were pointers. Any member functions are non-standard, used as internal helper functions or for debug purposes.

I mean each container has a few types of operators, but maybe you are right that iterators have mostly only operator members
even though difffrent types of iterators behave diffrent on some operators

eg. inserting operator on vector ignore sth++ operator because inserting something do the moving and inserting operator could be used for inserting in standard for routine

however i don’t know much about iterators

I’ve installed vcmi, but i get this error when i try to launch it, i get :

[gael@ArchInso ~]$ vcmiclient 
Starting... 
Creating console and logfile: 0
Cannot open /usr/share/vcmi/config/settings.txt !
Loading settings: 0
VCMI 0.80 (client)
Warning: SDL says that 24bpp is wrong and suggests 32
New screen flags: 0
        Initializing screen: 70000
        Initializing video: 0
        Initializing minors: 0
        Loading default system settings: 0
[smk @ 0xfb9810]max_analyze_duration reached
        Initializing sound: 100000
Initializing screen and sound handling: 100000
Warning: No /usr/share/vcmi/Sprites/ folder!
Loading .lod files: 80000
        General text handler: 170000
missing file: config/heroes_sec_skills.txt
Error while opening config/TERCOSTS.TXT file!
Error while opening config/native_terrains.txt file!
Segmentation fault

Sometimes, i don’t get segfault, but i get ‘sdl : smd underrun’ or something like that, all my ram is being consume, all my swap too, and my system freezes.

  • Extract Windows package in VCMI folder. It has some required files which are not present in SVN.

  • check name of “sprites” folder, it should be “Sprites”.

If this does not help - do you have WOG 3.58f installed? Do you have English version of H3?

The build_data.sh script will do everything for you. See instructions inside the file.

I’m trying to compile on an openSuSE 11.2 x86_64 system:

I tried this intitially:

./configure --with-boost-libdir=/usr/lib64

However make exits with an error:

make
make  all-recursive
make[1]: Entering directory `/tmp/vcmi/vcmi'
Making all in lib
make[2]: Entering directory `/tmp/vcmi/vcmi/lib'
/bin/sh ../libtool  --tag=CXX   --mode=compile g++ -DHAVE_CONFIG_H -I. -I..   -I/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT -pthread -I/usr/include @SDL_CXXFLAGS@ -g -MT libvcmi_la-CConsoleHandler.lo -MD -MP -MF .deps/libvcmi_la-CConsoleHandler.Tpo -c -o libvcmi_la-CConsoleHandler.lo `test -f '../CConsoleHandler.cpp' || echo './'`../CConsoleHandler.cpp
libtool: compile:  g++ -DHAVE_CONFIG_H -I. -I.. -I/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT -pthread -I/usr/include @SDL_CXXFLAGS@ -g -MT libvcmi_la-CConsoleHandler.lo -MD -MP -MF .deps/libvcmi_la-CConsoleHandler.Tpo -c ../CConsoleHandler.cpp  -fPIC -DPIC -o .libs/libvcmi_la-CConsoleHandler.o
g++: @SDL_CXXFLAGS@: No such file or directory
In file included from ../stdafx.h:21,
                 from ../CConsoleHandler.cpp:2:
../global.h:43:2: error: #error DATA_DIR undefined.
../global.h:46:2: error: #error BIN_DIR undefined.
../global.h:49:2: error: #error LIB_DIR undefined.
make[2]: *** [libvcmi_la-CConsoleHandler.lo] Error 1
make[2]: Leaving directory `/tmp/vcmi/vcmi/lib'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/tmp/vcmi/vcmi'
make: *** [all] Error 2

using:

/configure --datadir=/usr/local/share/games/ --bindir=/usr/local/share/games/vcmi --libdir=/usr/local/share/games/ --with-boost-libdir=/usr/lib64

makes no difference.

What is this SDL_CXXFLAGS? Am I missing some libs?

rpm -qa | egrep ‘(boost|SDL|zlib)’ gives me:

zlib-32bit-1.2.3-140.2.x86_64                                                                                                                                   
libSDL_image-1_2-0-1.2.10-3.1.x86_64                                                                                                                            
libboost_program_options1_39_0-1.39.0-10.1.x86_64                                                                                                               
zlib-devel-1.2.3-140.2.x86_64                                                                                                                                   
libSDL-1_2-0-1.2.14-5.1.x86_64                                                                                                                                  
libSDL-devel-1.2.14-5.1.x86_64                                                                                                                                  
libboost_filesystem1_39_0-1.39.0-10.1.x86_64                                                                                                                    
libboost_math1_39_0-1.39.0-10.1.x86_64                                                                                                                          
libboost_date_time1_39_0-1.39.0-10.1.x86_64                                                                                                                     
libSDL_image-devel-1.2.10-3.1.x86_64                                                                                                                            
libboost_python1_39_0-1.39.0-10.1.x86_64                                                                                                                        
libboost_graph1_39_0-1.39.0-10.1.x86_64                                                                                                                         
libSDL_mixer-devel-1.2.11-5.1.x86_64                                                                                                                            
zlib-1.2.3-140.2.x86_64                                                                                                                                         
libSDL_ttf-2_0-0-2.0.9-313.1.x86_64                                                                                                                             
boost-license1_39_0-1.39.0-10.1.x86_64
libboost_system1_39_0-1.39.0-10.1.x86_64
libboost_test1_39_0-1.39.0-10.1.x86_64
libboost_wave1_39_0-1.39.0-10.1.x86_64
libboost_regex1_39_0-1.39.0-10.1.x86_64
libboost_mpi1_39_0-1.39.0-10.1.x86_64
libSDL_ttf-devel-2.0.9-313.1.x86_64
libboost_signals1_39_0-1.39.0-10.1.x86_64
libSDL-1_2-0-32bit-1.2.14-5.1.x86_64
libboost_iostreams1_39_0-1.39.0-10.1.x86_64
libSDL_mixer-1_2-0-1.2.11-5.1.x86_64
libboost_thread1_39_0-1.39.0-10.1.x86_64
libboost_serialization1_39_0-1.39.0-10.1.x86_64
boost-devel-1.39.0-10.1.x86_64

Looks like your box is broken :slight_smile: That wouldn’t be the first time with that distribution.

When compiling the same file, I have more options:

/bin/bash ../libtool  --tag=CXX   --mode=compile g++ -DPACKAGE_NAME=\"vcmi\" -DPACKAGE_TARNAME=\"vcmi\" -DPACKAGE_VERSION=\"0.8\" -DPACKAGE_STRING=\"vcmi\ 0.8\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE_URL=\"\" -DPACKAGE=\"vcmi\" -DVERSION=\"0.8\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -DHAVE_BOOST=/\*\*/ -DHAVE_BOOST_SYSTEM=/\*\*/ -DHAVE_BOOST_FILESYSTEM=/\*\*/ -DHAVE_BOOST_THREAD=/\*\*/ -DHAVE_BOOST_IOSTREAMS=/\*\*/ -DHAVE_LIBSDL=1 -DHAVE_LIBSDL_MIXER=1 -DHAVE_LIBSDL_IMAGE=1 -DHAVE_LIBSDL_TTF=1 -DHAVE_LIBAVFORMAT=1 -DHAVE_LIBSWSCALE=1 -DSTDC_HEADERS=1 -DHAVE_FCNTL_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_BOOST_FILESYSTEM_HPP=1 -DHAVE_BOOST_ALGORITHM_STRING_HPP=1 -DHAVE_BOOST_ALGORITHM_STRING_REPLACE_HPP=1 -DHAVE_BOOST_FILESYSTEM_OPERATIONS_HPP=1 -DHAVE_BOOST_ASSIGN_STD_VECTOR_HPP=1 -DHAVE_BOOST_ALGORITHM_STRING_FIND_HPP=1 -DHAVE_BOOST_FUNCTION_HPP=1 -DHAVE_BOOST_BIND_HPP=1 -DHAVE_ATEXIT=1 -DHAVE_MEMSET=1 -DHAVE_POW=1 -DHAVE_SELECT=1 -DHAVE_SQRT=1 -I.   -pthread -I/usr/include -I/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT -O0 -ggdb -Wall -Wcast-align -Wpointer-arith -DDATA_DIR=\"/usr/local/share/vcmi\" -DBIN_DIR=\"/usr/local/bin\" -DLIB_DIR=\"/usr/local/lib\" -MT libvcmi_la-CConsoleHandler.lo -MD -MP -MF .deps/libvcmi_la-CConsoleHandler.Tpo -c -o libvcmi_la-CConsoleHandler.lo `test -f '../CConsoleHandler.cpp' || echo './'`../CConsoleHandler.cpp

Check the output of configure. There may be a clue there. You could also post it here, with config.log.

Running:
./configure --datadir=/usr/local/share/games/ --bindir=/usr/local/share/games/vcmi --libdir=/usr/local/share/games/ --with-boost-libdir=/usr/lib64

checking for a BSD-compatible install... /usr/bin/install -c                                                                                                            
checking whether build environment is sane... yes                                                                                                                       
checking for a thread-safe mkdir -p... /bin/mkdir -p                                                                                                                    
checking for gawk... gawk                                                                                                                                               
checking whether make sets $(MAKE)... yes                                                                                                                               
checking for g++... g++                                                                                                                                                 
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 g++ accepts -g... yes                                                                                                                                  
checking for style of include used by make... GNU                                                                                                                       
checking dependency style of g++... gcc3                                                                                                                                
checking whether we are using the GNU C++ compiler... (cached) yes                                                                                                      
checking whether g++ accepts -g... (cached) yes                                                                                                                         
checking dependency style of g++... (cached) gcc3                                                                                                                       
checking for gcc... gcc                                                                                                                                                 
checking whether we are using the GNU C compiler... yes                                                                                                                 
checking whether gcc accepts -g... yes                                                                                                                                  
checking for gcc option to accept ISO C89... none needed                                                                                                                
checking dependency style of gcc... gcc3                                                                                                                                
checking for boostlib >= 1.37... yes                                                                                                                                    
checking build system type... x86_64-unknown-linux-gnu                                                                                                                  
checking whether the Boost::System library is available... yes                                                                                                          
checking for exit in -lboost_system-mt... yes                                                                                                                           
checking whether the Boost::Filesystem library is available... yes                                                                                                      
checking for exit in -lboost_filesystem-mt... yes                                                                                                                       
checking whether the Boost::Thread library is available... yes                                                                                                          
checking for exit in -lboost_thread-mt... yes                                                                                                                           
checking how to run the C preprocessor... gcc -E                                                                                                                        
checking host system type... x86_64-unknown-linux-gnu                                                                                                                   
checking for a sed that does not truncate output... /usr/bin/sed                                                                                                        
checking for grep that handles long lines and -e... /usr/bin/grep                                                                                                       
checking for egrep... /usr/bin/grep -E                                                                                                                                  
checking for fgrep... /usr/bin/grep -F                                                                                                                                  
checking for ld used by gcc... /usr/x86_64-suse-linux/bin/ld                                                                                                            
checking if the linker (/usr/x86_64-suse-linux/bin/ld) is GNU ld... yes                                                                                                 
checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B                                                                                                   
checking the name lister (/usr/bin/nm -B) interface... BSD nm                                                                                                           
checking whether ln -s works... yes                                                                                                                                     
checking the maximum length of command line arguments... 1572864                                                                                                        
checking whether the shell understands some XSI constructs... yes                                                                                                       
checking whether the shell understands "+="... yes                                                                                                                      
checking for /usr/x86_64-suse-linux/bin/ld option to reload object files... -r                                                                                          
checking for objdump... objdump                                                                                                                                         
checking how to recognize dependent libraries... pass_all                                                                                                               
checking for ar... ar                                                                                                                                                   
checking for strip... strip                                                                                                                                             
checking for ranlib... ranlib                                                                                                                                           
checking command to parse /usr/bin/nm -B output from gcc object... ok                                                                                                   
checking for ANSI C header files... yes                                                                                                                                 
checking for sys/types.h... yes                                                                                                                                         
checking for sys/stat.h... yes                                                                                                                                          
checking for stdlib.h... yes                                                                                                                                            
checking for string.h... yes                                                                                                                                            
checking for memory.h... yes                                                                                                                                            
checking for strings.h... yes                                                                                                                                           
checking for inttypes.h... yes                                                                                                                                          
checking for stdint.h... yes                                                                                                                                            
checking for unistd.h... yes                                                                                                                                            
checking for dlfcn.h... yes                                                                                                                                             
checking whether we are using the GNU C++ compiler... (cached) yes                                                                                                      
checking whether g++ accepts -g... (cached) yes                                                                                                                         
checking dependency style of g++... (cached) gcc3                                                                                                                       
checking how to run the C++ preprocessor... g++ -E                                                                                                                      
checking for objdir... .libs                                                                                                                                            
checking if gcc supports -fno-rtti -fno-exceptions... no                                                                                                                
checking for gcc option to produce PIC... -fPIC -DPIC                                                                                                                   
checking if gcc PIC flag -fPIC -DPIC works... yes                                                                                                                       
checking if gcc static flag -static works... yes                                                                                                                        
checking if gcc supports -c -o file.o... yes                                                                                                                            
checking if gcc supports -c -o file.o... (cached) yes                                                                                                                   
checking whether the gcc linker (/usr/x86_64-suse-linux/bin/ld -m elf_x86_64) supports shared libraries... yes                                                          
checking whether -lc should be explicitly linked in... no                                                                                                               
checking dynamic linker characteristics... GNU/Linux ld.so                                                                                                              
checking how to hardcode library paths into programs... immediate                                                                                                       
checking whether stripping libraries is possible... yes                                                                                                                 
checking if libtool supports shared libraries... yes                                                                                                                    
checking whether to build shared libraries... yes                                                                                                                       
checking whether to build static libraries... no                                                                                                                        
checking for ld used by g++... /usr/x86_64-suse-linux/bin/ld -m elf_x86_64                                                                                              
checking if the linker (/usr/x86_64-suse-linux/bin/ld -m elf_x86_64) is GNU ld... yes                                                                                   
checking whether the g++ linker (/usr/x86_64-suse-linux/bin/ld -m elf_x86_64) supports shared libraries... yes                                                          
checking for g++ option to produce PIC... -fPIC -DPIC                                                                                                                   
checking if g++ PIC flag -fPIC -DPIC works... yes                                                                                                                       
checking if g++ static flag -static works... yes                                                                                                                        
checking if g++ supports -c -o file.o... yes                                                                                                                            
checking if g++ supports -c -o file.o... (cached) yes                                                                                                                   
checking whether the g++ linker (/usr/x86_64-suse-linux/bin/ld -m elf_x86_64) supports shared libraries... yes                                                          
checking dynamic linker characteristics... GNU/Linux ld.so                                                                                                              
checking how to hardcode library paths into programs... immediate                                                                                                       
checking for main in -lstdc++... yes                                                                                                                                    
checking for sdl-config... yes                                                                                                                                          
checking for SDL_Init in -lSDL... yes                                                                                                                                   
checking for main in -lSDL_mixer... yes                                                                                                                                 
checking for IMG_Load in -lSDL_image... yes                                                                                                                             
checking for main in -lSDL_ttf... yes                                                                                                                                   
checking for ANSI C header files... (cached) yes                                                                                                                        
checking fcntl.h usability... yes                                                                                                                                       
checking fcntl.h presence... yes                                                                                                                                        
checking for fcntl.h... yes                                                                                                                                             
checking for stdlib.h... (cached) yes                                                                                                                                   
checking for string.h... (cached) yes                                                                                                                                   
checking boost/filesystem.hpp usability... yes                                                                                                                          
checking boost/filesystem.hpp presence... yes                                                                                                                           
checking for boost/filesystem.hpp... yes                                                                                                                                
checking boost/algorithm/string.hpp usability... yes                                                                                                                    
checking boost/algorithm/string.hpp presence... yes                                                                                                                     
checking for boost/algorithm/string.hpp... yes                                                                                                                          
checking boost/algorithm/string/replace.hpp usability... yes                                                                                                            
checking boost/algorithm/string/replace.hpp presence... yes                                                                                                             
checking for boost/algorithm/string/replace.hpp... yes
checking boost/filesystem/operations.hpp usability... yes
checking boost/filesystem/operations.hpp presence... yes
checking for boost/filesystem/operations.hpp... yes
checking boost/assign/std/vector.hpp usability... yes
checking boost/assign/std/vector.hpp presence... yes
checking for boost/assign/std/vector.hpp... yes
checking boost/algorithm/string/find.hpp usability... yes
checking boost/algorithm/string/find.hpp presence... yes
checking for boost/algorithm/string/find.hpp... yes
checking boost/function.hpp usability... yes
checking boost/function.hpp presence... yes
checking for boost/function.hpp... yes
checking boost/bind.hpp usability... yes
checking boost/bind.hpp presence... yes
checking for boost/bind.hpp... yes
checking for stdbool.h that conforms to C99... yes
checking for _Bool... yes
checking for an ANSI C-conforming const... yes
checking for inline... inline
checking for working alloca.h... yes
checking for alloca... yes
checking for stdlib.h... (cached) yes
checking for GNU libc compatible malloc... yes
checking sys/select.h usability... yes
checking sys/select.h presence... yes
checking for sys/select.h... yes
checking sys/socket.h usability... yes
checking sys/socket.h presence... yes
checking for sys/socket.h... yes
checking types of arguments for select... int,fd_set *,struct timeval *
checking for atexit... yes
checking for memset... yes
checking for pow... yes
checking for select... yes
checking for sqrt... yes
configure: creating ./config.status
config.status: creating Makefile
config.status: creating lib/Makefile
config.status: creating client/Makefile
config.status: creating server/Makefile
config.status: creating config.h
config.status: config.h is unchanged
config.status: executing depfiles commands
config.status: executing libtool commands

It seems to run through okay.

My config.log:
config.log

Your config.log was generated by autoconf 2.63 while the confugure in svn was generated by autoconf 2.64. So something on your host regenerated some of those config files. Try to fix that.

Uhhhh, thanks for spotting that.

I tried again, with a clean svn directory.

Make runs through a lot further:
vcmiclient is build.

make encounters error building vmciserver:

Making all in server
make[1]: Entering directory `/tmp/vcmi/vcmi_new/vcmi/server'
/bin/sh ../libtool --tag=CXX   --mode=link g++ -I/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT -O0 -ggdb -Wall -Wcast-align -Wpointer-arith -DDATA_DIR="/usr/local/share/games/vcmi" -DBIN_DIR="/usr/local/share/games/vcmi" -DLIB_DIR="/usr/local/share/games/vcmi" -L../lib  -o vcmiserver vcmiserver-CGameHandler.o vcmiserver-CVCMIServer.o vcmiserver-NetPacksServer.o ../lib/libvcmi.la
libtool: link: g++ -I/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT -O0 -ggdb -Wall -Wcast-align -Wpointer-arith -DDATA_DIR="/usr/local/share/games/vcmi" -DBIN_DIR="/usr/local/share/games/vcmi" -DLIB_DIR="/usr/local/share/games/vcmi" -o .libs/vcmiserver vcmiserver-CGameHandler.o vcmiserver-CVCMIServer.o vcmiserver-NetPacksServer.o  -L/tmp/vcmi/vcmi_new/vcmi/lib ../lib/.libs/libvcmi.so -lboost_system-mt -lboost_filesystem-mt -lboost_thread-mt -lboost_iostreams-mt -lz -lpthread -Wl,-rpath -Wl,/usr/local/share/games/vcmi
vcmiserver-CVCMIServer.o: In function `boost::interprocess::shared_memory_object::priv_open_or_create(boost::interprocess::detail::create_enum_t, char const*, boost::interprocess::mode_t)':
CVCMIServer.cpp:(.text._ZN5boost12interprocess20shared_memory_object19priv_open_or_createENS0_6detail13create_enum_tEPKcNS0_6mode_tE[boost::interprocess::shared_memory_object::priv_open_or_create(boost::interprocess::detail::create_enum_t, char const*, boost::interprocess::mode_t)]+0x146): undefined reference to `shm_open'
collect2: ld returned 1 exit status
make[1]: *** [vcmiserver] Error 1
make[1]: Leaving directory `/tmp/vcmi/vcmi_new/vcmi/server'
make: *** [all-recursive] Error 1

and config.log tells me there is a problem with confdefs.h:

configure:7089: gcc -E  conftest.c
conftest.c:10:28: error: ac_nonexistent.h: No such file or directory
configure:7096: $? = 1
configure: failed program was:
| /* confdefs.h.  */

I assume I’m missing some libs, any idea which?