Surviving Mars - Fails to start (Debian or Devuan stable) [replies say also Ubuntu < 19.04]

  • We have updated our Community Code of Conduct. Please read through the new rules for the forum that are an integral part of Paradox Interactive’s User Agreement.

Thingy Whatsit

Corporal
24 Badges
Feb 24, 2018
49
1
  • Majesty 2 Collection
  • Surviving Mars: First Colony Edition
  • Cities in Motion
  • Prison Architect
  • Cities: Skylines Industries
  • Surviving Mars: First Colony Edition
  • Shadowrun Returns
  • Stellaris: Distant Stars
  • Surviving Mars: Digital Deluxe Edition
  • Cities: Skylines - Green Cities
  • Age of Wonders III
  • Stellaris: Synthetic Dawn
  • Surviving Mars
  • Stellaris - Path to Destruction bundle
  • Stellaris: Leviathans Story Pack
  • Stellaris
  • Crusader Kings II: Horse Lords
  • Pillars of Eternity
  • Cities: Skylines
  • Teleglitch: Die More Edition
Description
Fails to start (Debian or Devuan stable)
Linux
SteamWhat is your game version?
Current as of 2021-03-18Do you have Space Race installed?
YesPlease explain your issue is in as much detail as possible.
Running the game from a terminal (with Steam configured to open an xterm rather than launch the game so that the environment is correctly set up), I get the following:

./MarsSteam: /lib/x86_64-linux-gnu/libm.so.6: version `GLIBC_2.29' not found (required by ./MarsSteam)

The cause is that it is compiled against a newer version of libc6 than is available in Devuan stable or Debian stable.

The fix is to recompile the game on Debian buster or Devuan beowulf rather than on whatever version of (presumably) Ubuntu was used. Now, obviously, I can't do that…

(Ugh. It's required that I attach a file – and that wasn't clear until I clicked on ‘submit’ – but, as I've pasted the error text above, it's pointless…)Can you replicate the issue?
As it's a linkage problem caused by the build environment, it's 100% reproducible.Attachments
File(s) attached
 

Attachments

  • linkage.txt
    103 bytes · Views: 0
Last edited:
I'm afraid this game is only officially supported on Ubuntu, no other distro. I'll leave this open for QA to look at, but I doubt this will be addressed in any future patch.

Sorry about that!
 
Game is running without problems on Arch Linux - so you are right on the GLIBC problem.

I've seen other reports from users on Ubuntu 18. The minimum requirements for this game is (according to the store) Ubuntu 14, so this should work on Ubuntu 18 (and Debian stable by extension if only unofficially), but with the new update it doesn't.

Paradox should increase the minimum requirements with each update or provide backwards compatibility (but they don't even try to do that for Windows judging this new patch...).
 
“Ubuntu 18" and "Ubuntu 14" could each refer to either of two major releases (18.04 or 18.10; 14.04 or 14.10). Causing ambiguity by omitting part of the name of a major release (in this case, the month number) is… well, not good.

Anyway, I see a fresh update. The problem remains.
 
I've seen other reports from users on Ubuntu 18. The minimum requirements for this game is (according to the store) Ubuntu 14, so this should work on Ubuntu 18 (and Debian stable by extension if only unofficially), but with the new update it doesn't.
Unfortunately my Ubuntu installation is a VM so can't run this game anyway. Can you confirm its not working on these supported distros? And if so is it also this GLIBC issue or something else.
Paradox should increase the minimum requirements with each update or provide backwards compatibility
I'll check into that, I suspect that they need to be increased to 18.04 .
(but they don't even try to do that for Windows judging this new patch...).
The Win7 bug is fixed already.
 
Unfortunately my Ubuntu installation is a VM so can't run this game anyway. Can you confirm its not working on these supported distros? And if so is it also this GLIBC issue or something else.

I can only point you to the reports I've seen on the steam boards. Here's a user complaining the game does not start on Ubuntu 18.04.5 LTS. One comment below, another user with the same problem on Linux Mint 19.3.

EDIT: I can't post the link, it is flagged as spam. Comments are on the Steam announcement "Tourism update hotfix 2 - patch notes"

Both systems have GLIBC 2.27, so less than the required version by Surviving Mars (2.29 according to the OP).
 
  • 1
Reactions:
Unfortunately my Ubuntu installation is a VM so can't run this game anyway. Can you confirm its not working on these supported distros? And if so is it also this GLIBC issue or something else.

I'll check into that, I suspect that they need to be increased to 18.04 .

The Win7 bug is fixed already.
The game does not start on Ubuntu 18.04 LTS due to the GLIBC2 .29 linking. Latest GLIBC supported on ubuntu 18.04 is version 2.27 according to command:

Code:
# strings /lib/x86_64-linux-gnu/libc.so.6 | grep GLIBC

GLIBC_2.2.5
GLIBC_2.2.6
[...}
GLIBC_2.26
GLIBC_2.27
GLIBC_PRIVATE
GNU C Library (Ubuntu GLIBC 2.27-3ubuntu1.4) stable release version 2.27.

Therefore, the game does not start on my Ubuntu 18.04 LTS system. Running the Windows version on Steam with the Proton compatibility layer is possible but keyboard and mouse input freeze every couple of sols. So it is playable with frequent saves. Unfortunately I cannot update my OS to 20.04 due to other compatibility issues.

On my laptop running Ubuntu 20.04 LTS with GLIBC 2.31 the game works fine:

Code:
# strings /lib/x86_64-linux-gnu/libc.so.6 | grep GLIBC
GLIBC_2.2.5
GLIBC_2.2.6
[...]
GLIBC_2.26
GLIBC_2.27
GLIBC_2.28
GLIBC_2.29
GLIBC_2.30
GLIBC_PRIVATE
GNU C Library (Ubuntu GLIBC 2.31-0ubuntu9.2) stable release version 2.31.

It is entirely unnecessary to require GLIBC 2.29, compiling the game on a Ubuntu 18.04 LTS system and updating requirements accordingly would fix the problem.

The requirements cannot be lower than Ubuntu 18.04 LTS in that case, since Ubuntu 16.04 LTS only supports GLIBC versions 2.23:

Code:
# strings /lib/x86_64-linux-gnu/libc.so.6 | grep GLIBC
GLIBC_2.2.5
GLIBC_2.2.6
[...]
GLIBC_2.22
GLIBC_2.23
GLIBC_PRIVATE
GNU C Library (Ubuntu GLIBC 2.23-0ubuntu11.2) stable release version 2.23, by Roland McGrath et al.

At least provide the previous version without the Tourism update via the beta channel, since it worked perfedtly on Ubuntu 18.04.
 
“Ubuntu 18" and "Ubuntu 14" could each refer to either of two major releases (18.04 or 18.10; 14.04 or 14.10). Causing ambiguity by omitting part of the name of a major release (in this case, the month number) is… well, not good.

Anyway, I see a fresh update. The problem remains.
Actually the version number has 3 parts and optionally the identifier LTS for "Long Term Support" . However, since the GLIBC version never changes for a major release, it is not necessary to specify the point release number. Also, the game should be compiled exclusively on LTS releases, which are normally x.04 releases. So there should implicitely be no ambiguity, when specifying "Ubuntu 18" as a minimum requirement.

On the other hand, since the current game requires GLIBC 2.29, it has not been compiled in a sensible environment, as none of the LTS releases causes a GLIBC 2.29 dependency:

Ubuntu 16.04.7 LTSUbuntu GLIBC 2.23-0ubuntu11.2
Ubuntu 18.04.5 LTSUbuntu GLIBC 2.27-3ubuntu1.4
Ubuntu 20.04.2 LTSUbuntu GLIBC 2.31-0ubuntu9.2

So it might be appropriate to specify the output of `lsb_release -s -d` as the minimum OS requirement ;-/. However, I would rather opt to fix the build environment to adhere to professional standards ;-).
 
Last edited:
Thank you wolfmanx for stating the issue so clearly. The game was running fine on my system before the update. Now I'm getting the error complaining that my GLIBC version isn't high enough.

.steam/debian-installation/steamapps/common/Surviving Mars/MarsSteam: /lib/x86_64-linux-gnu/libm.so.6: version `GLIBC_2.29' not found

I'm on a Debian stable based distro and currently, there is no upgrade path for Debian stable. The Debian stable GLIBC version is 2.28-10

$ lsb_release -s -d
Debian GNU/Linux 10 (buster)

$ ldd --version
ldd (Debian GLIBC 2.28-10) 2.28


Paradox, please kindly recompile against Ubuntu 18.04.5 LTS or earlier so it will again work on Ubuntu 18.04.5 LTS as advertised and incidentally on my unsupported system as well.
 
MAC-3487
I have found a bug report on this problem, and have linked this thread into it. I'll be following up with my management in Paradox after the Easter break.

I'm also trying to get the published requirement updated to Ubuntu 18.04
 
Working here now, but only because I had to upgrade libc6 (and deal with dependencies, notably replacing python3.7 with python3.9) to get something else (for which minimum requirements are correctly stated) working.

There is, however, a separate problem which, while a bug or at least a misfeature, doesn't belong in this thread.
 
I'm on a Debian stable based distro and currently, there is no upgrade path for Debian stable. The Debian stable GLIBC version is 2.28-10

$ lsb_release -s -d
Debian GNU/Linux 10 (buster)

$ ldd --version
ldd (Debian GLIBC 2.28-10) 2.28


Paradox, please kindly recompile against Ubuntu 18.04.5 LTS or earlier so it will again work on Ubuntu 18.04.5 LTS as advertised and incidentally on my unsupported system as well.
Like @redcat11 I'm also on Debian 10, and found a workaround with Steam.

When I right-click on the game entry > Properties ... > Compatibility > enable "Force the use of a specific Steam Play compatibility tool" and go down the list of trying tools going and finally choose "Proton 6.3-2" - Proton is Steam's tool based on WINE - then the game runs!

I don't know enough about how WINE works to reason about how using Proton addresses the glibc incompatibility, or even why it should work at all given that WINE was intended to run Windows executables, but the game speed seems fine to me based on an hour of playing through the tutorials with the Mods disabled.

I tried 2 other workarounds. I looked into pinning to the older working February patch of the game, and read a few Steam community guides that explain how to edit Steam's various configuration files to choose a specific game version, but didn't go through with any of that because that seems more fragile that trying Steam's compatibility tools and I'm really looking forward to the new content recently announced for the game. Additionally, I tried creating a Singularitry container based on Ubuntu 20.04 and tried installing Steam inside it and running it with the GPU container API, but never got past runtime crashes seemingly from X Errors that perhaps are due to some unclear privileges that the container needs.

Many thanks to @AndrewT for thoughtfully answering my support ticket #225696 and pointing me to this thread.
 

Attachments

  • Screenshot_2021-04-24_23-17-58.png
    Screenshot_2021-04-24_23-17-58.png
    109,8 KB · Views: 0
Like @redcat11 I'm also on Debian 10, and found a workaround with Steam.

When I right-click on the game entry > Properties ... > Compatibility > enable "Force the use of a specific Steam Play compatibility tool" and go down the list of trying tools going and finally choose "Proton 6.3-2" - Proton is Steam's tool based on WINE - then the game runs!

I don't know enough about how WINE works to reason about how using Proton addresses the glibc incompatibility, or even why it should work at all given that WINE was intended to run Windows executables, but the game speed seems fine to me based on an hour of playing through the tutorials with the Mods disabled.

I tried 2 other workarounds. I looked into pinning to the older working February patch of the game, and read a few Steam community guides that explain how to edit Steam's various configuration files to choose a specific game version, but didn't go through with any of that because that seems more fragile that trying Steam's compatibility tools and I'm really looking forward to the new content recently announced for the game. Additionally, I tried creating a Singularitry container based on Ubuntu 20.04 and tried installing Steam inside it and running it with the GPU container API, but never got past runtime crashes seemingly from X Errors that perhaps are due to some unclear privileges that the container needs.

Many thanks to @AndrewT for thoughtfully answering my support ticket #225696 and pointing me to this thread.
Your method is not a workaround. Proton downloads the Windows version of the game and starts it. So it has nothing to do with the raised glibc requirements on Linux since the Tourism update (which was probably introduced without a good reason and by mistake).
 
Your method is not a workaround. Proton downloads the Windows version of the game and starts it. So it has nothing to do with the raised glibc requirements on Linux since the Tourism update (which was probably introduced without a good reason and by mistake).
My mistake and thank you for the explanation!

Yes, it would be great if Paradox can recompile the game on an older distribution so that the game can run on currently supported distributions.
 
Unfortunately my Ubuntu installation is a VM so can't run this game anyway. Can you confirm its not working on these supported distros? And if so is it also this GLIBC issue or something else.
To check for this particular issue you don't actually need to run the game. Just go to the game directory and run "ldd MarsSteam". If the system libraries don't match the game, it will tell you.
 
Just an update.
Someone gave me a pre-compiled glibc 2.29 library. Using LD_PRELOAD in the launch option (Steam settings) made the game work again on my Ubuntu 18.04 and should also have the same effect on other systems.
But this is only a workaround, not a fix.
 
Just an update.
Someone gave me a pre-compiled glibc 2.29 library. Using LD_PRELOAD in the launch option (Steam settings) made the game work again on my Ubuntu 18.04 and should also have the same effect on other systems.
But this is only a workaround, not a fix.
Could you provide any details on that (which glibc version, which *.so did you put into preload)?

Getting glibc binaries is not hard at all you can download any version from any distributive repository or compile it by yourself from sources. BUT! glibc is not a "regular" library, AFAIK forcing an app to use your own glibc without recompiling an app is far from trivial, my own attempts to use LD_LIBRARY_PATH/LD_PRELOAD with "mars" were failed and I don't have enough time to go further in that way.

Are here any support/devs/etc? Any plans for fix?