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

libcxxwrap_julia for Julia 1.5: rebuild with GCC 8 #2236

Merged
merged 1 commit into from
Dec 11, 2020

Conversation

fingolfin
Copy link
Member

@fingolfin fingolfin commented Dec 9, 2020

This may fix the crash reported here: JuliaInterop/libcxxwrap-julia#75.

Once the binaries are built, I'll verify this locally with an artifact override.

CC @barche @benlorenz

@fingolfin
Copy link
Member Author

I tested this on a Linux machine, and can confirm: with the current 0.8.5 build of libcxxwrap_julia_jll it crashes in Pkg.test("CxxWrap") which goes away if I use the artifact produced by this PR!

@fingolfin fingolfin marked this pull request as ready for review December 9, 2020 16:13
@benlorenz
Copy link
Contributor

Thanks for testing. Do we need to build all dependent packages with gcc 8 as well when this is merged?

@barche
Copy link
Contributor

barche commented Dec 9, 2020

Since libcxxwrap-julia is mostly header-based, building the dependents with gcc8 is probably recommended.

@fingolfin
Copy link
Member Author

Of course right now we don't know whether this is a fix (i.e.: there is a compiler bug in GCC 7 which caused the original issue)l or a workaround (GCC 8+ optimize differently and hence hide the underlying bug). IMHO the tests @benlorenz performed give some plausibility to the former scenario; alas, that's no proof.

In the meantime, I suggest we merge this, and add preferred_gcc_version=v"8" or higher to all packages using libcxxwrap

@fingolfin
Copy link
Member Author

@giordano please merge?

@giordano
Copy link
Member

giordano commented Dec 11, 2020

Did you test only on macOS or also on Linux? Edit: also on Linux

@fingolfin
Copy link
Member Author

On both -- specifically, the crash only occurred on Linux so far, so I made that my priority.

@giordano
Copy link
Member

I was worried about the possible symbols with a too high GLIBCXX version (official Julia binaries are built with GCC 7 and that's the libstdc++ currently shipped with Julia), but

% nm libcxxwrap_julia.so|c++filt|grep -Eo "GLIBCXX_[0-9.]+"|sort -u
GLIBCXX_3.4
GLIBCXX_3.4.11
GLIBCXX_3.4.20
GLIBCXX_3.4.21
GLIBCXX_3.4.9

shows 3.4.21 at most, which corresponds to GCC v5.1. Looks all good

@giordano giordano merged commit f5999ec into JuliaPackaging:master Dec 11, 2020
@fingolfin fingolfin deleted the mh/libcxxwrap-gcc8 branch December 11, 2020 11:01
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

Successfully merging this pull request may close these issues.

4 participants