Jump to content



Recommended Posts


First of all, thank you for creating this exciting project!

After reading the install and compile instructions I seem to have some trouble compiling GemRB on my SuSE 9.3 64 bit linux with gcc version:

gcc (GCC) 3.3.5 20050117 (prerelease) (SUSE Linux)

Most of the libs on my machine are the 64 bit versions, but as far as I know I also have the 32 bit ones somewhere for compatibility. I am almost certain I have recent versions of the libs of SDL 1.2, OpenAL, Python 2.2 and zlib installed. When I make GemRB I run into the following:


make[4]: Entering directory `(removed path)Zaurus/gemrb-0.2.6/gemrb/plugins/Core'

/bin/sh ../../../libtool --mode=link g++ -g -O2 -I/usr/include/SDL -D_REENTRANT -Werror -Wall -W -Wpointer-arith -Wcast-align -ansi -pedantic -Wno-format-y2k -Wno-long-long -L/usr/lib -o libgemrb_core.la -rpath /usr/local/lib -version-info 0:0:0 -ldl -lpthread Progressbar.lo ScriptedAnimation.lo GameScript.lo Actions.lo Triggers.lo GSUtils.lo GlobalTimer.lo Polygon.lo Game.lo GameControl.lo Variables.lo SaveGameIterator.lo DataFileMgr.lo TableMgr.lo MusicMgr.lo SoundMgr.lo Console.lo ScriptEngine.lo TextEdit.lo EventMgr.lo ScrollBar.lo TextArea.lo Slider.lo Label.lo WindowMgr.lo Window.lo VideoModes.lo VideoMode.lo Video.lo VFS.lo TileSetMgr.lo TileOverlay.lo TileMapMgr.lo TileMap.lo Tile.lo WorldMap.lo WorldMapMgr.lo SymbolMgr.lo StringMgr.lo Sprite2D.lo ResourceMgr.lo Region.lo PluginMgr.lo Plugin.lo MoviePlayer.lo MemoryStream.lo MapMgr.lo Map.lo InterfaceDesc.lo Interface.lo ImageMgr.lo Font.lo FileStream.lo FactoryObject.lo Factory.lo DataStream.lo Core.lo Control.lo Compressor.lo Class_ID.lo ClassDesc.lo CharAnimations.lo CachedFileStream.lo Button.lo ArchiveImporter.lo AnimationMgr.lo AnimationFactory.lo Animation.lo ActorMgr.lo Actor.lo ActorBlock.lo SaveGameMgr.lo DialogMgr.lo Dialog.lo SpellMgr.lo Spell.lo ItemMgr.lo Item.lo StoreMgr.lo Store.lo Inventory.lo Spellbook.lo Ambient.lo WorldMapControl.lo MapControl.lo AmbientMgr.lo Effect.lo EffectQueue.lo Cache.lo ControlAnimation.lo EffectMgr.lo OpcodeMgr.lo SpriteCover.lo -lz -lvorbis -lvorbisfile

g++ -shared -nostdlib /usr/lib64/gcc-lib/x86_64-suse-linux/3.3.5/../../../../lib64/crti.o /usr/lib64/gcc-lib/x86_64-suse-linux/3.3.5/crtbeginS.o .libs/Progressbar.o .libs/ScriptedAnimation.o .libs/GameScript.o .libs/Actions.o .libs/Triggers.o .libs/GSUtils.o .libs/GlobalTimer.o .libs/Polygon.o .libs/Game.o .libs/GameControl.o .libs/Variables.o .libs/SaveGameIterator.o .libs/DataFileMgr.o .libs/TableMgr.o .libs/MusicMgr.o .libs/SoundMgr.o .libs/Console.o .libs/ScriptEngine.o .libs/TextEdit.o .libs/EventMgr.o .libs/ScrollBar.o .libs/TextArea.o .libs/Slider.o .libs/Label.o .libs/WindowMgr.o .libs/Window.o .libs/VideoModes.o .libs/VideoMode.o .libs/Video.o .libs/VFS.o .libs/TileSetMgr.o .libs/TileOverlay.o .libs/TileMapMgr.o .libs/TileMap.o .libs/Tile.o .libs/WorldMap.o .libs/WorldMapMgr.o .libs/SymbolMgr.o .libs/StringMgr.o .libs/Sprite2D.o .libs/ResourceMgr.o .libs/Region.o .libs/PluginMgr.o .libs/Plugin.o .libs/MoviePlayer.o .libs/MemoryStream.o .libs/MapMgr.o .libs/Map.o .libs/InterfaceDesc.o .libs/Interface.o .libs/ImageMgr.o .libs/Font.o .libs/FileStream.o .libs/FactoryObject.o .libs/Factory.o .libs/DataStream.o .libs/Core.o .libs/Control.o .libs/Compressor.o .libs/Class_ID.o .libs/ClassDesc.o .libs/CharAnimations.o .libs/CachedFileStream.o .libs/Button.o .libs/ArchiveImporter.o .libs/AnimationMgr.o .libs/AnimationFactory.o .libs/Animation.o .libs/ActorMgr.o .libs/Actor.o .libs/ActorBlock.o .libs/SaveGameMgr.o .libs/DialogMgr.o .libs/Dialog.o .libs/SpellMgr.o .libs/Spell.o .libs/ItemMgr.o .libs/Item.o .libs/StoreMgr.o .libs/Store.o .libs/Inventory.o .libs/Spellbook.o .libs/Ambient.o .libs/WorldMapControl.o .libs/MapControl.o .libs/AmbientMgr.o .libs/Effect.o .libs/EffectQueue.o .libs/Cache.o .libs/ControlAnimation.o .libs/EffectMgr.o .libs/OpcodeMgr.o .libs/SpriteCover.o -L/usr/lib -ldl -lpthread -lz /usr/lib64/libvorbis.so /usr/lib64/libvorbisfile.so -L/usr/lib64/gcc-lib/x86_64-suse-linux/3.3.5 -L/usr/lib64/gcc-lib/x86_64-suse-linux/3.3.5/../../../../x86_64-suse-linux/lib -L/usr/lib64/gcc-lib/x86_64-suse-linux/3.3.5/../../../../lib64 -L/usr/lib64/gcc-lib/x86_64-suse-linux/3.3.5/../../.. -L/lib/../lib64 -L/usr/lib/../lib64 /usr/lib/libstdc++.so -lm -lc -lgcc_s /usr/lib64/gcc-lib/x86_64-suse-linux/3.3.5/crtendS.o /usr/lib64/gcc-lib/x86_64-suse-linux/3.3.5/../../../../lib64/crtn.o -Wl,-soname -Wl,libgemrb_core.so.0 -o .libs/libgemrb_core.so.0.0.0

/usr/lib64/gcc-lib/x86_64-suse-linux/3.3.5/../../../../x86_64-suse-linux/bin/ld: skipping incompatible /usr/lib/libdl.so when searching for -ldl

/usr/lib64/gcc-lib/x86_64-suse-linux/3.3.5/../../../../x86_64-suse-linux/bin/ld: skipping incompatible /usr/lib/libdl.a when searching for -ldl

/usr/lib64/gcc-lib/x86_64-suse-linux/3.3.5/../../../../x86_64-suse-linux/bin/ld: skipping incompatible /usr/lib/libpthread.so when searching for -lpthread

/usr/lib64/gcc-lib/x86_64-suse-linux/3.3.5/../../../../x86_64-suse-linux/bin/ld: skipping incompatible /usr/lib/libpthread.a when searching for -lpthread

/usr/lib64/gcc-lib/x86_64-suse-linux/3.3.5/../../../../x86_64-suse-linux/bin/ld: skipping incompatible /usr/lib/libz.so when searching for -lz

/usr/lib64/gcc-lib/x86_64-suse-linux/3.3.5/../../../../x86_64-suse-linux/bin/ld: skipping incompatible /usr/lib/libz.a when searching for -lz

/usr/lib/libstdc++.so: could not read symbols: File in wrong format


collect2: ld returned 1 exit status

make[4]: *** [libgemrb_core.la] Error 1


Any clue what I am doing wrong?

Link to comment

The bottom of your log shows that not sdl, openal, or python what are wrong, but your standard libs.


Can you compile any c++ program?


Btw, i recommend python 2.3 or 2.4. It should compile with 2.2, but was not tested only on Windows.


I can only guess: maybe you need libstdc++-devel package (for 64 bit).

Link to comment

Thank you, that is what I suspected. The wierd thing is that I use that machine to compile a lot of code for my work, these are all 64 bit programs and libstdc++ for 64 bit is installed afaik. Anyways I will try again on a private machine where I have more freedom to change packages. Either way once it compiles, I will post any progress on crosscompiling it for the Zaurus SL-C1000 ( http://en.wikipedia.org/wiki/Sharp_Zaurus ). That must be sweet, a palmtop baldurs gate and torment!

Link to comment

Well, how much memory, hdd you got. And how big is the screen resolution.


A complete BG install is 1G, GemRB requires lots of memory (more than the original engine, due to weaker optimisation) and at least 640x480 with 32 bits colour. (i don't know whether 16 bits colour works).

Link to comment

The compilation problem turned indeed out to be a conflict between 64 and 32 bit libraries, libtool looked in the wrong path first and then the symbols did not match.

make LDFLAGS="-L/lib64 -L/usr/lib64"

instead of make, solved the problem. Also

LDFLAGS="-L/lib64 -L/usr/lib64" ./configure

and then invoking make is an alternative method to get it working.


You are right, in the Zaurus there is only 64 Mb of memory and that can be a big problem. Some people use swap to SD or CF to increase their memory, but this is detrimental to the lifetime of the memory cards. I have a 1 Gb SD card (high speed) on it now as my filesystem (no harddisk), but I can plug in more with a CF card (2 or 4 Gb are not that expensive, 8 is though) or an USB harddisk (the Zaurus can be master on an USB chain to store it on and to swap). The C3100 versions of the Zaurus have an internal 4 Gb harddisk and C3200 have 6 Gb but I do not have either model (C1000). The display is 640 x 480, 3,7", 65,536-color so the resolution is fine but the number of colours is not. I think SDL has features to automatically round colours to the nearest equivalent, because the SDL_Color definitions are format independent, or is this more involved?


http://www.pdaxrom.org/ is the ROM I use. On performance evaluation: there is an almost full-speed playstation 1 emulator and quake 1 and 2 run (no idea of the speeds but I think Q1 goes pretty decent) so I hope that the memory problems will not be as bad as I fear they may be and performance will be in playable levels. Either way as long as it works I would be happy, it's fun to try either way :down: Setting up a cross compiler now.

Link to comment

Just a little update, between being busy with way too many other things I am messing around with the cross compiler. Created the OpenAL library for ARM, but the paths of make install are all messed up so I need to copy all the proper files the right way by hand (and somehow I seem to have lost track of where I put the proper AL include files). Something still goes wrong when compiling the ALUT library, and since that one is required I can't configure succesfully yet :down: The cross compiler makes a bit of a mess with paths in that it is set up strangely and I don't want any ARM libraries in the x86_64 system paths of course.

Either way, work in progress :devil:

Link to comment

Cool thank you! I'll try that first then.

Is there an easy --disable-FEATURE option in the configure script for that

or do I need to do this manually?


So far I tried removing ACMimporter from gemrb/plugins/Makefile.am and

dnl Check for OpenAL, fail if not found.

#AC_CHECK_LIB([alut], [alutInit], [ $(which true) ], [AC_MSG_ERROR([

#*** You need OpenAL (www.openal.org) to compile GemRB




from the configure.in but that didn't work for me yet, so going to try some

other things. EDIT: Ah but I didn't try those things at the same time, so trying again :down:

EDIT2: No that didn't work yet, I need to regenerate the configure script from my configure.in.

By the way if someone else is trying this as well, my configure command now uses the following command lines for configuring everything for cross compiling:


export PATH=/opt/cross/arm/3.4.5-xscale-softvfp/bin:$PATH

export QTDIR=/opt/cross/arm/3.4.5-xscale-softvfp/armv5tel-cacko-linux/qt

export KDEDIR=/opt/cross/arm/3.4.5-xscale-softvfp/armv5tel-cacko-linux/qt

export X11INC=/opt/cross/arm/3.4.5-xscale-softvfp/armv5tel-cacko-linux/include

export X11LIB=/opt/cross/arm/3.4.5-xscale-softvfp/armv5tel-cacko-linux/lib

export PKG_CONFIG_PATH=/opt/cross/arm/3.4.5-xscale-softvfp/armv5tel-cacko-linux/lib/pkgconfig

export LD_LIBRARY_PATH=/opt/cross/arm/3.4.5-xscale-softvfp/lib


LDFLAGS=-Wl,-rpath-link,/opt/arm/3.4.5-xscale-softvfp/armv5tel-cacko-linux/lib/X11 ./configure --host=armv5tel-cacko-linux --build=i686-linux --x-includes=/opt/arm/3.4.5-xscale-softvfp/armv5tel-cacko-linux/include/X11 --x-libraries=/opt/arm/3.4.5-xscale-softvfp/armv5tel-cacko-linux/lib/X11


I did manage to make the openal library, but alut still gives problems because

some struct in time.h was undefined. But then I found out that there is no

ALSA library yet for the rom I am using (grrr) but there is for another (openzaurus)

but I need to change my entire build system if I want to use that rom instead (so

using nullsound is much easier for now).

Link to comment

To give a little update:


There was another bug in the SDK that I am using, after changing the .am file, I wanted to run automake and autoconf.


gemrb-0.2.6> automake

autom4te: need GNU m4 1.4 or later: /opt/native/i686/3.4.5-2.2.5/bin/m4

automake: autoconf failed with exit status: 1

gemrb-0.2.6> which m4


So the solution is:

M4=`which m4` automake

However I now get

gemrb-0.2.6> M4=`which m4` automake

configure.in:35: version mismatch. This is Automake 1.9.2,

configure.in:35: but the definition used by this AM_INIT_AUTOMAKE

configure.in:35: comes from Automake 1.7.9. You should recreate

configure.in:35: aclocal.m4 with aclocal and run automake again.

After doing

M4=`which m4` aclocal

M4=`which m4` automake

M4=`which m4` autoconf

Then configure passes this point... and gives an error that the python version is

too old ;) So I guess I am going to make the new version of Python now.

Edit: Seems like Python 2.4 is not found because the configure script looks in a different dir.

For progress see:


from now on.

Link to comment


This topic is now archived and is closed to further replies.

  • Create New...