Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Libcurl issue with openssl 1.1 [Tumbleweed][Arch] #2

Open
moozaad opened this issue Jul 6, 2017 · 42 comments
Open

Libcurl issue with openssl 1.1 [Tumbleweed][Arch] #2

moozaad opened this issue Jul 6, 2017 · 42 comments

Comments

@moozaad
Copy link

moozaad commented Jul 6, 2017

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.

@mdiluz
Copy link
Contributor

mdiluz commented Jul 6, 2017

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.

@moozaad
Copy link
Author

moozaad commented Jul 6, 2017

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?

@mdiluz
Copy link
Contributor

mdiluz commented Jul 7, 2017

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.

@moozaad
Copy link
Author

moozaad commented Jul 30, 2017

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

@dotWAVE
Copy link

dotWAVE commented Aug 14, 2017

I bought DiRT Rally today and had the same issue.

@mdiluz
Copy link
Contributor

mdiluz commented Aug 24, 2017

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

@mdiluz
Copy link
Contributor

mdiluz commented Aug 24, 2017

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.

@moozaad
Copy link
Author

moozaad commented Aug 25, 2017

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

@mdiluz
Copy link
Contributor

mdiluz commented Aug 25, 2017

@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
Copy link
Contributor

mdiluz commented Oct 16, 2017

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

@moozaad
Copy link
Author

moozaad commented Oct 16, 2017

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

@mdiluz
Copy link
Contributor

mdiluz commented Oct 17, 2017

That's the intention, to all games affected

@moozaad
Copy link
Author

moozaad commented Nov 8, 2017

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

@mdiluz
Copy link
Contributor

mdiluz commented Nov 8, 2017

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?

@rombert
Copy link

rombert commented Jan 10, 2018

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

@dotWAVE
Copy link

dotWAVE commented Jan 20, 2018

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

@mdiluz
Copy link
Contributor

mdiluz commented Jan 22, 2018

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
Copy link
Contributor

mdiluz commented Jan 22, 2018

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.

@moozaad
Copy link
Author

moozaad commented Jan 22, 2018

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

@mdiluz
Copy link
Contributor

mdiluz commented Feb 23, 2018

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.

@moozaad
Copy link
Author

moozaad commented Mar 30, 2018

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.

@fosspill
Copy link

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

@SebastianPfliegel
Copy link

@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 ;)

@virtualme1
Copy link

This fixes Total War War Hammer too thanks @moozaad

@rombert
Copy link

rombert commented Sep 26, 2018

Confirming that for Company of Heroes 2 the fix works.

@ollien
Copy link

ollien commented Oct 23, 2018

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

@AzP
Copy link

AzP commented Dec 30, 2019

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?

@dotWAVE
Copy link

dotWAVE commented Dec 30, 2019

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

@dotWAVE
Copy link

dotWAVE commented Jan 4, 2020

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.

@AzP
Copy link

AzP commented Jan 4, 2020

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.

@dotWAVE
Copy link

dotWAVE commented Jan 4, 2020

I've added STEAM_RUNTIME=0 %command% to the launch options and I still don't get the library version warnings that you are. This is also on vulkan_beta which I hadn't mentioned before.

@AzP
Copy link

AzP commented Jan 13, 2020

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.

Do you have dev-libs/openssl-compat-1.0.2u installed as well? Or will Mad Max find and use the 1.1 library automatically?

Edit: BTW, Alien Isolation seems to work for me, without issues.

Edit2: Is it possible it is related to the 17.1 profile upgrade, when transitioning the /usr/lib directory? My Mad Max is crashing with a SIGSEV 11 upon starting, could that be the cause? I've e-mailed Feral's support, but can't get past "Please try with STEAM_RUNTIME=1 or switch to Ubuntu".

Edit3: @dotWAVE, are you running curl with the openssl or libressl USE flag? I'm running with openssl.

@dotWAVE
Copy link

dotWAVE commented Jan 14, 2020

I do not have dev-libs/openssl-compat emerged (any version). net-misc/curl is built with openssl.

@AzP
Copy link

AzP commented Jan 17, 2020

I do not have dev-libs/openssl-compat emerged (any version). net-misc/curl is built with openssl.

Have you run the 'esteam' script, from the steam overlay?

@dotWAVE
Copy link

dotWAVE commented Jan 17, 2020

Have you run the 'esteam' script, from the steam overlay?

No, I installed steam with the manual method rather than an overlay.

@AzP
Copy link

AzP commented Jan 17, 2020 via email

@Samsagax
Copy link

Samsagax commented Feb 1, 2021

Hello. Sorry to necropost on this one. But I encountered this issue and the game DiRT Rally only outputs a SIGSEGV (11) and dump created. I'm on ArchLinux playing on steam big picture mode (GamerOS-like setup)
After trying to run the game through the terminal and lds the binary the culprit was libcurl not having versión information.
The branch suggested here (feral_support_branch) worked for me without any workarounds. Is it possible to release that branch as the regular game?

@brianstamper
Copy link

Same issue as Samsagax, except not using big picture mode. Where is this branch and how does one use it? I don't see anything under github.com/FeralInteractive that looks right.

@Samsagax
Copy link

Same issue as Samsagax, except not using big picture mode. Where is this branch and how does one use it? I don't see anything under github.com/FeralInteractive that looks right.

This is the fix I mentioned: #2 (comment)

@brianstamper
Copy link

Same issue as Samsagax, except not using big picture mode. Where is this branch and how does one use it? I don't see anything under github.com/FeralInteractive that looks right.

This is the fix I mentioned: #2 (comment)

Yes, but where is this branch, and how does one use it? I'm fine in general with cloning git repos and doing builds and such, but I do not see this branch anywhere nor do I know how to apply it to the install of the game I have in my Steam library.

@Samsagax
Copy link

Samsagax commented Apr 29, 2021

Yes, but where is this branch, and how does one use it? I'm fine in general with cloning git repos and doing builds and such, but I do not see this branch anywhere nor do I know how to apply it to the install of the game I have in my Steam library.

Inside Steam, go to the game, right click on it > Properties..., then on the side look for Betas, inside the Beta access code field put feraldirtsupport and click on Check button. After that you will have the option to opt-in a beta branch and select the one that says feral_support_branch. The game will update and you can test.

Hope this helps.

@brianstamper
Copy link

Yes, but where is this branch, and how does one use it? I'm fine in general with cloning git repos and doing builds and such, but I do not see this branch anywhere nor do I know how to apply it to the install of the game I have in my Steam library.

Inside Steam, go to the game, right click on it > Properties..., then on the side look for Betas, inside the Beta access code field put feraldirtsupport and click on Check button. After that you will have the option to opt-in a beta branch and select the one that says feral_support_branch. The game will update and you can test.

Hope this helps.

Hey that worked! Thank you very much.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

12 participants