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
gfortran installation on 32bit userland, 64bit kernel: Configure for the same ABI as gcc #29241
Comments
Commit: |
comment:2
Tested on New commits:
|
Author: Matthias Koeppe |
comment:4
Anyone interested in reviewing this? |
comment:5
I don't know how to set up an environment where this change matters. |
Branch pushed to git repo; I updated commit sha1. New commits:
|
comment:7
Will the gfortran
|
comment:8
The equivalent option with clang is |
comment:10
Well, on OS X building for i386 no longer works. But I'll add clang support just in case for FreeBSD. |
Branch pushed to git repo; I updated commit sha1. New commits:
|
comment:13
Replying to @dimpase:
Tests ran at https://github.com/mkoeppe/sage/runs/493828325 Fixed: Remaining error: |
Branch pushed to git repo; I updated commit sha1. New commits:
|
Branch pushed to git repo; I updated commit sha1. New commits:
|
comment:16
Tests at https://github.com/mkoeppe/sage/actions/runs/53297072 |
comment:17
This fixed the remaining platform Ready for review. |
Branch pushed to git repo; I updated commit sha1. This was a forced push. New commits:
|
comment:20
I'll have to take your word for it that this fixes the problem. Some implementation nitpicks:
The form And if you explicitly want to call GCC here, shouldn't you use "gcc" instead of $CC?
Personally I would just write |
comment:21
Replying to @orlitzky:
The logs on the various machines are available at the links posted.
OK will do.
No, this needs to run the specific compiler that is configured!
OK will do. |
comment:22
Replying to @mkoeppe:
In particular, this is supposed to work also if CC is configured to be "gcc -m32". |
Branch pushed to git repo; I updated commit sha1. New commits:
|
comment:24
Replying to @mkoeppe:
Ah, ok. I was thinking more along the lines of, what if |
comment:25
Replying to @orlitzky:
Well, clang supports the I have not tested with icc; I don't know if Sage is known to build at all with this compiler. |
comment:26
There's some evidence (JuliaLang/julia#9145) that icc supports this option too on Linux (but possibly not on macOS - which is not a problem because 32-bit builds are no longer supported; and the fallback to |
comment:27
My concern isn't about the |
comment:28
Simply because we cannot link 32bit & 64bit into one executable |
comment:29
We need to build gfortran with the same ABI as the C compiler that is used, not some gcc that may be on the system. |
comment:30
Ok, that makes sense. I was focusing on the |
Reviewer: Michael Orlitzky |
comment:31
Replying to @orlitzky:
Right. In this situation, probably we would have to build the full gcc, possibly with bootstrapping.
I agree. If this ever becomes a problem, this can be fixed separately.
Thanks! |
Changed branch from u/mkoeppe/gfortran_on_32bit__configure_for_the_same_abi_as_gcc to |
The
i386-minimal
targets have build errors compilinggfortran
(see for example https://github.com/mkoeppe/sage/runs/463683795) because of ABI mismatch. These tests are running 32-bit distributions on a 64-bit kernel.gfortran
tries to build native (64-bit) but that fails because the corresponding architecture files are missing.CC: @dimpase @sagetrac-tmonteil @vbraun @jhpalmieri @orlitzky
Component: porting
Author: Matthias Koeppe
Branch/Commit:
c85c26f
Reviewer: Michael Orlitzky
Issue created by migration from https://trac.sagemath.org/ticket/29241
The text was updated successfully, but these errors were encountered: