Package: src:libtirpc
Version: 1.3.4+ds-1.3
Severity: important
Tags: sid forky
User: [email protected]
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/libtirpc_1.3.4+ds-1.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
[...]
../../src/clnt_dg.c: In function 'time_not_ok':
../../src/clnt_dg.c:803:1: warning: old-style function definition [-Wold-style-definition]
803 | time_not_ok(t)
| ^~~~~~~~~~~
../../src/auth_none.c:65:15: error: conflicting types for 'xdr_opaque_auth'; have 'bool_t(void)' {aka 'int(void)'}
65 | extern bool_t xdr_opaque_auth();
| ^~~~~~~~~~~~~~~
In file included from ../../src/auth_none.c:51:
../../tirpc/rpc/auth.h:303:15: note: previous declaration of 'xdr_opaque_auth' with type 'bool_t(XDR *, struct opaque_auth *)' {aka 'int(struct __rpc_xdr *, struct opaque_auth *)'}
303 | extern bool_t xdr_opaque_auth (XDR *, struct opaque_auth *);
| ^~~~~~~~~~~~~~~
../../src/auth_none.c: In function 'authnone_create':
../../src/auth_none.c:98:23: error: too many arguments to function 'xdr_opaque_auth'; expected 0, have 2
98 | (void)xdr_opaque_auth(xdrs, &ap->no_client.ah_cred);
| ^~~~~~~~~~~~~~~ ~~~~
../../src/auth_none.c:65:15: note: declared here
65 | extern bool_t xdr_opaque_auth();
| ^~~~~~~~~~~~~~~
../../src/auth_none.c:99:23: error: too many arguments to function 'xdr_opaque_auth'; expected 0, have 2
99 | (void)xdr_opaque_auth(xdrs, &ap->no_client.ah_verf);
| ^~~~~~~~~~~~~~~ ~~~~
../../src/auth_none.c:65:15: note: declared here
65 | extern bool_t xdr_opaque_auth();
| ^~~~~~~~~~~~~~~
make[4]: *** [Makefile:674: libtirpc_la-auth_none.lo] Error 1
make[4]: *** Waiting for unfinished jobs....
../../src/auth_unix.c: In function 'authunix_create':
../../src/auth_unix.c:90:1: warning: old-style function definition [-Wold-style-definition]
90 | authunix_create(machname, uid, gid, len, aup_gids)
| ^~~~~~~~~~~~~~~
../../src/auth_unix.c: In function 'authunix_nextverf':
../../src/auth_unix.c:259:1: warning: old-style function definition [-Wold-style-definition]
259 | authunix_nextverf(auth)
| ^~~~~~~~~~~~~~~~~
../../src/auth_unix.c: In function 'authunix_marshal':
../../src/auth_unix.c:266:1: warning: old-style function definition [-Wold-style-definition]
266 | authunix_marshal(auth, xdrs)
| ^~~~~~~~~~~~~~~~
../../src/auth_unix.c: In function 'authunix_validate':
../../src/auth_unix.c:280:1: warning: old-style function definition [-Wold-style-definition]
280 | authunix_validate(auth, verf)
| ^~~~~~~~~~~~~~~~~
../../src/auth_unix.c: In function 'authunix_destroy':
../../src/auth_unix.c:358:1: warning: old-style function definition [-Wold-style-definition]
358 | authunix_destroy(auth)
| ^~~~~~~~~~~~~~~~
../../src/auth_unix.c: In function 'marshal_new_auth':
../../src/auth_unix.c:384:1: warning: old-style function definition [-Wold-style-definition]
384 | marshal_new_auth(auth)
| ^~~~~~~~~~~~~~~~
../../src/bindresvport.c: In function 'bindresvport_sa':
../../src/bindresvport.c:150:1: warning: old-style function definition [-Wold-style-definition]
150 | bindresvport_sa(sd, sa)
| ^~~~~~~~~~~~~~~
libtool: compile: gcc -DHAVE_CONFIG_H -I. -I../../src -I.. -I../../tirpc -include config.h -DPORTMAP -DINET6 -D_GNU_SOURCE -Wall -pipe -Wdate-time -D_FORTIFY_SOURCE=2 -DHAVE_RPCSEC_GSS -isystem /usr/include/mit-krb5 -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/libtirpc-1.3.4+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -c ../../src/binddynport.c -o libtirpc_la-binddynport.o >/dev/null 2>&1
libtool: compile: gcc -DHAVE_CONFIG_H -I. -I../../src -I.. -I../../tirpc -include config.h -DPORTMAP -DINET6 -D_GNU_SOURCE -Wall -pipe -Wdate-time -D_FORTIFY_SOURCE=2 -DHAVE_RPCSEC_GSS -isystem /usr/include/mit-krb5 -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/libtirpc-1.3.4+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -c ../../src/clnt_generic.c -o libtirpc_la-clnt_generic.o >/dev/null 2>&1
libtool: compile: gcc -DHAVE_CONFIG_H -I. -I../../src -I.. -I../../tirpc -include config.h -DPORTMAP -DINET6 -D_GNU_SOURCE -Wall -pipe -Wdate-time -D_FORTIFY_SOURCE=2 -DHAVE_RPCSEC_GSS -isystem /usr/include/mit-krb5 -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/libtirpc-1.3.4+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -c ../../src/bindresvport.c -o libtirpc_la-bindresvport.o >/dev/null 2>&1
libtool: compile: gcc -DHAVE_CONFIG_H -I. -I../../src -I.. -I../../tirpc -include config.h -DPORTMAP -DINET6 -D_GNU_SOURCE -Wall -pipe -Wdate-time -D_FORTIFY_SOURCE=2 -DHAVE_RPCSEC_GSS -isystem /usr/include/mit-krb5 -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/libtirpc-1.3.4+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -c ../../src/auth_unix.c -o libtirpc_la-auth_unix.o >/dev/null 2>&1
libtool: compile: gcc -DHAVE_CONFIG_H -I. -I../../src -I.. -I../../tirpc -include config.h -DPORTMAP -DINET6 -D_GNU_SOURCE -Wall -pipe -Wdate-time -D_FORTIFY_SOURCE=2 -DHAVE_RPCSEC_GSS -isystem /usr/include/mit-krb5 -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/libtirpc-1.3.4+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -c ../../src/clnt_dg.c -o libtirpc_la-clnt_dg.o >/dev/null 2>&1
libtool: compile: gcc -DHAVE_CONFIG_H -I. -I../../src -I.. -I../../tirpc -include config.h -DPORTMAP -DINET6 -D_GNU_SOURCE -Wall -pipe -Wdate-time -D_FORTIFY_SOURCE=2 -DHAVE_RPCSEC_GSS -isystem /usr/include/mit-krb5 -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/libtirpc-1.3.4+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -c ../../src/clnt_bcast.c -o libtirpc_la-clnt_bcast.o >/dev/null 2>&1
make[4]: Leaving directory '/build/reproducible-path/libtirpc-1.3.4+ds/build-deb/src'
make[3]: *** [Makefile:534: all-recursive] Error 1
make[3]: Leaving directory '/build/reproducible-path/libtirpc-1.3.4+ds/build-deb'
make[2]: *** [Makefile:419: all] Error 2
make[2]: Leaving directory '/build/reproducible-path/libtirpc-1.3.4+ds/build-deb'
dh_auto_build: error: cd build-deb && make -j8 returned exit code 2
make[1]: *** [debian/rules:13: override_dh_auto_build] Error 25
make[1]: Leaving directory '/build/reproducible-path/libtirpc-1.3.4+ds'
make: *** [debian/rules:6: binary] Error 2
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2
Control: tags -1 upstream fixed-upstream
thanks
On Mon, Feb 17, 2025 at 05:34:07PM +0000, Matthias Klose wrote:
> [...]
> 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.
> [...]
FWIW, I just confirmed that the most recent upstream release 1.3.7
indeed fixes this FTBFS, cf.
<https://sourceforge.net/p/libtirpc/mailman/message/59224540/>.
Thus tagging this bug accordingly.
HTH,
Flo