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

×
avatar
Snuggles988: Advice would be appreciated thanks.
Sorry, I do not have the game you have troubles with, so take my advise accordingly, but…

1) You must ensure the libraries described in the "System Requirements" are installed in your system. Different distros use different naming for these libs, though. But that is a good starting point;
2) Locate the game executable and try to launch it directly via terminal (CLI) and see what it writes to the output. Sometimes GOG's wrapper is a problem in itself and a game works fine if launched directly;
3) Failing that, try to trace all needed libraries by giving the following command in terminal (from a directory containing the game, obviously):
$ ldd -r <name_of_the_executable>
and see what is missing.
avatar
Snuggles988: Advice would be appreciated thanks.
avatar
Alm888: Sorry, I do not have the game you have troubles with, so take my advise accordingly, but…

1) You must ensure the libraries described in the "System Requirements" are installed in your system. Different distros use different naming for these libs, though. But that is a good starting point;
2) Locate the game executable and try to launch it directly via terminal (CLI) and see what it writes to the output. Sometimes GOG's wrapper is a problem in itself and a game works fine if launched directly;
3) Failing that, try to trace all needed libraries by giving the following command in terminal (from a directory containing the game, obviously):
$ ldd -r <name_of_the_executable>
and see what is missing.
Thank you Alm888 for your time

I started at step one to try and get the libraries described in system requirements to get the game to run. here is where i am currently at with step 1.

"sudo apt-get install libc6:i386 libasound2:i386 libasound2-data:i386 libasound2-plugins:i386 libcurl3:i386 libgtk2.0-0:i386 libopenal1:i386 libglu1:i386
Reading package lists... Done
Building dependency tree
Reading state information... Done
Note, selecting 'libasound2-data' instead of 'libasound2-data:i386'
Note, selecting 'libglu1-mesa:i386' instead of 'libglu1:i386'
Package libcurl3:i386 is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source
However the following packages replace it:
libcurl4:i386 libcurl4

E: Package 'libcurl3:i386' has no installation candidate"

So i tried getting the packages that replace them

"sudo apt-get install libcurl4:i386 libcurl4
Reading package lists... Done
Building dependency tree
Reading state information... Done
libcurl4 is already the newest version (7.68.0-1ubuntu2.1).
libcurl4:i386 is already the newest version (7.68.0-1ubuntu2.1).
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded."


When i try and run the game through the terminal from the folder I get the following

"start.sh
bash: start.sh: command not found" from the games folder and thats what i get.

"ldd -r start.sh
not a dynamic executable"

"ldd -r gog_com-Monolith_1.desktop
not a dynamic executable"

"ldd -r start.sh
not a dynamic executable"

"./runner: error while loading shared libraries: libcrypto.so.1.0.0: cannot open shared object file: No such file or directory
"

"locate libcrypto.so.1.0.0
/home/NAME/.steam/debian-installation/steamapps/common/SteamLinuxRuntime/scout_0.20200505.0/files/lib/i386-lin ux-gnu/libcrypto.so.1.0.0
/home/NAME/.steam/debian-installation/steamapps/common/SteamLinuxRuntime/scout_0.20200505.0/files/lib/x86_64-l inux-gnu/libcrypto.so.1.0.0
/home/NAME/.steam/debian-installation/ubuntu12_32/steam-runtime/lib/i386-linux-gnu/libcrypto.so.1.0.0
/home/NAME/.steam/debian-installation/ubuntu12_32/steam-runtime/lib/x86_64-linux-gnu/libcrypto.so.1.0.0"

that is what I am getting atm. When i double click on the desktop launcher for the game or the start.sh in game file nothing happens.

Thanks again for your time and help, I appreciate it.
avatar
Snuggles988: Package libcurl3:i386 is not available, but is referred to by another package.
It would appear, "libcurl3" was tossed away and GOG needs to update its system requirements.
But, I believe, this is a "red herring". Because I've seen some familiar issue down in your post.

avatar
Snuggles988: When i try and run the game through the terminal from the folder I get the following

"start.sh
bash: start.sh: command not found" from the games folder and thats what i get.

"ldd -r start.sh
not a dynamic executable"

"ldd -r gog_com-Monolith_1.desktop
not a dynamic executable"

"ldd -r start.sh
not a dynamic executable"
start.sh is not the game's executable. It is the very same GOG's wrapper I've mentioned in my previous post. Technically, it is a "Shell Script" -- text file containing instructions (setting variables, preloading libraries, executing "launchers" etc.). Sometimes GOG tries to be "clever" with it and likes to substitute system libraries with its own, bundled with a game, and said libraries may be incompatible with other (system, this time) libraries, thus ruining everything. That's why it is usually better to circumvent GOG's "start.sh" script and launch a game directly.
Oh, and BTW, the "*.desktop" files are just like "lables" in Windows ("*.lnk"), only in Linux they are more useful, as Linux executables do not (and can not -- that is intentioal) have embedded icons in them, so these "*.desktop" files provide nicely looking link to place on a desktop (there is more to it, but that's besides the point).

But yet again, another false lead.

avatar
Snuggles988: "./runner: error while loading shared libraries: libcrypto.so.1.0.0: cannot open shared object file: No such file or directory
"

"locate libcrypto.so.1.0.0
/home/NAME/.steam/debian-installation/steamapps/common/SteamLinuxRuntime/scout_0.20200505.0/files/lib/i386-lin ux-gnu/libcrypto.so.1.0.0
/home/NAME/.steam/debian-installation/steamapps/common/SteamLinuxRuntime/scout_0.20200505.0/files/lib/x86_64-l inux-gnu/libcrypto.so.1.0.0
/home/NAME/.steam/debian-installation/ubuntu12_32/steam-runtime/lib/i386-linux-gnu/libcrypto.so.1.0.0
/home/NAME/.steam/debian-installation/ubuntu12_32/steam-runtime/lib/x86_64-linux-gnu/libcrypto.so.1.0.0"
Now, that's the deal!
A well known issue OpenSSL version 1.0 was discontinued not that long ago and was thrown out from Ubuntu (from 19.10 onward). It was discarded in Fedora even earlier, that's why I've dealt with this issue a lot of times. For some strange reason games (or rather, game engines), even single-player "DRM-free" ones have the need of network cryprography. :(
But on to the point, two files are needed: "libssl.so.1.0.0" and "libcrypto.so.1.0.0" (32bit versions in our case, but I've encountered games requiring 64bit versions as well, so while we are at it, it is probably a good idea to grab both).
Unfortunately, as I said, OpenSSL 1.0 was tossed, so no, you can not install these libraries the normal way (via packet manager), and no, "libssl1.1" will not do.

Strange fact is that your supposed GOG version tries to search for the libraries in your Steam installation directory. It fails most probably due to "Steam Runtime" not been installed. :)

You can download these libraries manually (from "Ubuntu 18.04") and shove them to the game.

Here are the links:
http://archive.ubuntu.com/ubuntu/pool/main/o/openssl1.0/libssl1.0.0_1.0.2n-1ubuntu5.3_i386.deb
http://archive.ubuntu.com/ubuntu/pool/main/o/openssl1.0/libssl1.0.0_1.0.2n-1ubuntu5.3_amd64.deb

It would probably not be a good idea to install these packages system-wide. Just extract needed libraries and copy them into game "lib" directory (if there is one, otherwise you should create it) and ensure the game finds them (use LD_LIBRARY_PATH or LD_PRELOAD environment variables or some other, more convoluted way, like writing [url=https://en.wikipedia.org/wiki/Rpath_(linking)] RPATH[/url] into the game's executable).
Post edited July 20, 2020 by Alm888
avatar
Alm888: "snip"

You can download these libraries manually (from "Ubuntu 18.04") and shove them to the game.

Here are the links:
http://archive.ubuntu.com/ubuntu/pool/main/o/openssl1.0/libssl1.0.0_1.0.2n-1ubuntu5.3_i386.deb
http://archive.ubuntu.com/ubuntu/pool/main/o/openssl1.0/libssl1.0.0_1.0.2n-1ubuntu5.3_amd64.deb

It would probably not be a good idea to install these packages system-wide. Just extract needed libraries and copy them into game "lib" directory (if there is one, otherwise you should create it) and ensure the game finds them (use LD_LIBRARY_PATH or LD_PRELOAD environment variables or some other, more convoluted way, like writing [url=https://en.wikipedia.org/wiki/Rpath_(linking)] RPATH[/url] into the game's executable).
Again Alm888 Thank you for taking the time to trouble shoot this with me. I think I have taken up enough of your time, I am going to try and learn about how to do what you suggested.

As for GOG, or Monolith devs, I feel like this could be something fixed on their end to help make installing their game an easier process. I recently installed a linux distro knowing its downsides fully well, especially when it comes to getting some games to run so that's on me. I am glad they have the linux files at all and not just a windows installer only.

Again Alm888 thanks again for taking time out of your day to help out some rando linux noob.
For at least one game that requires libssl1.0 (Undertale in this case), you might try running the Windows version via WINE, as that can be easier than trying to install an obsolete (and likely insecure) library that, for whatever reason, the game requires.
avatar
dtgreene: For at least one game that requires libssl1.0 (Undertale in this case), you might try running the Windows version via WINE, as that can be easier than trying to install an obsolete (and likely insecure) library that, for whatever reason, the game requires.
Believe me, there are more games, way too more. This way one can just ditch half of the GOG's library and just use Windows versions in WINE.
Supplying libraries to a game is not that hard. One just needs to create a launch script (if GOG does, why the heck we can not do he same?!) "launch_game.sh" (or whatever) containing just this:

#!/bin/bash

# Initialization (shamessly copied from GOG's script to ensure we are launching from the game's directory)
CURRENT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
cd "${CURRENT_DIR}"
# Adding our created directory with "libssl.so.1.0.0" and "libcrypto.so.1.0.0" to the libraries path
export LD_LIBRARY_PATH=./lib:$LD_LIBRARY_PATH
# Now, trying to launch the game
./<game_executable_name>
Of course, the <game_executable_name> thing should be replaced with an actual game executable.