Subject: mmh: ftbfs with GCC-14

From: Matthias Klose <[email-masked]>
Date: Wed, 03 Jul 2024 12:36:48 +0000

Package: src:mmh
Version: 0.4-6
Severity: important
Tags: sid trixie
User: [email-masked]
Usertags: ftbfs-gcc-14

[This bug is 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-14/g++-14, but succeeds to build with gcc-13/g++-13. The
severity of this report will be raised before the trixie release.

The full build log can be found at:
http://qa-logs.debian.net/2024/07/01/mmh_0.4-6_unstable_gccexp.log
The last lines of the build log are at the end of this report.

To build with GCC 14, either set CC=gcc-14 CXX=g++-14 explicitly,
or install the gcc, g++, gfortran, ... packages from experimental.

  apt-get -t=experimental install g++ 

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-14/porting_to.html

[...]
gcc -c -DHAVE_CONFIG_H  -D_GNU_SOURCE -I.. -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection  -fcommon -DVERSION="\"`../version.sh ..`\"" -o version.o ./version.c
if test x != x -a x = x ; then \
   -static -c -o libmh.a addrsbr.o ambigsw.o brkstring.o charset.o concat.o context_del.o context_find.o context_read.o context_replace.o context_save.o cpydata.o crawl_folders.o dtime.o dtimep.o error.o execprog.o ext_hook.o folder_addmsg.o folder_delmsgs.o folder_free.o folder_read.o folder_realloc.o gans.o getans.o getanswer.o getarguments.o fmt_addr.o fmt_compile.o fmt_new.o fmt_rfc2047.o fmt_scan.o lock_file.o m_atoi.o m_convert.o m_draft.o m_getfld2.o m_gmprot.o m_name.o makedir.o mts.o norm_charmap.o path.o pidwait.o pidstatus.o print_help.o print_sw.o print_version.o putenv.o mhbasename.o readconfig.o seq_add.o seq_bits.o seq_del.o seq_getnum.o seq_list.o seq_nameok.o seq_print.o seq_read.o seq_save.o seq_setcur.o seq_setprev.o seq_setunseen.o signals.o smatch.o snprintb.o strcasecmp.o strindex.o trim.o trimcpy.o uprf.o vfgets.o fmt_def.o mf.o utils.o m_mktemp.o seq_msgstats.o unquote.o encode_rfc2047.o parse_msgs.o getthreadid.o ../config/config.o version.o; \
else \
  ar cr libmh.a `echo addrsbr.o ambigsw.o brkstring.o charset.o concat.o context_del.o context_find.o context_read.o context_replace.o context_save.o cpydata.o crawl_folders.o dtime.o dtimep.o error.o execprog.o ext_hook.o folder_addmsg.o folder_delmsgs.o folder_free.o folder_read.o folder_realloc.o gans.o getans.o getanswer.o getarguments.o fmt_addr.o fmt_compile.o fmt_new.o fmt_rfc2047.o fmt_scan.o lock_file.o m_atoi.o m_convert.o m_draft.o m_getfld2.o m_gmprot.o m_name.o makedir.o mts.o norm_charmap.o path.o pidwait.o pidstatus.o print_help.o print_sw.o print_version.o putenv.o mhbasename.o readconfig.o seq_add.o seq_bits.o seq_del.o seq_getnum.o seq_list.o seq_nameok.o seq_print.o seq_read.o seq_save.o seq_setcur.o seq_setprev.o seq_setunseen.o signals.o smatch.o snprintb.o strcasecmp.o strindex.o trim.o trimcpy.o uprf.o vfgets.o fmt_def.o mf.o utils.o m_mktemp.o seq_msgstats.o unquote.o encode_rfc2047.o parse_msgs.o getthreadid.o ../config/config.o version.o | cat 2>/dev/null`  ; \
  ranlib libmh.a  ; \
fi
rm -f version.o
make[2]: Leaving directory '/<<PKGBUILDDIR>>/sbr'
make[2]: Entering directory '/<<PKGBUILDDIR>>/uip'
gcc -c -DHAVE_CONFIG_H  -D_GNU_SOURCE -DVERSION="\"`../version.sh ..`\"" -I. -I.. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection  -fcommon ali.c
gcc -c -DHAVE_CONFIG_H  -D_GNU_SOURCE -DVERSION="\"`../version.sh ..`\"" -I. -I.. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection  -fcommon aliasbr.c
gcc -Wl,-z,relro -Wl,-z,now  -o ali ali.o aliasbr.o ../sbr/libmh.a 
gcc -c -DHAVE_CONFIG_H  -D_GNU_SOURCE -DVERSION="\"`../version.sh ..`\"" -I. -I.. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection  -fcommon anno.c
gcc -Wl,-z,relro -Wl,-z,now  -o anno anno.o ../sbr/libmh.a 
gcc -c -DHAVE_CONFIG_H  -D_GNU_SOURCE -DVERSION="\"`../version.sh ..`\"" -I. -I.. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection  -fcommon burst.c
gcc -Wl,-z,relro -Wl,-z,now  -o burst burst.o ../sbr/libmh.a 
gcc -c -DHAVE_CONFIG_H  -D_GNU_SOURCE -DVERSION="\"`../version.sh ..`\"" -I. -I.. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection  -fcommon comp.c
gcc -c -DHAVE_CONFIG_H  -D_GNU_SOURCE -DVERSION="\"`../version.sh ..`\"" -I. -I.. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection  -fcommon whatnowproc.c
whatnowproc.c: In function ‘what_now’:
whatnowproc.c:96:17: warning: ignoring return value of ‘chdir’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
   96 |                 chdir(cwd);
      |                 ^~~~~~~~~~
gcc -Wl,-z,relro -Wl,-z,now  -o comp comp.o whatnowproc.o ../sbr/libmh.a 
gcc -c -DHAVE_CONFIG_H  -D_GNU_SOURCE -DVERSION="\"`../version.sh ..`\"" -I. -I.. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection  -fcommon dist.c
gcc -Wl,-z,relro -Wl,-z,now  -o dist dist.o whatnowproc.o ../sbr/libmh.a 
gcc -c -DHAVE_CONFIG_H  -D_GNU_SOURCE -DVERSION="\"`../version.sh ..`\"" -I. -I.. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection  -fcommon flist.c
gcc -Wl,-z,relro -Wl,-z,now  -o flist flist.o ../sbr/libmh.a 
gcc -c -DHAVE_CONFIG_H  -D_GNU_SOURCE -DVERSION="\"`../version.sh ..`\"" -I. -I.. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection  -fcommon folder.c
gcc -Wl,-z,relro -Wl,-z,now  -o folder folder.o ../sbr/libmh.a 
gcc -c -DHAVE_CONFIG_H  -D_GNU_SOURCE -DVERSION="\"`../version.sh ..`\"" -I. -I.. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection  -fcommon forw.c
gcc -Wl,-z,relro -Wl,-z,now  -o forw forw.o whatnowproc.o ../sbr/libmh.a 
cp ./mmh.sh mmh
chmod +x mmh
gcc -c -DHAVE_CONFIG_H  -D_GNU_SOURCE -DVERSION="\"`../version.sh ..`\"" -I. -I.. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection  -fcommon mark.c
gcc -Wl,-z,relro -Wl,-z,now  -o mark mark.o ../sbr/libmh.a 
gcc -c -DHAVE_CONFIG_H  -D_GNU_SOURCE -DVERSION="\"`../version.sh ..`\"" -I. -I.. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection  -fcommon mhbuild.c
gcc -c -DHAVE_CONFIG_H  -D_GNU_SOURCE -DVERSION="\"`../version.sh ..`\"" -I. -I.. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection  -fcommon mhoutsbr.c
gcc -c -DHAVE_CONFIG_H  -D_GNU_SOURCE -DVERSION="\"`../version.sh ..`\"" -I. -I.. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection  -fcommon mhmisc.c
gcc -c -DHAVE_CONFIG_H  -D_GNU_SOURCE -DVERSION="\"`../version.sh ..`\"" -I. -I.. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection  -fcommon mhfree.c
gcc -c -DHAVE_CONFIG_H  -D_GNU_SOURCE -DVERSION="\"`../version.sh ..`\"" -I. -I.. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection  -fcommon mhparse.c
gcc -c -DHAVE_CONFIG_H  -D_GNU_SOURCE -DVERSION="\"`../version.sh ..`\"" -I. -I.. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection  -fcommon termsbr.c
gcc -Wl,-z,relro -Wl,-z,now  -o mhbuild mhbuild.o mhoutsbr.o mhmisc.o mhfree.o mhparse.o ../sbr/libmh.a  -ltermcap
gcc -c -DHAVE_CONFIG_H  -D_GNU_SOURCE -DVERSION="\"`../version.sh ..`\"" -I. -I.. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection  -fcommon mhl.c
mhl.c: In function ‘putcomp’:
mhl.c:1030:58: error: pointer type mismatch in conditional expression [-Wincompatible-pointer-types]
 1030 |                 putstr((c1->c_flags & RTRIM) ? rtrim(cp) : cp);
      |                                                          ^
mhl.c:1030:48: note: first expression has type ‘char *’
 1030 |                 putstr((c1->c_flags & RTRIM) ? rtrim(cp) : cp);
      |                                                ^~~~~~~~~
mhl.c:1030:60: note: second expression has type ‘unsigned char *’
 1030 |                 putstr((c1->c_flags & RTRIM) ? rtrim(cp) : cp);
      |                                                            ^~
mhl.c:1044:66: error: pointer type mismatch in conditional expression [-Wincompatible-pointer-types]
 1044 |                         putstr((c1->c_flags & RTRIM) ? rtrim(cp) : cp);
      |                                                                  ^
mhl.c:1044:56: note: first expression has type ‘char *’
 1044 |                         putstr((c1->c_flags & RTRIM) ? rtrim(cp) : cp);
      |                                                        ^~~~~~~~~
mhl.c:1044:68: note: second expression has type ‘unsigned char *’
 1044 |                         putstr((c1->c_flags & RTRIM) ? rtrim(cp) : cp);
      |                                                                    ^~
make[2]: *** [Makefile:50: mhl.o] Error 1
make[2]: Leaving directory '/<<PKGBUILDDIR>>/uip'
make[1]: *** [Makefile:81: all-recursive] Error 1
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
dh_auto_build: error: make -j1 returned exit code 2
make: *** [debian/rules:8: binary] Error 25
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2