yicristi: I had the same problem on my laptop running Fedora 29. I couldn't find any package providing openssl1.0.0.
I managed to run the game by building the missing libraries from source.
To build OpenSSL, first the following must be installed in your system (the way to install them is specific to your particular Linux distribution):
* git
* make
* Perl 5
* an ANSI C compiler
* a development environment in form of development libraries and C header files
Clone the source code for the required version and build:
cd ~
git clone --branch OpenSSL_1_0_0-stable --single-branch --depth 1
https://github.com/openssl/openssl.git openssl_1.0.0
cd openssl_1.0.0
./config shared
make
If the build completes successfully, you'll see the required library files:
$ ls lib*so*
libcrypto.so libcrypto.so.1.0.0 libssl.so libssl.so.1.0.0
To run the game with these libraries, change directory to the game's install folder and launch it with this command:
LD_LIBRARY_PATH=~/openssl_1.0.0 ./start.sh
porphiron: Having trouble running this game and following your ideas i still get :
Torment64: error while loading shared libraries: libssl.so.1.0.0: cannot open shared object file: No such file or directory
If you run `LD_LIBRARY_PATH=/path/to/libraries ldd /path/to/Torment64` (or `LD_LIBRARY_PATH=/path/to/libraries /lib64/ld-*.so --list /path/to/Torment64`), it'll list all the dynamic libraries (like DLLs) that are needed to run Torment and where they were found. If the path you gave to LD_LIBRARY_PATH doesn't contain those libs, you'll see the following in the list.
$ ldd /path/to/Torment64
...
libssl.so.1.0.0 => not found
libcrypto.so.1.0.0 => not found
...
So ideally what you'll want to do after building OpenSSL is make sure those libraries are located in the directory that you assigned to LD_LIBRARY_PATH. You should see the files "libcrypto.so.1.0.0" and "libssl.so.1.0.0" wherever you built OpenSSL. Like `file /path/to/openssl/lib.s.1.
$ file /path/to/openssl/libssl.so.1.0.0
libssl.so.1.0.0: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), statically linked
$ file /path/to/openssl/libcrypto.so.1.0.0
libcrypto.so.1.0.0: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), statically linked
Now when you list all the libraries using "ldd" iff you get the following error message, then this is saying that your build of OpenSSL didn't include the version information for some reason.
$ ldd /path/to/Torment64
libcrypto.so.1.0.0: no version information available (required by game/Torment64)
libssl.so.1.0.0: no version information available (required by game/Torment64)
...
libssl.so.1.0.0 => /path/to/libssl.so.1.0.0 (0x00007fbaff0f0000)
libcrypto.so.1.0.0 => /path/to/libcrypto.so.1.0.0 (0x00007fbafee9b000)
...
If this happens, then you might need to do another trick to link OpenSSL with version information by using a version-script. To do this, look at the version of Torment using readelf like the following.
$ readelf -V Torment64 | grep OPENSSL | grep Name
0x0050: Name: OPENSSL_1.0.0 Flags: none Version: 11
0x00b0: Name: OPENSSL_1.0.1 Flags: none Version: 10
0x00c0: Name: OPENSSL_1.0.0 Flags: none Version: 5
So, this shows our build of OpenSSL needs to provide these two versions. Create a file in your OpenSSL build directory as follows.
$ cat > openssl.version-script <<EOF
OPENSSL_1.0.0 {
global:
*;
};
OPENSSL_1.0.1 {
global:
*;
};
EOF
Now when you configure, make sure to add the following options to use the version-script. Afterwards, run "make" and wait for it to build.
$ ./config shared -Wl,--version-script=/path/to/openssl.version-script
...
$ time make
...
Now if you run the "ldd" command that we described previously with LD_LIBRARY_PATH pointing to the OpenSSL build directory, it should list all of the shared libraries and their complete paths. At this point, you should be able to run Torment with the LD_LIBRARY_PATH set to OpenSSL's build directory.
$ LD_LIBRARY_PATH=/path/to/openssl/directory ldd /path/to/Torment64
...
(Torment seems to look for its files relative to your current working directory, so make sure to "cd game" and run it as `LD_LIBRARY_PATH=whatever ./Torment64`)