March 31, 2015 at 17:12 #174825
Today update(31.03.2015 – build number is unknown for me) messed a bit. Game/luauncher do not start.
This is console output that I got after ‘play’ button was pressed in steam:
Installing breakpad exception handler for appid(steam)/version(1427176184)
Game update: AppID 226840 “Age of Wonders III”, ProcID 8380, IP 0.0.0.0:0
ERROR: ld.so: object ‘/home/t0/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so’ from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
[may that same lines]
./AoW3Launcher: /usr/lib32/libssl.so.1.0.0: no version information available (required by ./AoW3Launcher)
./AoW3Launcher: /usr/lib32/libcrypto.so.1.0.0: no version information available (required by ./AoW3Launcher)
Game removed: AppID 226840 “Age of Wonders III”, ProcID 8380
Installing breakpad exception handler for appid(steam)/version(1427176184)
cheersMarch 31, 2015 at 17:25 #174835
The problem is that it cannot find libssl.so.1.0.0 and libcrypto.so.1.0.0. They should be present in your steam install directory. When you start steam and then press ‘play’ there should be an environment variable named LD_LIBRARY_PATH containing path to steam libs. For some reason your environment variable is incorrect.
In AoW3 install dir edit AoW3Launcher.sh and before exec write: env
Then check output for LD_LIBRARY_PATHApril 1, 2015 at 11:06 #175223
This is only partial true ;]
In linux there are few lib’s directory that do not need to be present in LD_LIBRARY_PATH. I try to create symlin to specific libs and put it in AoW3 ‘exe’ directory. However there is still problem and downgrading this lib to libssl3 didn’t worked too.
Maybe this will be more clear:
$ ldconfig -p | grep ssl
libssl3.so (libc6,x86-64) => /usr/lib/libssl3.so
libssl3.so (libc6) => /usr/lib32/libssl3.so
libssl.so.1.0.0 (libc6,x86-64) => /usr/lib/libssl.so.1.0.0
libssl.so.1.0.0 (libc6) => /usr/lib32/libssl.so.1.0.0
libssl.so (libc6,x86-64) => /usr/lib/libssl.so
libssl.so (libc6) => /usr/lib32/libssl.so
libgnutls-openssl.so.27 (libc6,x86-64) => /usr/lib/libgnutls-openssl.so.27
libgnutls-openssl.so.27 (libc6) => /usr/lib32/libgnutls-openssl.so.27
libgnutls-openssl.so (libc6,x86-64) => /usr/lib/libgnutls-openssl.so
libgnutls-openssl.so (libc6) => /usr/lib32/libgnutls-openssl.so
libevent_openssl-2.0.so.5 (libc6,x86-64) => /usr/lib/libevent_openssl-2.0.so.5
cheers and pls fix it and can play the game….uh…test the game;]
btw I to not have LD_LIBRARY_PATH defined in system at all.
btw2 the problem is not that game can not find lib but that version of lib is not working with game.April 1, 2015 at 18:21 #175415
Steam sets LD_LIBRARY_PATH when you have runtime enabled. Then LD_LIBRARY_PATH will point to correct libraries, including libssl.so.1.0.0. Steam does this to ensure everyone has the same version libraries. So it should just work.
Could you try to start steam like this?
STEAM_RUNTIME=1 steamApril 1, 2015 at 19:03 #175437
LD_LIBRARY_PATH from AoW3Launcher point to current directory only (adding ‘.’ is bad idea in my opinion – what will be added if I call script from different directory?). Current directory do not contain libssl or libcrypto so system want to load default from binary architecture(32bit) and It does that.
But to the point I played with it a little and there are my findings:
– Script called from ‘stream’ play button (terminal output look at _64 dirs) – launcher do not start:
ERROR: ld.so: object '/home/t0/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored. LD_LIBRARY_ENV .:/home/t0/.local/share/Steam/ubuntu12_32:/home/t0/.local/share/Steam/ubuntu12_32/panorama:/usr/lib:/usr/lib32:/home/t0/.local/share/Steam/ubuntu12_32:/home/t0/.local/share/Steam/ubuntu12_64:/run/media/t0/Dane_lin/SteamLibrary/SteamApps/common/AoW3:/run/media/t0/Dane_lin/SteamLibrary/SteamApps/common/AoW3/bin ERROR: ld.so: object '/home/t0/.local/share/Steam/ubuntu12_64/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64): ignored. ./AoW3Launcher: /usr/lib32/libssl.so.1.0.0: no version information available (required by ./AoW3Launcher) ./AoW3Launcher: /usr/lib32/libcrypto.so.1.0.0: no version information available (required by ./AoW3Launcher) Game removed: AppID 226840 "Age of Wonders III", ProcID 6266
– Script called from game dir -launcher is working and game too when steam is turned off (if not I got hard crash of launcher)
LD_LIBRARY_ENV .: ./AoW3Launcher: /usr/lib32/libssl.so.1.0.0: no version information available (required by ./AoW3Launcher) ./AoW3Launcher: /usr/lib32/libcrypto.so.1.0.0: no version information available (required by ./AoW3Launcher) [S_API FAIL] SteamAPI_Init() failed; SteamAPI_IsSteamRunning() failed. [S_API FAIL] SteamAPI_Init() failed; unable to locate a running instance of Steam, or a local steamclient.so. UserPath: \home\t0\.local\share\AoW3\ Working Directory: \run\media\t0\Dane_lin\SteamLibrary\SteamApps\common\AoW3\\ [ERROR]NetGetRegion() not implemented!
– STEAM_RUNTIME=1 env added before steam was started produced (working fine):
LD_LIBRARY_ENV .:/home/t0/.local/share/Steam/ubuntu12_32:/home/t0/.local/share/Steam/ubuntu12_32/panorama:/home/t0/.local/share/Steam/ubuntu12_32/steam-runtime/i386/lib/i386-linux-gnu:/home/t0/.local/share/Steam/ubuntu12_32/steam-runtime/i386/ lib:/home/t0/.local/share/Steam/ubuntu12_32/steam-runtime/i386/usr/lib/i386-linux-gnu:/home/t0/.local/share/Steam/ubuntu12_32/steam-runtime/i386/usr/lib:/home/t0/.local/share/Steam/ubuntu12_32/steam-runtime/amd64/lib/x86_64-linux-gnu:/hom e/t0/.local/share/Steam/ubuntu12_32/steam-runtime/amd64/lib:/home/t0/.local/share/Steam/ubuntu12_32/steam-runtime/amd64/usr/lib/x86_64-linux-gnu:/home/t0/.local/share/Steam/ubuntu12_32/steam-runtime/amd64/usr/lib:/usr/lib:/usr/lib32:/home /t0/.local/share/Steam/ubuntu12_32:/home/t0/.local/share/Steam/ubuntu12_64:/run/media/t0/Dane_lin/SteamLibrary/SteamApps/common/AoW3:/run/media/t0/Dane_lin/SteamLibrary/SteamApps/common/AoW3/bin ERROR: ld.so: object '/home/t0/.local/share/Steam/ubuntu12_64/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64): ignored.
Just to be on safe side I attached steam log
cheersApril 2, 2015 at 09:38 #175747
The last one is correct, because it enables steam runtime. Which is a MUST-have. The problem with linux is that there are many different versions, and we cannot support all of them because each version has its own version of libs. So basically I can fix it for some versions of linux, but other versions might not work. That is why we need steam runtime. To understand better, read this:
I think if you start steam from command line using
then it will not enable steam runtime. Therefore you must start it via the launcher/applications menu etc. If you still want to start it via the command-line, then the only way I know is to add the env variable like so:
When steam runtime is enabled, steam adds paths to LD_LIBRARY_PATH. These libs can be found here:
Then AoW3Launcher.sh also adds ‘.’ to that. So if you start steam without runtime, then there will be only ‘.’ added, but not the steam paths.
PS. The last issue I’m not sure about. It looks like there’s a graphics lib conflict but that shouldn’t affect the game. It only disables the in-game steam overlay. There’s more info about this error in the above link.April 2, 2015 at 10:46 #175774
Got that all but please answer why game can start when I run script without steam running? (this is not rly important just curiosity;)
I never had any problem with game on steam and it looks like I was using it wrong way all the time.
About that overlay I was thinking that same so I did quick check and cs:go is working fine with overlay.April 2, 2015 at 14:49 #175895
Not 100% sure but I think it can start because the game also searches in your system libs. Steam only overrides LD_LIBRARY_PATH to change search order so that it tries to look in Steam folder BEFORE it looks in your system folder.
Not every games on steam correctly uses steam runtime, some games provide all libs with their game. But with linux there are many licensing issues if we try to do this. Steam devs told us that its recommended that we use steam runtime instead.
Thanks about overlay. I’ll add it to my list 🙂April 2, 2015 at 15:41 #175923
Point from steam devs looks good when you consider that game should work for long lime in independent way from system libs.
AFAIK there is no license that will forbids to link dynamic lib. Problem starts when you want to embed lib into your project.
You must be logged in to reply to this topic.