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
Internal compiler error when compiling giac-1.4.9.45 with gcc-7.2.0 #24599
Comments
comment:1
Attachment: giac-1.4.9.45.log Because gcc links to mpfr/mpc and there is a change of soname from mpfr (so.4 to so.6) gcc needs to be rebuilt. Currently mpfr is only a built order dependency because there wasn't a change in soname for a long time it was fine. But it looks like this need to be changed. |
comment:2
OTOH, mpfr depends on gcc so gcc cannot depend on mpfr. If gcc really uses mpfr as it looks like then I think mpfr needs to be compiled before gcc, i.e. using the system gcc. |
comment:3
mpfr doesn't depend on gcc
but gcc does depend on mpfr - but only build order dependency, that is gcc is not rebuilt after an mpfr upgrade (which is fine as long as the soname doesn't change either)
Same thing for |
comment:4
Well, I can only say that just now mpfr was rebuilt after I reinstalled gcc and said |
comment:5
Ha! That's because of the way the gcc spkg - and the sage toolchain is set up. The gcc spkg ends with this
|
comment:6
As to the root cause what I don't understand is that gcc usually builds all its libraries itself, but with mpfr they depend on a shared library. I think that is the problem. |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
comment:8
I don't see an obvious solution... |
comment:9
The problem is that there is no logic in |
Branch: u/jdemeyer/ticket/24599 |
Commit: |
Author: Jeroen Demeyer |
New commits:
|
Branch pushed to git repo; I updated commit sha1. New commits:
|
comment:13
Good find on the minimal example. I think this will work so it is positive for me but Ralph should test it - if he can before setting the ticket to positive review. |
comment:14
It seems -O3 is needed for the ICE. What I did:
As expected this fails again with the same error. Then I put the snippet into |
comment:15
Then I did |
Reviewer: Ralf Stephan |
Changed branch from u/jdemeyer/ticket/24599 to |
gcc-7.2.0 is currently distributed with Sage. Complete log is attached.
Minimal crashing example:
The underlying reason is that, in #24353, the MPC upgrade did not change the
.so
version number but the MPFR upgrade did change the.so
version number. So now GCC is linking with the old MPFR but the new MPC which is what causes the breakage...Component: build
Author: Jeroen Demeyer
Branch/Commit:
c7b0dac
Reviewer: Ralf Stephan
Issue created by migration from https://trac.sagemath.org/ticket/24599
The text was updated successfully, but these errors were encountered: