-
Notifications
You must be signed in to change notification settings - Fork 86
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
Update libstdc++.so.6.18 -> libstdc++.so.6.20 #31
Comments
c++ ABI is hell on earth. The reasonable thing to do is to statically link libstdc++ into the runtime (same thing would apply to libgcc) and let games statically link theirs. |
Well, I'd also be happy if this libstdc++ was removed from Steam runtime but for some reason unknown to me Steam wants to ship it so I'm at requesting that at least a non-obsolete version is shipped. |
I think it's a good thing to keep libstdc++ in the runtime. But game devs should be directed to statically link their libstdc++ in their binaries (and libgcc too). IMHO, the right way:
|
@sylware care to say which two command line options? Thanks. |
https://gcc.gnu.org/onlinedocs/gcc/Link-Options.html#Link-Options On Sun, Oct 16, 2016 at 7:57 AM, mbabuskov notifications@github.com wrote:
|
@sylware yes, I totally agree games should staticly link against libstdc++. |
and libgcc...
|
To make things sharper: the near-ultimate/definitive solution is to depend only
on the elf interpreter/libdl to dynamically load the
input/sound/3D|windowing/networking system specific libs with their confs and
dependencies into the steam client and game processes while minimizing
interferences with what's already installed on the system. Everything else
could make direct linux syscalls as statically linked code (for instance
threading related code). Try to break this... and that would allow alternative
elf interpreters and dynamic loaders to work (the important thing is to rely
only on basic symbol resolving, no elf version or any elf complex stuff).
This can be achieved in a carefully crafted SDK with proper guidelines. libSDL
seems to be a significant part of the solution, even adding cross-platform
sugar.
Bigger exes, but super Godly robust exes.
In reality, it is not easily possible to create dynamic binaries which can run
on a musl lib system or a gnu glibc system due to many libc runtime specific
symbols and shared internals. You would need a SDK switch to compile a gnu
glibc exe or a musl lib exe (this is sad).
|
Hey,
please update libstdc++. This should make Steam work out of the box for open drivers again for people with newer distributions. Insofar as I've understood should be without downsides as no ABI breakage.
The text was updated successfully, but these errors were encountered: