Bug#1096822: hypre: ftbfs with GCC-15

Matthias Klose doko at debian.org
Mon Feb 17 17:19:31 GMT 2025


Package: src:hypre
Version: 2.32.0-4
Severity: important
Tags: sid forky
User: debian-gcc at lists.debian.org
Usertags: ftbfs-gcc-15

[This bug is NOT targeted to the upcoming trixie release]

Please keep this issue open in the bug tracker for the package it
was filed for.  If a fix in another package is required, please
file a bug for the other package (or clone), and add a block in this
package. Please keep the issue open until the package can be built in
a follow-up test rebuild.

The package fails to build in a test rebuild on at least amd64 with
gcc-15/g++-15, but succeeds to build with gcc-14/g++-14. The
severity of this report will be raised before the forky release.

The full build log can be found at:
http://qa-logs.debian.net/2025/02/16/amd64exp/hypre_2.32.0-4_unstable_gccexp.log.gz
The last lines of the build log are at the end of this report.

To build with GCC 15, either set CC=gcc-15 CXX=g++-15 explicitly,
or install the gcc, g++, gfortran, ... packages from experimental.

  apt-get -t=experimental install g++ 

GCC 15 now defaults to the C23/C++23 standards, exposing many FTBFS.
Other Common build failures are new warnings resulting in build failures
with -Werror turned on, or new/dropped symbols in Debian symbols files.
For other C/C++ related build failures see the porting guide at
http://gcc.gnu.org/gcc-15/porting_to.html

[...]
In file included from ilu.h:33,
                 from distributed_qsort_si.c:26:
struct.h:43:26: error: ‘bool’ cannot be defined via ‘typedef’
   43 |    typedef unsigned char bool;
      |                          ^~~~
struct.h:43:26: note: ‘bool’ is a keyword with ‘-std=c23’ onwards
struct.h:43:4: warning: useless type name in empty declaration
   43 |    typedef unsigned char bool;
      |    ^~~~~~~
make[4]: *** [../../config/Makefile.config:55: distributed_qsort_si.o] Error 1
In file included from ./DistributedMatrixPilutSolver.h:115,
                 from ilut.c:20:
././struct.h:43:26: error: ‘bool’ cannot be defined via ‘typedef’
   43 |    typedef unsigned char bool;
      |                          ^~~~
././struct.h:43:26: note: ‘bool’ is a keyword with ‘-std=c23’ onwards
././struct.h:43:4: warning: useless type name in empty declaration
   43 |    typedef unsigned char bool;
      |    ^~~~~~~
In file included from ./DistributedMatrixPilutSolver.h:115,
                 from HYPRE_DistributedMatrixPilutSolver.c:9:
././struct.h:43:26: error: ‘bool’ cannot be defined via ‘typedef’
   43 |    typedef unsigned char bool;
      |                          ^~~~
././struct.h:43:26: note: ‘bool’ is a keyword with ‘-std=c23’ onwards
././struct.h:43:4: warning: useless type name in empty declaration
   43 |    typedef unsigned char bool;
      |    ^~~~~~~
make[4]: *** [../../config/Makefile.config:55: ilut.o] Error 1
In file included from ilu.h:33,
                 from parutil.c:20:
struct.h:43:26: error: ‘bool’ cannot be defined via ‘typedef’
   43 |    typedef unsigned char bool;
      |                          ^~~~
struct.h:43:26: note: ‘bool’ is a keyword with ‘-std=c23’ onwards
struct.h:43:4: warning: useless type name in empty declaration
   43 |    typedef unsigned char bool;
      |    ^~~~~~~
make[4]: *** [../../config/Makefile.config:55: HYPRE_DistributedMatrixPilutSolver.o] Error 1
make[4]: *** [../../config/Makefile.config:55: parutil.o] Error 1
In file included from DistributedMatrixPilutSolver.h:115,
                 from comm.c:25:
./struct.h:43:26: error: ‘bool’ cannot be defined via ‘typedef’
   43 |    typedef unsigned char bool;
      |                          ^~~~
./struct.h:43:26: note: ‘bool’ is a keyword with ‘-std=c23’ onwards
./struct.h:43:4: warning: useless type name in empty declaration
   43 |    typedef unsigned char bool;
      |    ^~~~~~~
In file included from ./DistributedMatrixPilutSolver.h:115,
                 from parilut.c:52:
././struct.h:43:26: error: ‘bool’ cannot be defined via ‘typedef’
   43 |    typedef unsigned char bool;
      |                          ^~~~
././struct.h:43:26: note: ‘bool’ is a keyword with ‘-std=c23’ onwards
././struct.h:43:4: warning: useless type name in empty declaration
   43 |    typedef unsigned char bool;
      |    ^~~~~~~
make[4]: *** [../../config/Makefile.config:55: comm.o] Error 1
make[4]: *** [../../config/Makefile.config:55: parilut.o] Error 1
make[4]: Leaving directory '/build/reproducible-path/hypre-2.32.0/src/distributed_ls/pilut'
make[3]: *** [Makefile:14: all] Error 1
make[3]: Leaving directory '/build/reproducible-path/hypre-2.32.0/src/distributed_ls'
make[2]: *** [Makefile:91: all] Error 1
make[2]: Leaving directory '/build/reproducible-path/hypre-2.32.0/src'
dh_auto_build: error: cd src && make -j8 returned exit code 2
make[1]: *** [debian/rules:152: override_dh_auto_build] Error 25
make[1]: Leaving directory '/build/reproducible-path/hypre-2.32.0'
make: *** [debian/rules:25: binary] Error 2
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2



More information about the debian-science-maintainers mailing list