Bug#1096726: gloo: ftbfs with GCC-15
Package: src:gloo
Version: 0.0~git20231202.5354032-3
Severity: important
Tags: sid forky
User: debian-gcc@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/gloo_0.0~git20231202.5354032-3_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
[...]
/build/reproducible-path/gloo-0.0~git20231202.5354032/gloo/types.cc:16:18: error: ‘uint8_t’ was not declared in this scope
16 | Slot Slot::build(uint8_t prefix, uint32_t tag) {
| ^~~~~~~
/build/reproducible-path/gloo-0.0~git20231202.5354032/gloo/types.cc:10:1: note: ‘uint8_t’ is defined in header ‘<cstdint>’; this is probably fixable by adding ‘#include <cstdint>’
9 | #include "gloo/types.h"
+++ |+#include <cstdint>
10 |
/build/reproducible-path/gloo-0.0~git20231202.5354032/gloo/types.cc:16:34: error: ‘uint32_t’ was not declared in this scope
16 | Slot Slot::build(uint8_t prefix, uint32_t tag) {
| ^~~~~~~~
/build/reproducible-path/gloo-0.0~git20231202.5354032/gloo/types.cc:16:34: note: ‘uint32_t’ is defined in header ‘<cstdint>’; this is probably fixable by adding ‘#include <cstdint>’
/build/reproducible-path/gloo-0.0~git20231202.5354032/gloo/types.cc:16:48: error: expected ‘,’ or ‘;’ before ‘{’ token
16 | Slot Slot::build(uint8_t prefix, uint32_t tag) {
| ^
/build/reproducible-path/gloo-0.0~git20231202.5354032/gloo/types.cc:22:6: error: declaration of ‘operator+’ as non-function
22 | Slot Slot::operator+(uint8_t i) const {
| ^~~~
/build/reproducible-path/gloo-0.0~git20231202.5354032/gloo/types.cc:22:22: error: ‘uint8_t’ was not declared in this scope
22 | Slot Slot::operator+(uint8_t i) const {
| ^~~~~~~
/build/reproducible-path/gloo-0.0~git20231202.5354032/gloo/types.cc:22:22: note: ‘uint8_t’ is defined in header ‘<cstdint>’; this is probably fixable by adding ‘#include <cstdint>’
make[3]: *** [gloo/CMakeFiles/gloo.dir/build.make:278: gloo/CMakeFiles/gloo.dir/types.cc.o] Error 1
make[3]: *** Waiting for unfinished jobs....
In file included from /build/reproducible-path/gloo-0.0~git20231202.5354032/gloo/transport/pair.h:13,
from /build/reproducible-path/gloo-0.0~git20231202.5354032/gloo/context.h:15,
from /build/reproducible-path/gloo-0.0~git20231202.5354032/gloo/mpi/context.h:11,
from /build/reproducible-path/gloo-0.0~git20231202.5354032/gloo/mpi/context.cc:9:
/build/reproducible-path/gloo-0.0~git20231202.5354032/gloo/mpi/context.cc: In destructor ‘gloo::mpi::MPIScope::~MPIScope()’:
/build/reproducible-path/gloo-0.0~git20231202.5354032/gloo/common/logging.h:137:7: warning: ‘throw’ will always call ‘terminate’ [-Wterminate]
137 | throw EnforceNotMet( \
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
138 | __FILE__, \
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
139 | __LINE__, \
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
140 | expr, \
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
141 | r.get_message_and_free(MakeString(__VA_ARGS__))); \
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/build/reproducible-path/gloo-0.0~git20231202.5354032/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’
150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__)
| ^~~~~~~~~~~~~~~~~~~~~~
/build/reproducible-path/gloo-0.0~git20231202.5354032/gloo/mpi/context.cc:43:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’
43 | GLOO_ENFORCE_EQ(rv, MPI_SUCCESS);
| ^~~~~~~~~~~~~~~
/build/reproducible-path/gloo-0.0~git20231202.5354032/gloo/common/logging.h:137:7: note: in C++11 destructors default to ‘noexcept’
137 | throw EnforceNotMet( \
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
138 | __FILE__, \
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
139 | __LINE__, \
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
140 | expr, \
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
141 | r.get_message_and_free(MakeString(__VA_ARGS__))); \
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/build/reproducible-path/gloo-0.0~git20231202.5354032/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’
150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__)
| ^~~~~~~~~~~~~~~~~~~~~~
/build/reproducible-path/gloo-0.0~git20231202.5354032/gloo/mpi/context.cc:43:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’
43 | GLOO_ENFORCE_EQ(rv, MPI_SUCCESS);
| ^~~~~~~~~~~~~~~
make[3]: Leaving directory '/build/reproducible-path/gloo-0.0~git20231202.5354032/obj-x86_64-linux-gnu'
make[2]: *** [CMakeFiles/Makefile2:242: gloo/CMakeFiles/gloo.dir/all] Error 2
make[2]: Leaving directory '/build/reproducible-path/gloo-0.0~git20231202.5354032/obj-x86_64-linux-gnu'
make[1]: *** [Makefile:139: all] Error 2
make[1]: Leaving directory '/build/reproducible-path/gloo-0.0~git20231202.5354032/obj-x86_64-linux-gnu'
dh_auto_build: error: cd obj-x86_64-linux-gnu && make -j8 "INSTALL=install --strip-program=true" VERBOSE=1 returned exit code 2
make: *** [debian/rules:12: binary] Error 25
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2
Reply to: