Bug#1098007: tnef: ftbfs with GCC-15
Package: src:tnef
Version: 1.4.18-4
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/tnef_1.4.18-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
[...]
./mapi-types.data'
/bin/bash -c 'TAG=mapi_name mawk -f ./mkdata.awk \
./mapi-names.data'
/bin/bash -c 'TAG=mapi_name mawk -f ./mkdata.awk \
./mapi-names.data'
make all-recursive
make[3]: Entering directory '/build/reproducible-path/tnef-1.4.18/src'
Making all in replace
make[4]: Entering directory '/build/reproducible-path/tnef-1.4.18/src/replace'
gcc -DHAVE_CONFIG_H -I. -I../../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/tnef-1.4.18=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -c -o dummy.o dummy.c
rm -f libreplace.a
ar cr libreplace.a dummy.o
ranlib libreplace.a
make[4]: Leaving directory '/build/reproducible-path/tnef-1.4.18/src/replace'
Making all in .
make[4]: Entering directory '/build/reproducible-path/tnef-1.4.18/src'
gcc -DHAVE_CONFIG_H -I. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/tnef-1.4.18=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -c -o tnef_names.o tnef_names.c
gcc -DHAVE_CONFIG_H -I. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/tnef-1.4.18=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -c -o tnef_types.o tnef_types.c
gcc -DHAVE_CONFIG_H -I. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/tnef-1.4.18=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -c -o mapi_types.o mapi_types.c
gcc -DHAVE_CONFIG_H -I. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/tnef-1.4.18=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -c -o mapi_names.o mapi_names.c
gcc -DHAVE_CONFIG_H -I. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/tnef-1.4.18=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -c -o alloc.o alloc.c
gcc -DHAVE_CONFIG_H -I. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/tnef-1.4.18=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -c -o attr.o attr.c
gcc -DHAVE_CONFIG_H -I. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/tnef-1.4.18=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -c -o date.o date.c
gcc -DHAVE_CONFIG_H -I. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/tnef-1.4.18=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -c -o debug.o debug.c
gcc -DHAVE_CONFIG_H -I. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/tnef-1.4.18=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -c -o file.o file.c
gcc -DHAVE_CONFIG_H -I. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/tnef-1.4.18=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -c -o main.o main.c
gcc -DHAVE_CONFIG_H -I. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/tnef-1.4.18=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -c -o mapi_attr.o mapi_attr.c
gcc -DHAVE_CONFIG_H -I. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/tnef-1.4.18=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -c -o options.o options.c
attr.c:242:1: error: conflicting types for ‘attr_read’; have ‘Attr *(FILE *)’
242 | attr_read (FILE* in)
| ^~~~~~~~~
In file included from attr.c:29:
attr.h:72:14: note: previous declaration of ‘attr_read’ with type ‘Attr *(void)’
72 | extern Attr* attr_read ();
| ^~~~~~~~~
make[4]: *** [Makefile:489: attr.o] Error 1
make[4]: *** Waiting for unfinished jobs....
file.c: In function ‘confirm_action’:
file.c:50:9: warning: ignoring return value of ‘fgets’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
50 | fgets (buf, BUFSIZ, stdin);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
date.c: In function ‘date_to_str’:
date.c:46:62: warning: ‘%02d’ directive output may be truncated writing between 2 and 5 bytes into a region of size between 1 and 14 [-Wformat-truncation=]
46 | snprintf (buf, sizeof(buf), "%s %04d/%02d/%02d %02d:%02d:%02d",
| ^~~~
date.c:46:33: note: directive argument in the range [0, 65535]
46 | snprintf (buf, sizeof(buf), "%s %04d/%02d/%02d %02d:%02d:%02d",
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/stdio.h:970,
from common.h:30,
from date.c:26:
In function ‘snprintf’,
inlined from ‘date_to_str’ at date.c:46:5:
/usr/include/x86_64-linux-gnu/bits/stdio2.h:68:10: note: ‘__builtin___snprintf_chk’ output 21 or more bytes (assuming 37) into a destination of size 32
68 | return __builtin___snprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
69 | __glibc_objsize (__s), __fmt,
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
70 | __va_arg_pack ());
| ~~~~~~~~~~~~~~~~~
make[4]: Leaving directory '/build/reproducible-path/tnef-1.4.18/src'
make[3]: *** [Makefile:505: all-recursive] Error 1
make[3]: Leaving directory '/build/reproducible-path/tnef-1.4.18/src'
make[2]: *** [Makefile:362: all] Error 2
make[2]: Leaving directory '/build/reproducible-path/tnef-1.4.18/src'
make[1]: *** [Makefile:369: all-recursive] Error 1
make[1]: Leaving directory '/build/reproducible-path/tnef-1.4.18'
dh_auto_build: error: make -j8 returned exit code 2
make: *** [debian/rules:8: binary] Error 25
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2
Reply to: