I recently switched to Nobara and I’m currently trying to get everything to work. I’ll be a bit spammy here looking for help, I hope that’s ok.
Today I would like to install my retail version of Unreal Tournament 2004 that came on a DVD.
I got the installer for the native Linux version to run and copied over the latest patch. But when I try to run the game i get
./ut2004-bin-linux-amd64: error while loading shared libraries: libstdc++.so.5: cannot open shared object file: No such file or directory
I tried to install libstdc++ through dnf and got
Package "libstdc++-15.1.1-2.fc42.x86_64" is already installed.
Package "libstdc++-15.1.1-2.fc42.i686" is already installed.
In /root/lib I habe a libstdc++.so.6
Does “.so.5” mean I need version 5. How do I get the version Unreal Tournament 2004 wants?
Or would it be easier to use the Windows version through Wine?
You’re much better off either running it in a container that provides the ancient libraries it needs or running the Windows version through Proton. Otherwise, my understanding is that if you were to theoretically provide it everything it needed, you’d basically be downgrading your distro to a version from 2004.
The Proton approach is what I would try.
If all else fails I’ll fall back to the Windows version, would make me very sad though.
Looking in the aur libstdc++5-bin package it’s getting it from Debian pre-compiled: https://packages.debian.org/bullseye/libstdc++5
I don’t know about Nobara, but if isn’t available there you can get the library from the same source and use
LD_LIBRARY_PATH
to load that library.That helped. Thank you very much! Crashes everytime I try to switch to fullscreen though, I’ll play around with it for a bit, hopefully I’ll figure it out.
Sounds like the best way would be to run the software in a period appropriate container.
Or find the source for libstdc++.so.5, compile it yourself and set the appropriate LD_LIBRARY_PATH.
Windows version is also problematic.
Do you have a current version of the game?
Lutris scripts are also often a good help: https://lutris.net/games/install/504/view
Well obviously the version on the DVD is ancient. I did apply the latest available patch, but that is also ancient.
I assume the steam version the Lutris script uses was updated at some point after the last retail patch.
Maybe. But more importantly, it downloads a new binary.
Right. I tried that patch now, but it still wants libstdc++.so.5
Bummer. Maybe you can get that from some other distro’s package and add to the library path.
But at that point going the Proton route is probably easier.
My recollection is that the DVD included that library, but it’s been a while…
The DVD includes SDL and OpenAL, but not libstdc++
Every time I’m getting close to abandoning Windows on my gaming rig I stumble in here and change my mind. I do run Linux on some other machines though.
To be honest I’m having way less problems than I was expecting. I would never want to switch back.
Honestly this is not a good reason.
Basically the only sticking point IMO would be whether the specific games you enjoy tend to have problems (often due to draconian DRM or anti cheat systems)
I have those reasons. Multiple games, and several other work-related software requirements. And related to this post I literally have the physical media for UT2004 sitting on my desk because I recently reinstalled it. Like I said, I’m still running Linux on multiple machines but I’m not yet comfortable cutting the cord.
My job is only 10% IT but I’m going to be having to deal with this more soon. I have at least a dozen PCs I’m going to have to make decisions about before Win10 EOL. Maybe I’ll be more confident soon after switching over more PCs. Or less. We’ll see, it will go one way or the other.
Usually you can symlink to other versions and it will work fine.
Well yeah, but how do i figure out which version I need and where do I get that version?
What I mean is, you create a link from “libxyz.wanted.so” to “libxyz.present.so”, so when the game is looking for the libxyz.wanted.so file, it actually reads the libxyz.present.so file.
You do this with the symbolic links andln -s
, but check the order of the parameters, as I always get those with long the first time around.