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

Update libstdc++.so.6.18 -> libstdc++.so.6.20 #31

Open
nanonyme opened this issue Mar 20, 2015 · 8 comments
Open

Update libstdc++.so.6.18 -> libstdc++.so.6.20 #31

nanonyme opened this issue Mar 20, 2015 · 8 comments

Comments

@nanonyme
Copy link

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.

@sylware
Copy link

sylware commented Apr 18, 2015

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.
More over, it's compiler/runtime specific. It's so hard to get right, there is near 0 "ok" c++ compiler/runtime for "production".
And look how hard and long it is to code an alternative (clang).
c++ is not something sane.

@nanonyme
Copy link
Author

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.

@sylware
Copy link

sylware commented Apr 19, 2015

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).
Since gcc 4.7 it's 2 gcc command line options, then super ultra easy to add.
Keeping that lib in the runtime is a kind of guardian against "you don't have the latest c++ ABI/feature on your gnu/linux system then your game won't run". The libc/GL/x11/alsa system libs are already too much and they rely on simple C entry points. Let me guess what will happen on the medium term with a libstdc++ which evolves super fast due to the current c++ standardisation body fenzy. With the insanity of the c++ ABI... it's unreasonnable. Moreover maybe clang c++ ABI will diverge from the gcc c++ ABI (or be just unable to be really compatible since it's hell on earth). BTW, no idea of intel c++ ABI direction.

IMHO, the right way:

  • keep the shared libstdc++ into the runtime
  • statically link steam client/runtime with libstdc++ (and libgcc)
  • direct games devs to statically link their games as much as they can
    But the end decision belongs to valve technical management staff.

@mbabuskov
Copy link

@sylware care to say which two command line options? Thanks.

@sylware
Copy link

sylware commented Oct 17, 2016

https://gcc.gnu.org/onlinedocs/gcc/Link-Options.html#Link-Options
static-libgcc ... there is an application for c++ apps too, like static
libstdc++

On Sun, Oct 16, 2016 at 7:57 AM, mbabuskov notifications@github.com wrote:

@sylware https://github.com/sylware care to say which two command line
options? Thanks.


You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
#31 (comment),
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAOBJKjRCrQTGoJhzadZTeGcltr7lLhJks5q0hEQgaJpZM4DyQMz
.

@nanonyme
Copy link
Author

@sylware yes, I totally agree games should staticly link against libstdc++.
Please, Valve, make that an official recommendation if not a requirement to all future games. It will save tons of maintenance time.

@sylware
Copy link

sylware commented Sep 22, 2018 via email

@sylware
Copy link

sylware commented Sep 24, 2018 via email

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

3 participants