Wednesday, September 06, 2017

Trouble Finding Your Linux Game Libraries?

Some Linux games, especially the older Linux games, are installed with the versions of libraries that they need. The problem arises when the specific libraries are unknown to your system and the game won't launch.

The old Loki game installers attempted to fix this with some shell scripting. Maybe that works, maybe it doesn't. Here's an easy way to fix this problem.

First, we use a kernel utility, ldd, to see what shared libraries the binary expects to see.

$ ldd /full/patch/to/application/binary

You will get a list of libraries needed and a clear indication of whether they are present or not.

Trick #1

Assuming your system reports them missing, but you can see them in the directory where you installed the game, rather than fix the script that launches the game, we'll simply tell the system where to look.

Become root, and change directory to /etc/ldd.so.conf.d. Once there, create a file, name_of_game.conf and in that file enter 
/full/path/to/the/game/libraries.

Run the ldconfig utility,

# ldconfig

And the magic is done.

It's also possible to manually export the path every time you need to launch the game and/or put it in your .bashprofile or .bashrc, but the method outlined above solves the problem for every user of the system.

Trick #2

Some older games just require old version of libraries that must be compiled against older kernel versions. Where do we find those? We can look to the Loki Compatibility Libraries.

Download the libraries and install them in /usr/local/lib/loki.

Then, as detailed above, add loki.conf to /etc/ldd.so.conf.d and run ldconfig.

No comments: