-
Notifications
You must be signed in to change notification settings - Fork 21
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
fix #251: adjust ostringstream constructor for recent libstdc++ #252
Conversation
edit: please ignore Unfortunately adding this new libstdc++ broke exactly the show method mentioned in #251
|
it turns out only the default constructor for ostringstream requires GLIBCXX_3.4.26 but not the one for the empty string
a0ae937
to
49f1410
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
nice!
@benlorenz I tried this and see no adverse effects:
|
The print bug was with my previous try where I pulled in the new libstdc++. I added a version bump so we can directly make a new release if needed, feel free to merge this as soon as the tests are done. |
we applied such fix in oscar-system/Polymake.jl#252 due to oscar-system/Polymake.jl#251
we applied such fix in oscar-system/Polymake.jl#252 due to oscar-system/Polymake.jl#251
Better fix this time, just 4 characters. As it turns out, only the default constructor for ostringstream requires
GLIBCXX_3.4.26
, we can just use an empty string instead.---- obsolete first try:
@fingolfin @kalmarek
Unfortunately just dlopening a new
libstdc++.so.6.0.26
doesn't help because theDT_NEEDED
oflibpolymake.so
is justlibstdc++.so.6
which will still resolve to the old one from julia which is also in memory.But since we love having more and more dependencies we can patch the library with
patchelf
to use the full filename of the correctlibstdc++
. I tried looking for options to gcc to do something similar at link time but that seems impossible.PS: all of the above applies only to Sys.islinux()