Age of Wonders III

Age of Wonders III

View Stats:
EndrII May 25, 2023 @ 7:46am
Linux version need to redeploy
Dear developers. Please refresh Linux version.

Your binary file depends on ssl 1.0 it is very old library. If you want to continue to use this library, please add them into your distribution kit.


./AoW3: error while loading shared libraries: libssl.so.1.0.0: cannot open shared object file: No such file or directory
< >
Showing 1-7 of 7 comments
Oerthling Oct 27, 2023 @ 7:01am 
And people have already figured out what needs to be fixed:

https://steamcommunity.com/app/226840/discussions/6/3767858814401324346/
Oerthling Oct 27, 2023 @ 8:56am 
BTW - if somebody needs help or can't produce this little shim library themselves contact me and I'll send it to you.
EgonRonay Jan 7, 2024 @ 9:10am 
+1 Just bought and installed AOW3 a few days ago, now f**ing about trying to deal with this issue. Will give it another hour, then ask for a refund.
EndrII Jan 12, 2024 @ 5:15am 
for run this game on linux just enable proton version. Its Works fine for me
bonedragon Feb 27, 2024 @ 6:26am 
Today I have successfully run it on new Ubuntu 22.04.4, Debian 12.5 and ChromeOS Flex, so do not need any proton or wine, as native Linux Version was even faster than Windows Version (on same Nvidia Laptop)
Last edited by bonedragon; Feb 27, 2024 @ 6:27am
golfleme Feb 27, 2024 @ 12:42pm 
Originally posted by EndrII:
Dear developers. Please refresh Linux version.

Your binary file depends on ssl 1.0 it is very old library. If you want to continue to use this library, please add them into your distribution kit.


./AoW3: error while loading shared libraries: libssl.so.1.0.0: cannot open shared object file: No such file or directory
+1
pipo.p Oct 2, 2024 @ 12:59pm 
Hi. Steam updated again this summer and this all started again. Also I just migrated from Mageia 8 to Mageia 9, and given it was a fresh install, I lost any forgotten addition I did to my system /usr/lib in the past ^^.

Unable to do otherwise, I decided to take the matter more seriously this time, but it was not a foregone conclusion due to my limited system administration and programming skills. I apologize for any overinterpretation.

To return to a fresh install state of the game, I deleted all libraries in ./AoW3 and ordered a check on files integrity (/usr/lib/ being fresh Mageia9). Here are my findings:


Missing shared 32-bit libraries in AoW3's runtime

A) Looking for missing shared libraries

ldd ./AoW3
-> error while loading shared libraries:: ./libSDL2-2.0.so.0: file too short.
Indeed, this file is 25B large and not a link (Steam's AoW3 doesn't include any link).
-> I had to run ./AoW3Launcher.sh once to build all the missing links and not only this one.
run ./AoW3Launcher.sh ldd ./AoW3
-> not found: libssl.so.1.0.0 libcrypto.so.1.0.0 linuuid.so.1
link to ./libSDL2-2.0.so.0 is found.
ldd -u ./AoW3
-> also tells that two direct dependencies will not be used: ./libfmodevent.so /lib/lipthread.so.0
ldd ./AoW3Launcher
-> same result as above
ldd -u ./AoW3Launcher
-> three more direct dependencies will not be used: ./libcui18n.so.52 /libcudata.so.52 /lib/libGL.so.1

I don't know why are three of those unused dependencies still in the AoW3Launcher.sh script as links. Are they deprecated, or are the newest versions directly used by the executables? The other two system libraries are in my freshly installed /usr/lib/ directory (with a link /lib > /usr/lib).

I looked for the missing ssl libraries in repositories and other linux resource sites, but could only find openssl1.1. No need to compile and install it. Depending on the download, the archive may contain a /lib directory with libcrypto.so.1.1 and libssl.so.1.1 .

But there is no need yet for this: Steam has those missing shared 32-bit libraries.. They are found in
/Steam/ubuntu12_32/steam-runtime/lib/i386-linux-gnu/
Not finding them with 'ldd' is perhaps normal (environment not set yet). To be honest, I can't warrant that they are natively in there, because I subscribed once to Steam Linux Runtime 1.0, and don't know if the Steam library was updated in the process or not.
All that follows therefore implies at worst that Steam Linux Runtime 1.0 is subscribed and then unsubcribed (for what's worth).

B) Workarounds

Firstly, even if it is stumbled on only after dealing with missing libraries, I couldn't quickly conduct testing without first settling the deprecated pthread() function (otherwise, the game won't launch). Compile the redirection to updated function as per:
https://steamcommunity.com/app/226840/discussions/6/3767858814401324346/
Then add the line in AoW3Launcher.sh
export LD_PRELOAD="pthread_yield.so"

1) Workaround 1:
Run the game in compatibility mode using Steam Linux Runtime 1.0 (Scout).

-> I could run the game fine, but it takes storage room, and uses the aforementioned Steam libraries anyways (linking to the whole lib directpry above).


2) Workaround 2:
Copy missing 32-bit ssl libraries from the Steam lib directory to AoW3 directory.

-> This has already been used by several users, and it works. As per AoW3Launcher.sh script, the game will even search them in its own directory first.
(command line used to show the proximity of lfiles locations)
cp ./Steam/ubuntu12_32/steam-runtime/lib/i386-linus-gnu/libssl.so.1.0.0 ./Steam/steamapps/common/AoW3 cp ./Steam/ubuntu12_32/steam-runtime/lib/i386-linus-gnu/libcrypto.so.1.0.0 ./Steam/steamapps/common/AoW3


3) Workaround 3?:
"Repair" Steam's linux 32-bit libraries directory.

What about the third missing library? The game running fine, it manages to find it.
Looking at this /ubuntu12_32/steam-runtime/lib/i386-linux-gnu/ directory:

libssl.so.1.0.0 libcrypt.so.1 , a link to libcrypt.so.1.1.0 libcrypt.so.1.1.0 libcrypto.so.1.0.0 libuuid.so.1 , a link to libuuid.so.1.3.0 libuuid.so.1.3.0

-> Once you get those libraries in the /ubuntu12_32/steam-runtime/lib/i386-linux-gnu/ directory, the game seems to find them here and launches fine*.
There is no need to add the missing libraries in the game's directory, except to ward against any future harmful Steam update in this direction.

*To be honest, it looks like some "initialization" process is required before it works. At first, I thought and wrote here that the libcrypt.so.1 link could prevent the game from loading the libcrypto.so.1.0.0 library, but... new tests show that even with the original link (to libcrypt.so.1.1.0), the game now launches...). I don't know if this is related to some "dynamic" LD_LIBRARY_PATH setting. I already wrote about a possible Steam Linux Runtime prerequisite subscription to add the missing libraries. I'm quite tired from these tests to all uninstall and test again. I let this to another desperate or motivated linux user.
TL;dR: points to verify on a fresh install:
1) It is possible that Steam doesn't natively include some of the missing libraries, but manages to download them after "some time".
2) It is possible that the game can't access those available libraries until after "some time"?


WARNING:
Any change to the Steam /lib directories will impact any old game which needs those libraries from Steam, either natively, or because a runtime is required. Runtimes could even fail to launch, Idk.

[EDIT]I heavily edited this comment in the first hour after uploading, and after conducting new testing, because, as I feared, I had somewhat overinterpreted, or had been fooled by some gremlin...[/edit]
Last edited by pipo.p; Oct 2, 2024 @ 1:54pm
< >
Showing 1-7 of 7 comments
Per page: 1530 50