Planescape Torment on Linux, missing libraries

I am trying to play the native Linux version of Planescape Torment, Enhanced Edition from GOG.
It did install properly, however when I try to run it complains about not being able to find
some archaic libraries such as:
error while loading shared libraries: cannot open shared object file: No such file or directory

error while loading shared libraries: cannot open shared object file: No such file or directory

I am running Fedora 25 and the game seems to be searching for those libs in /usr/lib
I tried to download these, but some of those are really old and I can’t find them, and even if I found them is it a good idea to place the old versions among the other libraries?

What should I do? Thanks.

Don’t do this. Like ever.

Search for the package with your package manager.

dnf search libssl

Totally fine, unless it breaks something else. What you want to do when running multiple versions of different packages is have specific references for your applications to those packages, instead of having an older version being used globally.

The thing is some of these libraries changed names over the years. For example libjson is now json-c which I actually have installed. And libssl, I think is libopenssl now.

I tried making copies of those and renaming them to what the game is looking for, but then it complained about wrong version.
This is what happens when I try to fix the issue with symlinks or copy/rename:

./Torment: /lib/ version `OPENSSL_1.0.0' not found (required by ./Torment)
./Torment: /lib/ version `OPENSSL_1.0.0' not found (required by ./Torment)

Too bad the game doesn’t have it’s own lib directory so I can place them in there. I think I need to find the exact versions of those archaic libs and place them in /usr/lib . Is there a way to create my own lib dir for this game and somehow ask the game to look for dependencies in this particular lib as well? For some reason I don’t want to place all kinds of rubbish libs in the main dir.

Btw, dnf search libssl didn’t return anything. None of these libs can be found because their names are different now.

What you should do is create symbolic links under /usr/lib of the packages that the game is looking for, and link it to the modern package.

#create a new symlink:
ln -s /path/to/file /path/to/symlink

#To create or update a symlink:
ln -sf /path/to/file /path/to/symlink

In this case the file is the entry in /usr/lib.

#for example
ln -s /usr/lib/libopenssl /usr/lib/libssl

I’m not sure why this is an issue, as once you install the latest package, to maintain backwards compatibility its supposed to create these links for you.

Thanks but if copy/rename isn’t working, doesn’t that mean that symlinks wouldn’t work either?

for all intents and purposes, you already have the needed packages on your system.

For some reason backwards compatibility is not working because the game is looking for packages that have been either deprecated and replaced or refactored.

Effectively, what we want to do is tell the game that “hey those files do exits, go here”. By creating symlinks to point at the correct package.

If the game then loads but doesn’t work that would mean it actually requires the old packages to function, in which case you would then actually need them on your system.

In case you should want the older packages:
install json-c-32bit
json-c-32bit libraries has the
Then the openssl packages. libopenssl doesn’t show anything here either. It’s just called openssl

I tried symlinking - same errors.

I tried installing the 32bit versions but they don’t contain those libs either.

Lutris may be what your looking for, it solves all these problems for you and there are lots of installers that’ll include lib hacks etc for you

Thanks. The game starts with Lutris but now there is a new issue.
After the cinematics there is only a black screen instead of a main menu and only the cursor is seen (the game doesn’t crash.)
Seems like other people are having the same problem:
The windowed screen solution provided there did not solve the issue.

According to this topic, disabling 3d and enabling doublebuffer may solve some of those issues:

I did disable the 3D Acceleration in the Baldur.lua file, but after I start the game it overwrites it to enabled.
Maybe I should only give “read” rights, but not “write”? Lol. Not sure how to enable doublebuffer.

According to this topic I might be missing libSDL2:

Doesn’t seem like I’m missing it:

[[email protected] Planescape Torment Enhanced Edition]$ sudo dnf install SDL2 SDL2-devel
Last metadata expiration check: 0:00:02 ago on Sun Aug 20 15:43:25 2017.
Package SDL2-2.0.5-3.fc25.x86_64 is already installed, skipping.
Package SDL2-devel-2.0.5-3.fc25.x86_64 is already installed, skipping.
Dependencies resolved.
Nothing to do.