Skip to content

Everything should be rebuilt after GCC upgrade #24703

@jdemeyer

Description

@jdemeyer

Due to C++ ABI incompatibilities, problems occur if code built with earlier versions of GCC is linked against code built with newer versions of GCC. This leads for example to patchbot failures mentioned below.

The simplest solution is to make every package depend on the GCC executable. This way, a GCC upgrade will force everything to be rebuilt. This may be overkill, but it's not a big problem in practice since GCC is upgraded rarely (unlikely other Sage packages, it is never automatically rebuilt except if absolutely needed, see for example #24599).


See attachment: crash_zrVXNw.log for a crash log from the arando i686 patchbot with Sage 8.2.beta5 using GCC 7.2.0. It involves brial and C++ strings.

The following doctests fail:

sage -t --warn-long 67.1 src/sage/rings/polynomial/multi_polynomial_sequence.py  # Killed due to abort
sage -t --warn-long 67.1 src/sage/rings/polynomial/pbori.pyx  # Killed due to abort
sage -t --warn-long 67.1 src/sage/rings/polynomial/multi_polynomial_libsingular.pyx  # Killed due to abort
sage -t --warn-long 67.1 src/sage/rings/polynomial/polynomial_ring_constructor.py  # Killed due to abort

CC: @kiwifb @embray

Component: packages: standard

Author: Jeroen Demeyer

Branch: 70ff832

Reviewer: François Bissey

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

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions