It seems that you're using an outdated browser. Some things may not work as they should (or don't work at all).
We suggest you upgrade newer and better browser like: Chrome, Firefox, Internet Explorer or Opera

×
➜ BaldursGateEnhancedEdition ./start.sh
Running Baldur's Gate: Enhanced Edition
./BaldursGate: error while loading shared libraries: libcrypto.so.1.0.0: cannot open shared object file: No such file or directory
This has been repeatedly reported on the forum over the years, and neither GOG nor Beamdog shows any interest in fixing it. I have repeatedly urged users to contact GOG Support for this and press for them to ship an installer that allows the game to work as installed, without requiring user modifications afterward. The only users that ever reported back on that reported advice from GOG Support that was so bad I had to correct the advice from support. They should know better than to recommend what they did. For prior threads, see:

Native Linux version not Booting
Baldur's gate II on debian buster 64bits
segmentation fault/error while opening shared library libssl.so.1.0.0

There may be more. That was just what I could find quickly.
I recently switched to Linux Mint 21 which is known to have the same issue so that I had to find a solution which works without influencing my system negatively. I read a couple of posts in different forums (gog, arch-linux, ubuntu) related to bg(2)ee as well as iwdee and combined some of the hints to a workaround that lets me start the game. In the following I wrote down the steps I performed.

As a first step, I downloaded the libraries which are packed to a deb-file from
https://packages.ubuntu.com/bionic/amd64/libssl1.0.0/download

Let us now assume that the downloaded file is located in
/home/$USER/Downloads
and the game is installed in
/opt/Games/bg2ee (remark: my user has write permissions inside 'Games')

I extracted the deb-file and subsequently extracted the data.tar.xz archive. The sequence of terminal commands is:
cd ~/Downloads
ar x libssl1.0.0_1.0.2n-1ubuntu5.10_amd64.deb
tar -xJvf data.tar.xz

Now we have the two libraries libssl.so.1.0.0 and libcrypto.so.1.0.0 located in
/home/$USER/Downloads/usr/lib/x86_64-linux-gnu

I then created a lib-folder inside the game install folder and moved the two library-files to that new folder
cd /opt/Games/bg2ee
mkdir lib
mv /home/$USER/Downloads/usr/lib/x86_64-linux-gnu/libssl.so.1.0.0 /opt/Games/bg2ee/lib/
mv /home/$USER/Downloads/usr/lib/x86_64-linux-gnu/libcrypto.so.1.0.0 /opt/Games/bg2ee/lib/

The last thing I did was to modify the file
/opt/Games/bg2ee/start.sh

The header of my file now looks like this
#!/bin/bash
# GOG.com (www.gog.com)
# Game

# Add old libraries
export LD_LIBRARY_PATH=/opt/Games/bg2ee/lib
(... leave the rest of the file as it is)

Now I can start the game by a click on the menu icon or by executing the start.sh-file from the terminal.
lol does it really need to be so long winded

and the game is installed in
/opt/Games/

you went to length just to use a root-only writable path, changing permissions on the way. To install game(s) just for yourself.

ar x libssl1.0.0_1.0.2n-1ubuntu5.10_amd64.deb
tar -xJvf data.tar.xz

or just dpkg -x *.deb somedir/

mkdir lib

just drop the libs into the games root


The last thing I did was to modify

one doesn't "have" to modify shit.

just launch with

$ LD_LIBRARY_PATH=. ./bg2 (or whatever)


to round up
get the lib package
extract with dpkg -x
copy to the games dir
start with LD_LIBRARY_PATH=.

enjoy
I think gisborne1986's post is well written and easy to follow. Although I have not tried it, it looks like it offers ready-to-use commands in series, so users can execute it without even understanding what they are doing. It also offers users who insist on using a GUI shortcut a way to have one.

In contrast, osm's post has lines like "just drop the libs into the games root", which users need to convert into a runnable command. Further, the suggestion to set LD_LIBRARY_PATH on the command line means that users must do this step every time they want to run the game. Modifying the GOG launcher script saves the need to do that.

Of course, getting GOG to ship the game so it works as installed would be a better solution still, because it would put an end to these threads.
really you think you can't edit the damn .desktop so you don't need the stupid GOG's start.sh??
not to mention ^R.

gawd when the last idjit gonna die...
The approaches both work for single user setups. Setting the LD_LIBRARY_PATH to an appropriate folder containing the missing libraries is basically the solution. There are many other variants which are possible. The best solution always is the one which is most convenient to the user in front of the machine.

The motivation for me to use the /opt/Games folder is the use case of a multi user desktop machine where all users except of me just want to hit the launcher button from the "Windows like start menu". My children (not yet) do know about .desktop files, terminal commands or environment variables. So I simply created this Games folder inside /opt before any game was installed and modified the ownership to my username and my groupname:
sudo mkdir /opt/Games
sudo chown username:groupname /opt/Games

The nice thing about this is to be able to install with user privileges. (It is a principle of mine to never ever sudo a *.sh-file which I did not read and understood completely.) One could formally set the ownership back to root:root after things are done but I'm too lazy for this and since I am the root user of that machine it doesn't hurt anyone.

Besides that we save plenty of disk space by sharing the same game files in /opt/Games.
Post edited September 11, 2022 by gisborne1986
avatar
osm: really you think you can't edit the damn .desktop so you don't need the stupid GOG's start.sh??
Your instructions did not include editing the desktop file. Read literally, you want the user to set LD_LIBRARY_PATH at every invocation. By contrast, gisborne1986 explicitly stated to edit the launcher script and what to put in it. That makes his instructions more usable. Additionally, if the desktop file executes the launcher script, then editing the launcher is more generally helpful, since it will apply to both command line invocation of the game and desktop icon invocation.
avatar
osm: not to mention ^R.
Indeed, you did not mention ^R. Further, ^R is a desktop-specific keybinding. For some Linux desktops, that does nothing useful, and is instead passed to the application. Therefore, assuming it exists and does something useful in this context, without specifically stating so, is not helpful.
avatar
osm: gawd when the last idjit gonna die...
That is inappropriate. I noted that your instructions were less useful than instructions posted earlier in the thread, and for that you call me an idjit?
avatar
advowson: Indeed, you did not mention ^R. Further, ^R is a desktop-specific keybinding.
...........................................________........................
....................................,.-‘”...................``~.,..................
.............................,.-”...................................“-.,............
.........................,/...............................................”:,........
.....................,?......................................................\,.....
.................../...........................................................,}....
................./......................................................,:`^`..}....
.............../...................................................,:”........./.....
..............?.....__.........................................:`.........../.....
............./__.(.....“~-,_..............................,:`........../........
.........../(_....”~,_........“~,_....................,:`........_/...........
..........{.._$;_......”=,_.......“-,_.......,.-~-,},.~”;/....}...........
...........((.....*~_.......”=-._......“;,,./`..../”............../............
...,,,___.\`~,......“~.,....................`.....}............../.............
............(....`=-,,.......`........................(......;_,,-”...............
............/.`~,......`-...............................\....../\...................
..............\`~.*-,.....................................|,./.....\,__...........
,,_..........}.>-._\...................................|..............`=~-,....
.....`=~-,_\_......`\,.................................\........................
...................`=~-,,.\,...............................\.......................
................................`:,,...........................`\..............__..
.....................................`=-,...................,%`>--==``.......
........................................_\..........._,-%.......`\...............
...................................,
@GOG.com-Admins:

Please make the provided information a sticky note. This question pops up consistently in connection to several linux distributions.