Setting up gemrb in Fedora 33

2020-04-23
3 min read

Baldur’s Gate 2 is the best RPG from the 90’s that still has re-playable value today. I still have the disks after all these years, I did not chose wine to play it as my laptop is an old one and running something without a emulation layer would be more performant.

Installing

There is no package for Fedora 33 but there is a binary package for Linux, but trying to run gemrb I had several unmet dependencies, to fix that I just run.

sudo yum provides $(ldd gemrb | grep  'not found' | awk ' { printf $1 " " }')

This will get which libraries are missing and query the package manager to determinate in which package is the library.

Last metadata expiration check: 3:29:17 ago on Thu 19 Nov 2020 09:52:53 AM EST.
SDL-1.2.15-45.fc33.i686 : A cross-platform multimedia library
Repo        : fedora
Matched from:
Provide    : libSDL-1.2.so.0

SDL_mixer-1.2.12-21.fc33.i686 : Simple DirectMedia Layer - Sample Mixer Library
Repo        : fedora
Matched from:
Provide    : libSDL_mixer-1.2.so.0

libpng12-1.2.57-12.fc33.i686 : Old version of libpng, needed to run old binaries
Repo        : fedora
Matched from:
Provide    : libpng12.so.0

There is an error, because is is only showing the 32-bit version of the dependencies, so we just need to install the 64-bit version of those libraries.

sudo yum serch libSDL-1.2.so.0  libSDL_mixer-1.2.so.0  libpng12.so.0

But there is one dependency left to hunt, is libvlc.so.5, which I found to be found in vlc-core package.

sudo yum install vlc-core

Now gemrb has all it dependencies resolved :

	linux-vdso.so.1 (0x00007ffd8c3b1000)
	libdl.so.2 => /lib64/libdl.so.2 (0x00007fbfc4462000)
	libpthread.so.0 => /lib64/libpthread.so.0 (0x00007fbfc4440000)
	libpython2.7.so.1.0 => /lib64/libpython2.7.so.1.0 (0x00007fbfc4256000)
	libvorbisfile.so.3 => /lib64/libvorbisfile.so.3 (0x00007fbfc424b000)
	libopenal.so.1 => /lib64/libopenal.so.1 (0x00007fbfc4168000)
	libpng12.so.0 => /lib64/libpng12.so.0 (0x00007fbfc4140000)
	libSDL_mixer-1.2.so.0 => /lib64/libSDL_mixer-1.2.so.0 (0x00007fbfc40f2000)
	libSDL-1.2.so.0 => /lib64/libSDL-1.2.so.0 (0x00007fbfc405b000)
	libfreetype.so.6 => /lib64/libfreetype.so.6 (0x00007fbfc3f98000)
	libvlc.so.5 => /lib64/libvlc.so.5 (0x00007fbfc3f75000)
	libz.so.1 => /lib64/libz.so.1 (0x00007fbfc3f5b000)
	libstdc++.so.6 => /lib64/libstdc++.so.6 (0x00007fbfc3d73000)
	libm.so.6 => /lib64/libm.so.6 (0x00007fbfc3c2b000)
	libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007fbfc3c10000)
	libc.so.6 => /lib64/libc.so.6 (0x00007fbfc3a45000)
	/lib64/ld-linux-x86-64.so.2 (0x00007fbfc4479000)
	libutil.so.1 => /lib64/libutil.so.1 (0x00007fbfc3a40000)
	libvorbis.so.0 => /lib64/libvorbis.so.0 (0x00007fbfc3a11000)
	libogg.so.0 => /lib64/libogg.so.0 (0x00007fbfc3a06000)
	libbz2.so.1 => /lib64/libbz2.so.1 (0x00007fbfc39f1000)
	libpng16.so.16 => /lib64/libpng16.so.16 (0x00007fbfc39b8000)
	libbrotlidec.so.1 => /lib64/libbrotlidec.so.1 (0x00007fbfc39aa000)
	libvlccore.so.9 => /lib64/libvlccore.so.9 (0x00007fbfc38c1000)
	libbrotlicommon.so.1 => /lib64/libbrotlicommon.so.1 (0x00007fbfc389e000)
	libidn.so.12 => /lib64/libidn.so.12 (0x00007fbfc3867000)
	libdbus-1.so.3 => /lib64/libdbus-1.so.3 (0x00007fbfc3816000)
	libsystemd.so.0 => /lib64/libsystemd.so.0 (0x00007fbfc375a000)
	librt.so.1 => /lib64/librt.so.1 (0x00007fbfc374f000)
	liblzma.so.5 => /lib64/liblzma.so.5 (0x00007fbfc3723000)
	libzstd.so.1 => /lib64/libzstd.so.1 (0x00007fbfc366d000)
	liblz4.so.1 => /lib64/liblz4.so.1 (0x00007fbfc364d000)
	libgcrypt.so.20 => /lib64/libgcrypt.so.20 (0x00007fbfc3529000)
	libgpg-error.so.0 => /lib64/libgpg-error.so.0 (0x00007fbfc3508000)

Now it works, we just need to configure games to play with!.

GemRB core version v0.8.7 loading ...
Config: attempting to initialize config with GemRB.cfg
Core: Initializing the Event Manager...
Core: Starting Plugin Manager...
PluginMgr Loading Plugins from /home/travis/build/gemrb/gemrb/build/iprefix/plugins/
Core Plugin Loading Complete...
Core GemRB Core Initialization...
Core Initializing Video Driver...
Core Initializing Search Path...