ferallinuxscripts icon indicating copy to clipboard operation
ferallinuxscripts copied to clipboard

Libcurl issue with openssl 1.1 [Tumbleweed][Arch]

Open moozaad opened this issue 7 years ago • 42 comments

I've raised this before on reddit but thought I'd better document it better.

Xcom and Madmax fail on opensuse tumbleweed due to steam runtime issues. I have no idea why you're including a copy of libcurl when it's a very common system library with a stable ABI.

For reference: https://abi-laboratory.pro/tracker/timeline/curl/ - ABI stability https://repology.org/metapackage/curl/information - ABI availability

Our work around is simply Mad Max/lib/x86_64> mv libcurl.so.4 libcurl.so.4_

My suggested fix is not to include libcurl, but instead install it as necessary from the distro.

moozaad avatar Jul 06 '17 13:07 moozaad

Thanks for the report @moozaad. We've been aware of this for some time. From what I know it should be resolved in newer games (released after May 2017) - we've swapped to libressl instead of openssl which works around the problem for now. Dawn Of War 3 for example should already have the change so if you still hit the same issue with there then let us know.

We appreciate noting the workaround, that should help any other users who come into contact with this issue while we work towards patching older games.

This problem came from linking our libcurl directly with the steam runtime version of libssl, calling itself libssl.1.0.0 but having OPENSSL_1.0.1 available. When steam swapped to preferring native libraries in this update it broke compatibility for us, as the SUSE (and other distro) versions of libssl.1.0.0 don't provide OPENSSL_1.0.1 .

We'd certainly prefer to use the system libcurl, but due to a few complications with the steam runtime we currently can't. Those should be resolved in due course.

mdiluz avatar Jul 06 '17 16:07 mdiluz

Yeh, 1.0.2 and 1.1 here. That solution is probably for the best. Is there an ETA for the older games' launchers to be moved to libressl?

moozaad avatar Jul 06 '17 16:07 moozaad

I don't have any specifics I'm afraid. We'll be patching in roughly priority order though based on the amount of user feedback, so I'll add yours to our pool.

If I get a chance I'll update this comment with a set list of games that need this fix and haven't received it already. That'll help users know when this workaround is needed.

mdiluz avatar Jul 07 '17 07:07 mdiluz

This issue is still present with madmax after the latest patch.

moozaad avatar Jul 30 '17 10:07 moozaad

I bought DiRT Rally today and had the same issue.

dotWAVE avatar Aug 14 '17 00:08 dotWAVE

@moozaad and @dotWAVE, unfortunately both of those games do not have this fix yet, they're on our list though

mdiluz avatar Aug 24 '17 16:08 mdiluz

Also worth noting that the steam-native-runtime package on Arch now depends on openssl-1.0 and so works around this issue for us in testing. So if you find yourself on this bug report as an Arch user you may want to install steam-native-runtime first and see if that fixes your issue.

mdiluz avatar Aug 24 '17 16:08 mdiluz

Warhammer still has the issue and that was updated just yesterday!

moozaad avatar Aug 25 '17 12:08 moozaad

@moozaad Yup, that's correct. We have the fix for Total War Warhammer still in production, unfortunately. I'll adjust the original post so it's less misleading.

mdiluz avatar Aug 25 '17 12:08 mdiluz

I expect this issue will begin to affect Ubuntu with 17.10 (releasing Oct 19th).

We're working to back-port patches to all old games affected, but for now extracting this zip into the lib/x86_64 directory in the game install path can work around the issue locally.

It's a steam runtime and system compatible versions of libressl, crypto and curl.

lib-x86_64-override.zip

mdiluz avatar Oct 16 '17 15:10 mdiluz

Can confirm that it does work with TWWH on tumbleweed. Is it it being backported to the whole library?

moozaad avatar Oct 16 '17 16:10 moozaad

That's the intention, to all games affected

mdiluz avatar Oct 17 '17 09:10 mdiluz

Is there an ETD for deployment? I'd like to close so bug reports :)

moozaad avatar Nov 08 '17 10:11 moozaad

Hi @moozaad, thanks for the reminder.

Things are moving, slowly, but Dirt Rally has a feral_linux_fixes steam branch (password ferallinuxfixes) now with these fixes, we'll be testing this version before going ahead with the other games.

@dotWAVE if you still have the issue, could you try the above branch as well?

mdiluz avatar Nov 08 '17 14:11 mdiluz

For the record, this also affects Company of Heroes 2.

rombert avatar Jan 10 '18 20:01 rombert

@mdiluz I am unable to use the ferallinuxfixes beta access code.

dotWAVE avatar Jan 20 '18 17:01 dotWAVE

Sorry, the branch had been upgraded to feral_support_branch with password feraldirtsupport.

Hopefully, that works for you while we work on releasing it fully.

mdiluz avatar Jan 22 '18 11:01 mdiluz

Launching the game from the command line like that isn't supported and is likely to cause issues. You should launch steam from the command line, and the game from steam, to see the output from a normal launch.

The crash .dmp file is a Google breakpad dump file, containing a call stack and current register values for the crash, among a small amount of system information.

mdiluz avatar Jan 22 '18 15:01 mdiluz

I don't think that is related to libcurl. Raise a new ticket/issue?

moozaad avatar Jan 22 '18 15:01 moozaad

OK, fixes have made their way onto steam for Middle Earth: Shadow of Mordor, Alien Isolation, Grid Autosport, Medieval 2, XCOM 2, Tomb Raider, F1 2015, Life Is Strange and Dawn of War 2 (and expansions). Big apologies for the long delay there - the bonus side is that these kinds of fixes are now much easier to make.

If you don't see an update immediately, then it may just be filtering through steam servers. If this particular issue still happens with those games after a few days, then let us know here.

To note, Deus Ex: Mankind Divided, Total War: Warhammer, Mad Max (on the non-Vulkan branch) and Shogun 2 (and expansions) will still need the workaround and will likely be addressed separately.

mdiluz avatar Feb 23 '18 16:02 mdiluz

It's a shame you didn't get the deus ex:MD fix in before the humble bundle this month! For anyone reading this, the quickest fix is still to rename /lib/x86_64/libcurl.so.4 to something else (eg. libcurl.so.4_ ). Quickest way to get there is right click the game in steam library->properties->local files(tab)->browse local files.

moozaad avatar Mar 30 '18 10:03 moozaad

I'm still experiencing this on Tomb Raider. renaming libcurl.so.4 worked though :)

fosspill avatar Apr 11 '18 12:04 fosspill

@moozaad that did the trick for me, too. Also had to disable one of my displays to be able to start TombRaider in fullscreen. I need to finish this game before Rise of the Tomb Raider get's released ;)

SebastianPfliegel avatar Apr 13 '18 18:04 SebastianPfliegel

This fixes Total War War Hammer too thanks @moozaad

virtualme1 avatar Jul 30 '18 10:07 virtualme1

Confirming that for Company of Heroes 2 the fix works.

rombert avatar Sep 26 '18 22:09 rombert

I'm still experiencing similar issues on XCOM 2. The game launches fine after running the fix in the linked reddit post.

ollien avatar Oct 23 '18 00:10 ollien

No updates for this yet? Mad Max (vulkan version) is failing for me on Gentoo. I have openssl-1.0.2 installed.

/mnt/media/SteamLibrary/steamapps/common/Mad Max/bin/MadMax: /usr/lib64/libcrypto.so.1.0.0: no version information available (required by /mnt/media/SteamLibrary/steamapps/common/Mad Max/bin/MadMax)
/mnt/media/SteamLibrary/steamapps/common/Mad Max/bin/MadMax: /usr/lib64/libcurl.so.4: no version information available (required by /mnt/media/SteamLibrary/steamapps/common/Mad Max/bin/MadMax)

I am running with STEAM_RUNTIME=0, so I might be seeing a different issue?

AzP avatar Dec 30 '19 16:12 AzP

I'll test it on Gentoo if I have time tonight.

dotWAVE avatar Dec 30 '19 18:12 dotWAVE

No updates for this yet? Mad Max (vulkan version) is failing for me on Gentoo. I have openssl-1.0.2 installed.

/mnt/media/SteamLibrary/steamapps/common/Mad Max/bin/MadMax: /usr/lib64/libcrypto.so.1.0.0: no version information available (required by /mnt/media/SteamLibrary/steamapps/common/Mad Max/bin/MadMax)
/mnt/media/SteamLibrary/steamapps/common/Mad Max/bin/MadMax: /usr/lib64/libcurl.so.4: no version information available (required by /mnt/media/SteamLibrary/steamapps/common/Mad Max/bin/MadMax)

I am running with STEAM_RUNTIME=0, so I might be seeing a different issue?

Sorry I took this long to get back to this. The game runs for me without any intervention. I am currently running openssl-1.1.1d-r3 and STEAM_RUNTIME is not set. Using a 17.1 profile.

dotWAVE avatar Jan 04 '20 04:01 dotWAVE

No updates for this yet? Mad Max (vulkan version) is failing for me on Gentoo. I have openssl-1.0.2 installed.

/mnt/media/SteamLibrary/steamapps/common/Mad Max/bin/MadMax: /usr/lib64/libcrypto.so.1.0.0: no version information available (required by /mnt/media/SteamLibrary/steamapps/common/Mad Max/bin/MadMax)
/mnt/media/SteamLibrary/steamapps/common/Mad Max/bin/MadMax: /usr/lib64/libcurl.so.4: no version information available (required by /mnt/media/SteamLibrary/steamapps/common/Mad Max/bin/MadMax)

I am running with STEAM_RUNTIME=0, so I might be seeing a different issue?

Sorry I took this long to get back to this. The game runs for me without any intervention. I am currently running openssl-1.1.1d-r3 and STEAM_RUNTIME is not set. Using a 17.1 profile.

Weird! It was working for me last February, but after running a full emerge -uDvatN world in mid December, it didn't start any more. I am running the vulkan beta version, but reverting back to the older non-beta didn't solve the issue of it not starting. If I do a "Verify game files" in Steam, it re-installs 2 libraries that esteam deletes, but then it fails to start because of other missing libraries. It seems like the "no version available" warning isn't the issue though, others are reporting that that warning is not important, as long as the library is of the right version. I have the older, "compatibility" versions installed, since esteam emerges those if needed.

I've also updated to the 17.1 profile, running unstable 64-bit, and have done a complete update of everything. I'm running with the latest kernel and amdgpu drivers.

AzP avatar Jan 04 '20 17:01 AzP