You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Binary incompatibilities in libstdc++ are a big source of problems for us. For snapshots we work around this with static linking. Is there any reason we shouldn't do this for our main distributables as well?
Sadly I've found this to not help whenever I've needed it to in the past. Frequently it's not just libstdc++ that's "too new", but it's alsolibc that's "too new".
I think that our snapshot builders have an old libc, but I don't actually know if they're linking against it. They may be picking up a libc that was installed with gcc 4.7 (a "too new" libc).
All-in-all, there'd be a few lingering questions for me:
This prevents dynamically loading any C++ code, is that desirable? This is largely relevant because we currently support dynamically opening syntax extensions. This would prevent anyone from adding optimization passes to LLVM I think, but that may not necessarily be the end of the world.
Does this actually fix the problem? The libc errors that I've seen after statically linking libstdc++ in the past worry me.
I suspect the answer is "yes, we should statically link libstdc++ for our distribution purposes." We may have to investigate the libc issue further, but this is a step forward!
Binary incompatibilities in libstdc++ are a big source of problems for us. For snapshots we work around this with static linking. Is there any reason we shouldn't do this for our main distributables as well?
cc #17194
cc @alexcrichton
The text was updated successfully, but these errors were encountered: