FS#53618 - [openssl-1.0] Breaks games on steam
Attached to Project:
Community Packages
Opened by Laurent Carlier (lordheavy) - Saturday, 08 April 2017, 16:20 GMT
Last edited by Antonio Rojas (arojas) - Wednesday, 17 May 2017, 20:36 GMT
Opened by Laurent Carlier (lordheavy) - Saturday, 08 April 2017, 16:20 GMT
Last edited by Antonio Rojas (arojas) - Wednesday, 17 May 2017, 20:36 GMT
|
Details
Description:
When i try to launch games with steam, some are now failing: Game update: AppID 234140 "Mad Max", ProcID 11940, IP 0.0.0.0:0 >>> Adding process 11940 for game ID 234140 ERROR: ld.so: object '/home/lordh/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored. ERROR: ld.so: object '/home/lordh/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored. ERROR: ld.so: object '/home/lordh/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored. >>> Adding process 11941 for game ID 234140 ERROR: ld.so: object '/home/lordh/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored. pid 11954 != 11950, skipping destruction (fork without exec?) pid 11953 != 11950, skipping destruction (fork without exec?) ERROR: ld.so: object '/home/lordh/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored. === ERROR - You're missing vital libraries to run Mad Max === Either use the steam runtime or install these using your package manager ERROR: ld.so: object '/home/lordh/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored. /home/lordh/.local/share/Steam/SteamApps/common/Mad Max/bin/MadMax: /usr/lib/libcrypto.so.1.0.0: version `OPENSSL_1.0.0' not found (required by /home/lordh/.local/share/Steam/SteamApps/common/Mad Max/bin/MadMax) /home/lordh/.local/share/Steam/SteamApps/common/Mad Max/bin/MadMax: /usr/lib/libssl.so.1.0.0: version `OPENSSL_1.0.1' not found (required by /home/lordh/.local/share/Steam/SteamApps/common/Mad Max/bin/../lib/x86_64/libcurl.so.4) /home/lordh/.local/share/Steam/SteamApps/common/Mad Max/bin/MadMax: /usr/lib/libssl.so.1.0.0: version `OPENSSL_1.0.0' not found (required by /home/lordh/.local/share/Steam/SteamApps/common/Mad Max/bin/../lib/x86_64/libcurl.so.4) /home/lordh/.local/share/Steam/SteamApps/common/Mad Max/bin/MadMax: /usr/lib/libcrypto.so.1.0.0: version `OPENSSL_1.0.0' not found (required by /home/lordh/.local/share/Steam/SteamApps/common/Mad Max/bin/../lib/x86_64/libcurl.so.4) === ERROR: ld.so: object '/home/lordh/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored. >>> Adding process 11942 for game ID 234140 >>> Adding process 11950 for game ID 234140 ERROR: ld.so: object '/home/lordh/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored. ERROR: ld.so: object '/home/lordh/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored. /home/lordh/.local/share/Steam/SteamApps/common/Mad Max/bin/MadMax: /usr/lib/libcrypto.so.1.0.0: version `OPENSSL_1.0.0' not found (required by /home/lordh/.local/share/Steam/SteamApps/common/Mad Max/bin/MadMax) /home/lordh/.local/share/Steam/SteamApps/common/Mad Max/bin/MadMax: /usr/lib/libssl.so.1.0.0: version `OPENSSL_1.0.1' not found (required by /home/lordh/.local/share/Steam/SteamApps/common/Mad Max/bin/../lib/x86_64/libcurl.so.4) /home/lordh/.local/share/Steam/SteamApps/common/Mad Max/bin/MadMax: /usr/lib/libssl.so.1.0.0: version `OPENSSL_1.0.0' not found (required by /home/lordh/.local/share/Steam/SteamApps/common/Mad Max/bin/../lib/x86_64/libcurl.so.4) /home/lordh/.local/share/Steam/SteamApps/common/Mad Max/bin/MadMax: /usr/lib/libcrypto.so.1.0.0: version `OPENSSL_1.0.0' not found (required by /home/lordh/.local/share/Steam/SteamApps/common/Mad Max/bin/../lib/x86_64/libcurl.so.4) >>> Adding process 11956 for game ID 234140 >>> Adding process 11957 for game ID 234140 >>> Adding process 11958 for game ID 234140 >>> Adding process 11959 for game ID 234140 Game removed: AppID 234140 "Mad Max", ProcID 11940 |
This task depends upon
Closed by Antonio Rojas (arojas)
Wednesday, 17 May 2017, 20:36 GMT
Reason for closing: Duplicate
Additional comments about closing: FS#53836
Wednesday, 17 May 2017, 20:36 GMT
Reason for closing: Duplicate
Additional comments about closing:
FS#53619, reverting openssl-1.0-versioned-symbols.patch fixed the issueOne way to fix this would be to add an openssl-1.0-compat package, similar to libcurl-compat, with only the libraries (no headers) and unversioned symbols, as a dependency of steam (and other closed source applications such as Spotify).
Unfortunately this would also require changing the soversion of the openssl-1.0 libraries so they don't conflict with these ones, which means yet another rebuild. FTR, Fedora uses soversion 10, Debian has soversion 1.0.2.
└───╼ ldd /opt/teamspeak3/ts3client_linux_amd64
/usr/bin/ldd: línea 160: /usr/lib/ld-linux.so.2: No existe el fichero o el directorio #note: see https://bbs.archlinux.org/viewtopic.php?id=224344
/opt/teamspeak3/ts3client_linux_amd64: /usr/lib/libcrypto.so.1.0.0: version `OPENSSL_1.0.0' not found (required by /opt/teamspeak3/ts3client_linux_amd64)
/opt/teamspeak3/ts3client_linux_amd64: /usr/lib/libssl.so.1.0.0: version `OPENSSL_1.0.1' not found (required by /opt/teamspeak3/ts3client_linux_amd64)
/opt/teamspeak3/ts3client_linux_amd64: /usr/lib/libssl.so.1.0.0: version `OPENSSL_1.0.0' not found (required by /opt/teamspeak3/ts3client_linux_amd64)
linux-vdso.so.1 (0x00007ffd811dd000)
---snip---
└───╼ teamspeak3
./ts3client_linux_amd64: ./libcrypto.so.1.0.0: version `OPENSSL_1.0.2d' not found (required by /usr/lib/libQt5Network.so.5)
./ts3client_linux_amd64: ./libssl.so.1.0.0: version `OPENSSL_1.0.2d' not found (required by /usr/lib/libQt5Network.so.5)
FS#53578, different problemIn Steam then open game properties and set Launch options.
The exact command to enter ist: LD_LIBRARY_PATH=/usr/lib/openssl-1.0-compat/ %command%
After that it starts working again.
edit: it fail with -> 'ShadowOfMordor: /usr/lib/openssl-1.0-compat/libcrypto.so.1.0.0: no version information available'
Temporary fix:
- download and unpack openssl-1.0.2.k-1-x86_64.pkg.tar.xz (core repository)
- cp libcrypto.so.1.0.0 and libssl.so.1.0.0 to ~/.steam/steam/SteamApps/common/Company\ of\ Heroes\ 2/lib/<ARCH>/
package version(s):
local/lib32-openssl 1:1.1.0.e-1
local/openssl 1.1.0.e-1
local/openssl-1.0 1.0.2.k-3
% find . -name 'libcrypto.so*' -o -name 'libssl.so*'
./.local/share/Steam/ubuntu12_32/steam-runtime/amd64/lib/x86_64-linux-gnu/libssl.so.1.0.0
./.local/share/Steam/ubuntu12_32/steam-runtime/amd64/lib/x86_64-linux-gnu/libcrypto.so.1.0.0
./.local/share/Steam/ubuntu12_32/steam-runtime/i386/lib/i386-linux-gnu/libssl.so.1.0.0
./.local/share/Steam/ubuntu12_32/steam-runtime/i386/lib/i386-linux-gnu/libcrypto.so.1.0.0
Are you using "steam-native-runtime"? This is not really supported anyway.
Yes
$ find . -name 'libcrypto.so*' -o -name 'libssl.so*'
./.local/share/Steam/ubuntu12_32/steam-runtime/i386/lib/i386-linux-gnu/libssl.so.1.0.0
./.local/share/Steam/ubuntu12_32/steam-runtime/i386/lib/i386-linux-gnu/libcrypto.so.1.0.0
./.local/share/Steam/ubuntu12_32/steam-runtime/amd64/lib/x86_64-linux-gnu/libssl.so.1.0.0
./.local/share/Steam/ubuntu12_32/steam-runtime/amd64/lib/x86_64-linux-gnu/libcrypto.so.1.0.0
./.local/share/Steam/ubuntu12_32/steam-runtime.old/i386/lib/i386-linux-gnu/libssl.so.1.0.0
./.local/share/Steam/ubuntu12_32/steam-runtime.old/i386/lib/i386-linux-gnu/libcrypto.so.1.0.0
./.local/share/Steam/ubuntu12_32/steam-runtime.old/amd64/lib/x86_64-linux-gnu/libssl.so.1.0.0
./.local/share/Steam/ubuntu12_32/steam-runtime.old/amd64/lib/x86_64-linux-gnu/libcrypto.so.1.0.0
./.local/share/Steam/SteamApps/common/Sid Meier's Civilization V/libssl.so.1.0.0
./.local/share/Steam/SteamApps/common/Sid Meier's Civilization V/libcrypto.so.1.0.0
./.local/share/Steam/SteamApps/common/Borderlands 2/libssl.so.1.0.0
./.local/share/Steam/SteamApps/common/Borderlands 2/libcrypto.so.1.0.0
./.local/share/Steam/SteamApps/common/Company of Heroes 2/lib/x86_64/libssl.so.1.0.0 ## tmp fix
./.local/share/Steam/SteamApps/common/Company of Heroes 2/lib/x86_64/libcrypto.so.1.0.0 ## tmp fix
./.local/share/Steam/SteamApps/common/Company of Heroes 2/lib/x86_64/libcrypto.so
./.local/share/Steam/SteamApps/common/Company of Heroes 2/lib/x86_64/libssl.so
Edit:
"steam-runtime" also requires a "coh2 temporary fix"
No, I still have to copy the files (libcrypto.so.1.0.0, libssl.so.1.0.0) to run the game.
Maybe the launcher has a problem. (Small UI for settings like resolution, can be turned off)
https://www.feralinteractive.com/en/linux-games/
I use steam beta and testing and can confirm the games won't start. Even latest vulkan beta of Mad Max.
I will drop a line to Feral about this issue.
PS: If you pushed 25 or more commits to Mesa, Feral will you access to all there Linux titles.
http://www.feralinteractive.com/en/news/752/
We are aware of this issue and are working to see the cause. It is possible that the issue is Steam-side, but we will continue to investigate and hope to have everything working correctly again soon.
Best regards,
It seems that also Jetbrains Toolbox is affected...
After the update it can't update the info from the server anymore...
In the log I've found this line:
DownloadAction::replyReadyRead: Error: "Error creating SSL context (error:140A90C4:SSL routines:func(169):reason(196))"
I also think this issue's priority should be raised from Low to something higher, since it seems to break some precompiled binaries that link to an older version of openssl...
Anyway please recheck...
Thanks
Without it, it doesn't...
STEAM_RUNTIME_PREFER_HOST_LIBRARIES=0 steam
Although Steam-Runtime does indeed contain the correct version of libssl, the default behavior is now to use the local system's version instead if it exists. This is my experience with the beta builds, at least.
$ ./bin/games/Undertale/start.sh
Running Undertale
./UNDERTALE: /usr/lib32/libcrypto.so.1.0.0: version `OPENSSL_1.0.0' not found (required by ./UNDERTALE)
./UNDERTALE: /usr/lib32/libssl.so.1.0.0: version `OPENSSL_1.0.0' not found (required by ./UNDERTALE)