Skip to content

Fails To Build From Source with GCC-15 #1838

@robertolumbreras

Description

@robertolumbreras

Debian Bug report #1096847
http://bugs.debian.org/1096847

iperf3 Debian 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 full build log can be found at:
http://qa-logs.debian.net/2025/02/16/amd64exp/iperf3_3.18-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

[...]
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating Makefile
config.status: creating src/Makefile
config.status: creating src/version.h
config.status: creating examples/Makefile
config.status: creating iperf3.spec
config.status: creating src/iperf_config.h
config.status: executing depfiles commands
config.status: executing libtool commands
dh_auto_build
make -j8
make[1]: Entering directory '/build/reproducible-path/iperf3-3.18'
Making all in src
make[2]: Entering directory '/build/reproducible-path/iperf3-3.18/src'
make all-am
make[3]: Entering directory '/build/reproducible-path/iperf3-3.18/src'
gcc -DHAVE_CONFIG_H -I. -I/usr/include -Wdate-time -D_FORTIFY_SOURCE=2 -g -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/iperf3-3.18=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wall -pthread -c -o iperf3-main.o test -f 'main.c' || echo './'main.c
/bin/bash ../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I/usr/include -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/iperf3-3.18=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wall -pthread -c -o cjson.lo cjson.c
/bin/bash ../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I/usr/include -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/iperf3-3.18=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wall -pthread -c -o iperf_api.lo iperf_api.c
/bin/bash ../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I/usr/include -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/iperf3-3.18=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wall -pthread -c -o iperf_error.lo iperf_error.c
/bin/bash ../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I/usr/include -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/iperf3-3.18=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wall -pthread -c -o iperf_auth.lo iperf_auth.c
/bin/bash ../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I/usr/include -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/iperf3-3.18=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wall -pthread -c -o iperf_client_api.lo iperf_client_api.c
/bin/bash ../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I/usr/include -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/iperf3-3.18=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wall -pthread -c -o iperf_locale.lo iperf_locale.c
/bin/bash ../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I/usr/include -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/iperf3-3.18=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wall -pthread -c -o iperf_server_api.lo iperf_server_api.c
libtool: compile: gcc -DHAVE_CONFIG_H -I. -I/usr/include -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/iperf3-3.18=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wall -pthread -c iperf_error.c -fPIC -DPIC -o .libs/iperf_error.o
libtool: compile: gcc -DHAVE_CONFIG_H -I. -I/usr/include -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/iperf3-3.18=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wall -pthread -c iperf_client_api.c -fPIC -DPIC -o .libs/iperf_client_api.o
libtool: compile: gcc -DHAVE_CONFIG_H -I. -I/usr/include -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/iperf3-3.18=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wall -pthread -c iperf_locale.c -fPIC -DPIC -o .libs/iperf_locale.o
libtool: compile: gcc -DHAVE_CONFIG_H -I. -I/usr/include -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/iperf3-3.18=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wall -pthread -c iperf_api.c -fPIC -DPIC -o .libs/iperf_api.o
libtool: compile: gcc -DHAVE_CONFIG_H -I. -I/usr/include -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/iperf3-3.18=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wall -pthread -c iperf_server_api.c -fPIC -DPIC -o .libs/iperf_server_api.o
libtool: compile: gcc -DHAVE_CONFIG_H -I. -I/usr/include -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/iperf3-3.18=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wall -pthread -c iperf_auth.c -fPIC -DPIC -o .libs/iperf_auth.o
libtool: compile: gcc -DHAVE_CONFIG_H -I. -I/usr/include -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/iperf3-3.18=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wall -pthread -c cjson.c -fPIC -DPIC -o .libs/cjson.o
libtool: compile: gcc -DHAVE_CONFIG_H -I. -I/usr/include -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/iperf3-3.18=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wall -pthread -c iperf_locale.c -o iperf_locale.o >/dev/null 2>&1
/bin/bash ../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I/usr/include -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/iperf3-3.18=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wall -pthread -c -o iperf_tcp.lo iperf_tcp.c
libtool: compile: gcc -DHAVE_CONFIG_H -I. -I/usr/include -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/iperf3-3.18=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wall -pthread -c iperf_tcp.c -fPIC -DPIC -o .libs/iperf_tcp.o
/bin/bash ../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I/usr/include -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/iperf3-3.18=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wall -pthread -c -o iperf_udp.lo iperf_udp.c
iperf_api.c: In function 'iperf_set_on_new_stream_callback':
iperf_api.c:608:28: error: assignment to 'void ()(struct iperf_stream )' from incompatible pointer type 'void ()(void)' [-Wincompatible-pointer-types]
608 | ipt->on_new_stream = callback;
| ^
iperf_api.c: In function 'iperf_set_on_test_start_callback':
iperf_api.c:614:28: error: assignment to 'void (
)(struct iperf_test )' from incompatible pointer type 'void ()(void)' [-Wincompatible-pointer-types]
614 | ipt->on_test_start = callback;
| ^
iperf_api.c: In function 'iperf_set_on_test_connect_callback':
iperf_api.c:620:25: error: assignment to 'void ()(struct iperf_test )' from incompatible pointer type 'void ()(void)' [-Wincompatible-pointer-types]
620 | ipt->on_connect = callback;
| ^
iperf_api.c: In function 'iperf_set_on_test_finish_callback':
iperf_api.c:626:29: error: assignment to 'void (
)(struct iperf_test )' from incompatible pointer type 'void ()(void)' [-Wincompatible-pointer-types]
626 | ipt->on_test_finish = callback;
| ^
libtool: compile: gcc -DHAVE_CONFIG_H -I. -I/usr/include -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/iperf3-3.18=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wall -pthread -c iperf_udp.c -fPIC -DPIC -o .libs/iperf_udp.o
make[3]: *** [Makefile:971: iperf_api.lo] Error 1
make[3]: *** Waiting for unfinished jobs....
libtool: compile: gcc -DHAVE_CONFIG_H -I. -I/usr/include -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/iperf3-3.18=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wall -pthread -c iperf_error.c -o iperf_error.o >/dev/null 2>&1
libtool: compile: gcc -DHAVE_CONFIG_H -I. -I/usr/include -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/iperf3-3.18=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wall -pthread -c iperf_tcp.c -o iperf_tcp.o >/dev/null 2>&1
libtool: compile: gcc -DHAVE_CONFIG_H -I. -I/usr/include -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/iperf3-3.18=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wall -pthread -c iperf_auth.c -o iperf_auth.o >/dev/null 2>&1
libtool: compile: gcc -DHAVE_CONFIG_H -I. -I/usr/include -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/iperf3-3.18=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wall -pthread -c iperf_server_api.c -o iperf_server_api.o >/dev/null 2>&1
libtool: compile: gcc -DHAVE_CONFIG_H -I. -I/usr/include -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/iperf3-3.18=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wall -pthread -c iperf_client_api.c -o iperf_client_api.o >/dev/null 2>&1
libtool: compile: gcc -DHAVE_CONFIG_H -I. -I/usr/include -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/iperf3-3.18=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wall -pthread -c iperf_udp.c -o iperf_udp.o >/dev/null 2>&1
libtool: compile: gcc -DHAVE_CONFIG_H -I. -I/usr/include -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/iperf3-3.18=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wall -pthread -c cjson.c -o cjson.o >/dev/null 2>&1
make[3]: Leaving directory '/build/reproducible-path/iperf3-3.18/src'
make[2]: *** [Makefile:733: all] Error 2
make[2]: Leaving directory '/build/reproducible-path/iperf3-3.18/src'
make[1]: *** [Makefile:404: all-recursive] Error 1
make[1]: Leaving directory '/build/reproducible-path/iperf3-3.18'
dh_auto_build: error: make -j8 returned exit code 2
make: *** [debian/rules:11: binary] Error 25
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions