#1097572 pgbackrest: ftbfs with GCC-15

#1097572#5
Date:
2025-02-17 17:43:18 UTC
From:
To:
[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/pgbackrest_2.54.2-1_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

[...]
Configuring build.auto.h using configuration
Configuring build.auto.h using configuration
Configuring build.auto.h using configuration
Build targets in project: 10

pgbackrest 2.54.2

  User defined options
    bindir            : /usr/bin
    buildtype         : plain
    libdir            : lib/x86_64-linux-gnu
    localstatedir     : /var
    prefix            : /usr
    python.bytecompile: -1
    sysconfdir        : /etc
    wrap_mode         : nodownload

Found ninja-1.12.1 at /usr/bin/ninja
make[1]: Leaving directory '/build/reproducible-path/pgbackrest-2.54.2'
   debian/rules override_dh_auto_build
make[1]: Entering directory '/build/reproducible-path/pgbackrest-2.54.2'
# Replace user name in doc cache with the current user
[ $(whoami) = root ] || sed -i "s/vagrant/$(whoami)/g" /build/reproducible-path/pgbackrest-2.54.2/doc/resource/exe.cache
perl /build/reproducible-path/pgbackrest-2.54.2/doc/doc.pl --out=man --out=html --cache-only \
  --var=project-url-root=index.html --exclude=backlog \
  --var=release-date-static=y
2025-02-16 03:05:01.957 P00   INFO: build C helper
2025-02-16 03:05:07.849 P00  ERROR: [125]: command 'ninja -C /build/reproducible-path/pgbackrest-2.54.2/doc/output/build doc/src/doc-pgbackrest' returned 1
                                        STDOUT (last 10,000 characters):
                                        ninja: Entering directory `/build/reproducible-path/pgbackrest-2.54.2/doc/output/build'
                                        [1/129] Compiling C object src/build-code.p/common_debug.c.o
                                        [2/129] Compiling C object src/build-code.p/common_io_bufferWrite.c.o
                                        [3/129] Compiling C object src/build-code.p/common_io_io.c.o
                                        [4/129] Compiling C object src/build-code.p/common_io_filter_buffer.c.o
                                        [5/129] Compiling C object src/build-code.p/common_io_filter_filter.c.o
                                        [6/129] Compiling C object src/build-code.p/common_io_filter_sink.c.o
                                        [7/129] Compiling C object src/build-code.p/common_io_bufferRead.c.o
                                        [8/129] Compiling C object src/build-code.p/common_encode.c.o
                                        [9/129] Compiling C object src/build-code.p/common_regExp.c.o
                                        [10/129] Compiling C object src/build-code.p/common_error_error.c.o
                                        [11/129] Compiling C object src/build-code.p/common_type_blob.c.o
                                        [12/129] Compiling C object src/build-code.p/common_stackTrace.c.o
                                        [13/129] Compiling C object src/build-code.p/common_log.c.o
                                        [14/129] Compiling C object src/build-code.p/common_time.c.o
                                        [15/129] Compiling C object src/build-code.p/common_type_object.c.o
                                        [16/129] Compiling C object src/build-code.p/common_type_buffer.c.o
                                        [17/129] Compiling C object src/build-code.p/common_type_stringId.c.o
                                        FAILED: src/build-code.p/common_type_stringId.c.o
                                        cc -Isrc/build-code.p -Isrc -I../../../src -I/usr/include/libxml2 -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Werror -std=c99 -O0 -g -Wconversion -Wduplicated-cond -Wduplicated-branches -Wformat-nonliteral -Wformat=2 -Wformat-signedness -Wpointer-arith -Wstrict-prototypes -Wvla -Wwrite-strings -Wno-clobbered -Wno-missing-field-initializers -Wno-implicit-fallthrough -Wfatal-errors -fmacro-prefix-map=../../../src/= -fmacro-prefix-map=../../../test/src/=test/ -D_POSIX_C_SOURCE=200809L -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/pgbackrest-2.54.2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 -MD -MQ src/build-code.p/common_type_stringId.c.o -MF src/build-code.p/common_type_stringId.c.o.d -o src/build-code.p/common_type_stringId.c.o -c ../../../src/common/type/stringId.c
                                        ../../../src/common/type/stringId.c: In function ‘strIdToZN’:
                                        ../../../src/common/type/stringId.c:270:41: error: initializer-string for array of ‘char’ is too long [-Werror=unterminated-string-initialization]
                                          270 |             static const char map[32] = "!abcdefghijklmnopqrstuvwxyz-256!";
                                              |                                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                                        compilation terminated due to -Wfatal-errors.
                                        cc1: all warnings being treated as errors
                                        [18/129] Compiling C object src/build-code.p/common_io_filter_group.c.o
                                        [19/129] Compiling C object src/build-code.p/common_type_keyValue.c.o
                                        [20/129] Compiling C object src/build-code.p/common_io_write.c.o
                                        [21/129] Compiling C object src/build-code.p/common_type_list.c.o
                                        [22/129] Compiling C object src/build-code.p/common_type_convert.c.o
                                        [23/129] Compiling C object src/build-code.p/common_io_read.c.o
                                        [24/129] Compiling C object src/build-code.p/common_memContext.c.o
                                        [25/129] Compiling C object src/build-code.p/common_type_stringList.c.o
                                        [26/129] Compiling C object src/build-code.p/common_type_pack.c.o
                                        ninja: build stopped: subcommand failed.

make[1]: *** [debian/rules:21: override_dh_auto_build] Error 125
make[1]: Leaving directory '/build/reproducible-path/pgbackrest-2.54.2'
make: *** [debian/rules:12: binary] Error 2
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2