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

SAGE_CHECK fails checking ppl with gcc 8. #25849

Closed
ChukwuemezieChristopherAneke mannequin opened this issue Jul 12, 2018 · 14 comments
Closed

SAGE_CHECK fails checking ppl with gcc 8. #25849

ChukwuemezieChristopherAneke mannequin opened this issue Jul 12, 2018 · 14 comments

Comments

@ChukwuemezieChristopherAneke
Copy link
Mannequin

I set SAGE_CHECK="yes" to run tests on the spkgs and I get the error below when I run make -j5.

Section from end of ppl-1.2.p1.log:

In file included from ../../src/Pointset_Powerset_defs.hh:1454,
                 from ../../src/algorithms.hh:28,
                 from ../../src/ppl_include_files.hh:18,
                 from ../../src/ppl_header.hh:38,
                 from ../../tests/ppl_test.hh:27,
                 from equals1.cc:25:
../../src/Pointset_Powerset_templates.hh: In instantiation of 'Parma_Polyhedra_Library::Pointset_Powerset<PSET>::Pointset_Powerset(const Parma_Polyhedra_Library::Pointset_Powerset<QH>&, Parma_Polyhedra_Library::Complexity_Class) [with QH = Parma_Polyhedra_Library::Box<Parma_Polyhedra_Library::Interval<__gmp_expr<__mpq_struct [1], __mpq_struct [1]>, Parma_Polyhedra_Library::Interval_Info_Bitset<unsigned int, Parma_Polyhedra_Library::Test::Rational_Real_Open_Interval_Info_Policy> > >; PSET = Parma_Polyhedra_Library::NNC_Polyhedron]':
../../src/Pointset_Powerset_inlines.hh:262:43:   required from 'bool Parma_Polyhedra_Library::Pointset_Powerset<PSET>::geometrically_equals(const Parma_Polyhedra_Library::Pointset_Powerset<PSET>&) const [with PSET = Parma_Polyhedra_Library::Box<Parma_Polyhedra_Library::Interval<__gmp_expr<__mpq_struct [1], __mpq_struct [1]>, Parma_Polyhedra_Library::Interval_Info_Bitset<unsigned int, Parma_Polyhedra_Library::Test::Rational_Real_Open_Interval_Info_Policy> > >]'
equals1.cc:44:50:   required from here
../../src/Pointset_Powerset_templates.hh:66:29: internal compiler error: in type_dependent_expression_p, at cp/pt.c:25100
          y_end = y.end(); i != y_end; ++i) {
                           ~~^~~~~~~~
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://bugzilla.redhat.com/bugzilla> for instructions.
Preprocessed source stored into /tmp/ccb8H3zx.out file, please attach this to your bugreport.
make[7]: *** [Makefile:1245: equals1.o] Error 1
************************************************************************
Error testing package ppl-1.2.p1
************************************************************************

Upstream: Fixed upstream, but not in a stable release.

Component: build

Keywords: fedora 28, SAGE_CHECK

Issue created by migration from https://trac.sagemath.org/ticket/25849

@ChukwuemezieChristopherAneke ChukwuemezieChristopherAneke mannequin added this to the sage-8.4 milestone Jul 12, 2018
@ChukwuemezieChristopherAneke

This comment has been minimized.

@jdemeyer
Copy link

comment:2

"internal compiler error" typically means a broken compiler or a hardware problem. Is the error reproducible, does it happen again if you try again?

Attach the complete log, not just "section from end". That way we can see which compiler you are using.

@jdemeyer

This comment has been minimized.

@jdemeyer jdemeyer changed the title SAGE_CHECK fails with Python2 build SAGE_CHECK fails checking ppl Jul 13, 2018
@Konrad127123
Copy link

comment:4

Attachment: ppl-1.2.p1.log

I'm reproducibly getting the same error on a Debian Sid amd64 system (log attached). (I am using the system gcc & ccache if that makes any difference.)

I guess "internal compiler error" means gcc is crashing. Any help on how to go about debugging this so I can file a proper bug report with gcc upstream would be much appreciated.

I get this error when doing make, but so far I've not managed to figure out what precise gcc command is triggering this and what environmental variables are set. Any suggestions on how to figure this out?

@Konrad127123
Copy link

comment:5

Update: if I put all (345) of the needed header files in the working directory, then I can trigger the error with /usr/bin/g++ -I. equals1.cc where equals1.cc is in path_to_sage/local/var/tmp/sage/build/ppl-1.2.p1/src/tests/Powerset.

@Konrad127123
Copy link

comment:6

This is a bug in g++, now reported upstream at https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87770 . It affects version 8.2 (and I think every 8.x version before that), but does not affect version 7.x.

@Konrad127123
Copy link

Upstream: Reported upstream. Developers acknowledge bug.

@Konrad127123
Copy link

Changed upstream from Reported upstream. Developers acknowledge bug. to Fixed upstream, but not in a stable release.

@Konrad127123
Copy link

comment:7

This bug has now been fixed in gcc trunk, so it will not affect gcc 9.0 once that is released.

It's not yet clear to me if the fix will get backported to the gcc-8 branch in time for gcc 8.3, which is likely to be released pretty soon.

@Konrad127123 Konrad127123 changed the title SAGE_CHECK fails checking ppl SAGE_CHECK fails checking ppl with gcc 8. Feb 10, 2019
@Konrad127123
Copy link

comment:8

Update: gcc 8.3 has been released, but does not include this bugfix.

@sagetrac-tmonteil
Copy link
Mannequin

sagetrac-tmonteil mannequin commented May 22, 2022

comment:9

This ticket is about a bug in gcc 8, Sage ships gcc 11.3.0, shall we close it ?

@sagetrac-tmonteil sagetrac-tmonteil mannequin removed this from the sage-8.4 milestone May 22, 2022
@slel
Copy link
Member

slel commented May 24, 2022

comment:10

Yes, good to close.

@slel
Copy link
Member

slel commented May 24, 2022

comment:11

When we install GCC, we install a very recent one,
but we still accept older system versions.

We are only removing support for GCC < 6.3 in #33316.

@sagetrac-tmonteil
Copy link
Mannequin

sagetrac-tmonteil mannequin commented May 24, 2022

comment:12

Replying to @slel:

When we install GCC, we install a very recent one,
but we still accept older system versions.

We are only removing support for GCC < 6.3 in #33316.

If i understand correctly, the bug is a bug of gcc 8 itself, not of some Sage component or build system. So, if the user uses their own buggy gcc 8, there is nothing we can do.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants