Opened 3 years ago
Closed 3 years ago
#29162 closed defect (fixed)
gfortran compile error on debian-jessie-minimal
Reported by: | mkoeppe | Owned by: | |
---|---|---|---|
Priority: | major | Milestone: | sage-9.1 |
Component: | build | Keywords: | |
Cc: | dimpase, fbissey, vbraun | Merged in: | |
Authors: | Matthias Koeppe | Reviewers: | Volker Braun |
Report Upstream: | N/A | Work issues: | |
Branch: | 1c36ede (Commits, GitHub, GitLab) | Commit: | 1c36ede54da80ed5bdbf36e3f6e98c0983dfb5dd |
Dependencies: | Stopgaps: |
Description (last modified by )
This is with gcc version 4.9.2 (Debian 4.9.2-10+deb8u2).
https://github.com/mkoeppe/sage/runs/430688708?check_suite_focus=true
2020-02-07T01:07:37.4585503Z In file included from ../../src/gcc/config/i386/i386.c:98:0: 2020-02-07T01:07:37.4586109Z ../../src/gcc/config/i386/x86-tune-costs.h:32:56: error: uninitialized const member 'stringop_algs::stringop_strategy::max' 2020-02-07T01:07:37.4586420Z {rep_prefix_1_byte, {{-1, rep_prefix_1_byte, false}}}}; 2020-02-07T01:07:37.4586500Z ^
This ticket fixes this by building gfortran
using system g++
without passing the -std=gnu++11
flags.
9.1.beta5: https://github.com/mkoeppe/sage/runs/462462734
9.1.beta5 + this ticket: https://github.com/mkoeppe/sage/runs/463683795
Change History (16)
comment:1 Changed 3 years ago by
comment:2 Changed 3 years ago by
On this system, the gcc
package (including fortran) can be installed successfully, but not gfortran
.
comment:3 Changed 3 years ago by
if gcc is built then gfortran will be built with the new gcc.
apparently gfortran is more picky.
I really don't see a point of not having gfortran as a pre-req on Linux.
comment:4 Changed 3 years ago by
Branch: | → u/mkoeppe/gfortran_compile_error_on_debian_jessie |
---|
comment:5 Changed 3 years ago by
Commit: | → 833ab0e56542413009d4fac4108b421cdace404c |
---|---|
Dependencies: | → #29052 |
What's happening here is that gfortran 9.2 cannot build without bootstrapping when the old g++ is invoked as g++ -std=gnu++11
. This is apparently a build configuration untested by upstream. The ticket fixes it by avoiding the -std=gnu++11
flag (which is globally added to $CXX
by build/pkgs/gcc/spkg-configure.m4
on old compilers).
The ticket is on top of #29052 (which needs review...)
Tests at https://github.com/mkoeppe/sage/actions/runs/44025504
New commits:
5244060 | Split out build/bin/sage-build-env-config from sage-env-config
|
96b6c58 | src/bin/sage: Add -buildsh
|
3491a9d | build/make/deps, build/make.Makefile.in: Source build/bin/sage-build-env-config for building sagelib and for script packages
|
11f6797 | Document 'sage -buildsh' in the output of 'sage -advanced'
|
ecb6a8b | src/doc/en/reference/repl/options.rst: Document sage --buildsh
|
a0c3c59 | Fix "--build-sh" -> "--buildsh" in a comment
|
c1f0e62 | Merge tag '9.1.beta4' into t/29052/create_build_bin_sage_build_env_and_call_it_from_build_make_deps__add_sage___buildsh
|
0dc97db | Clean src/doc/en/installation/*.txt in bootstrap-clean, not misc-clean
|
8bd4f53 | Merge branch 't/29233/bootstrap____make_distclean_broken' into t/29052/create_build_bin_sage_build_env_and_call_it_from_build_make_deps__add_sage___buildsh
|
833ab0e | Build gcc/gfortran without passing -std=gnu++11 to the system g++
|
comment:6 Changed 3 years ago by
Authors: | → Matthias Koeppe |
---|---|
Status: | new → needs_review |
comment:7 Changed 3 years ago by
Summary: | gfortran compile error on debian-jessie → gfortran compile error on debian-jessie-minimal |
---|
comment:8 Changed 3 years ago by
Description: | modified (diff) |
---|
comment:9 Changed 3 years ago by
For the unrelated gfortran
compile errors on *-i386-minimal
that appear in https://github.com/mkoeppe/sage/runs/463683795, see #29241 (gfortran on 32bit: Configure for the same ABI as gcc).
comment:10 Changed 3 years ago by
Cc: | vbraun added |
---|
comment:11 Changed 3 years ago by
Commit: | 833ab0e56542413009d4fac4108b421cdace404c → caeaaae975020c5879e69b2ca22460ec0bb521c4 |
---|
Branch pushed to git repo; I updated commit sha1. New commits:
2ab9b09 | Move SAGE_PKG_CONFIG_PATH, SAGE_NAUTY_BINS_PREFIX back to src/bin/sage-env-config.in
|
caeaaae | Merge branch 't/29052/create_build_bin_sage_build_env_and_call_it_from_build_make_deps__add_sage___buildsh' into t/29162/gfortran_compile_error_on_debian_jessie
|
comment:12 Changed 3 years ago by
Commit: | caeaaae975020c5879e69b2ca22460ec0bb521c4 → 1c36ede54da80ed5bdbf36e3f6e98c0983dfb5dd |
---|
Branch pushed to git repo; I updated commit sha1. New commits:
1c36ede | Merge tag '9.1.beta6' into t/29162/gfortran_compile_error_on_debian_jessie
|
comment:13 Changed 3 years ago by
Dependencies: | #29052 |
---|
comment:14 Changed 3 years ago by
Reviewers: | → Volker Braun |
---|---|
Status: | needs_review → positive_review |
comment:16 Changed 3 years ago by
Branch: | u/mkoeppe/gfortran_compile_error_on_debian_jessie → 1c36ede54da80ed5bdbf36e3f6e98c0983dfb5dd |
---|---|
Resolution: | → fixed |
Status: | positive_review → closed |
so, Sage's gfortran cannot be built with an ancient gcc. Nothing really new about it.
Perhaps the most meaningful fix would be to gfortran's spkg-configure to error out on not finding a system gfortran and finding an old gcc...