[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/nvi_1.81.6-23_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 [...] | ^~~~~~~~ ../dist/../regex/engine.c:305:1: note: in expansion of macro 'dissect' 305 | dissect(m, start, stop, startst, stopst) | ^~~~~~~ ../dist/../regex/engine.c: In function 'lbackref': ../dist/../regex/engine.c:63:17: warning: old-style function definition [-Wold-style-definition] 63 | #define backref lbackref | ^~~~~~~~ ../dist/../regex/engine.c:493:1: note: in expansion of macro 'backref' 493 | backref(m, start, stop, startst, stopst, lev) | ^~~~~~~ ../dist/../regex/engine.c: In function 'lfast': ../dist/../regex/engine.c:60:17: warning: old-style function definition [-Wold-style-definition] 60 | #define fast lfast | ^~~~~ ../dist/../regex/engine.c:697:1: note: in expansion of macro 'fast' 697 | fast(m, start, stop, startst, stopst) | ^~~~ ../dist/../regex/engine.c: In function 'lslow': ../dist/../regex/engine.c:61:17: warning: old-style function definition [-Wold-style-definition] 61 | #define slow lslow | ^~~~~ ../dist/../regex/engine.c:788:1: note: in expansion of macro 'slow' 788 | slow(m, start, stop, startst, stopst) | ^~~~ ../dist/../regex/engine.c: In function 'lstep': ../dist/../regex/engine.c:64:17: warning: old-style function definition [-Wold-style-definition] 64 | #define step lstep | ^~~~~ ../dist/../regex/engine.c:884:1: note: in expansion of macro 'step' 884 | step(g, start, stop, bef, ch, aft) | ^~~~ /bin/bash ./libtool --tag=CC --mode=compile x86_64-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I../dist -D__REGEX_PRIVATE -I. -I../dist/../include -DVI=\"/usr/bin/`echo vi-ipc | sed 's&^&n&'`\" -I../dist/../regex -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/nvi-1.81.6=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -c -o regfree.lo `test -f '../dist/../regex/regfree.c' || echo '../dist/'`../dist/../regex/regfree.c x86_64-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I../dist -D__REGEX_PRIVATE -I. -I../dist/../include -DVI=\"/usr/bin/nvi-ipc\" -I../dist/../regex -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/nvi-1.81.6=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -c ../dist/../regex/regfree.c -o regfree.o /bin/bash ./libtool --tag=CC --mode=compile x86_64-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I../dist -D__REGEX_PRIVATE -I. -I../dist/../include -DVI=\"/usr/bin/`echo vi-ipc | sed 's&^&n&'`\" -I../dist/../regex -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/nvi-1.81.6=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -c -o log.lo `test -f '../dist/../common/log.c' || echo '../dist/'`../dist/../common/log.c x86_64-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I../dist -D__REGEX_PRIVATE -I. -I../dist/../include -DVI=\"/usr/bin/nvi-ipc\" -I../dist/../regex -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/nvi-1.81.6=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -c ../dist/../common/log.c -o log.o In file included from ../dist/../common/common.h:89, from ../dist/../common/log.c:28: ../dist/../common/key.h:56:9: warning: 'CHAR_WIDTH' redefined 56 | #define CHAR_WIDTH(sp, ch) wcwidth(ch) | ^~~~~~~~~~ In file included from ../dist/../common/log.c:23: /usr/lib/gcc/x86_64-linux-gnu/15/include/limits.h:165:10: note: this is the location of the previous definition 165 | # define CHAR_WIDTH __SCHAR_WIDTH__ | ^~~~~~~~~~ /bin/bash ./libtool --tag=CC --mode=link x86_64-linux-gnu-gcc -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/nvi-1.81.6=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wl,-z,relro -Wl,-z,now -Wl,-z,relro -Wl,-z,now -o libvi.la -rpath /usr/lib api.lo conv.lo cut.lo delete.lo ex.lo ex_abbrev.lo ex_append.lo ex_args.lo ex_argv.lo ex_at.lo ex_bang.lo ex_cd.lo ex_cmd.lo ex_cscope.lo ex_delete.lo ex_display.lo ex_edit.lo ex_equal.lo ex_file.lo ex_filter.lo ex_global.lo ex_init.lo ex_join.lo ex_map.lo ex_mark.lo ex_mkexrc.lo ex_move.lo ex_open.lo ex_perl.lo ex_preserve.lo ex_print.lo ex_put.lo ex_quit.lo ex_read.lo ex_screen.lo ex_script.lo ex_set.lo ex_shell.lo ex_shift.lo ex_source.lo ex_stop.lo ex_subst.lo ex_tag.lo ex_tcl.lo ex_txt.lo ex_undo.lo ex_usage.lo ex_util.lo ex_version.lo ex_visual.lo ex_write.lo ex_yank.lo ex_z.lo exf.lo getc.lo gs.lo key.lo db.lo main.lo mark.lo msg.lo options.lo options_f.lo put.lo recover.lo screen.lo search.lo seq.lo trace.lo util.lo util2.lo v_at.lo v_ch.lo v_cmd.lo v_delete.lo v_event.lo v_ex.lo v_increment.lo v_init.lo v_itxt.lo v_left.lo v_mark.lo v_match.lo v_paragraph.lo v_put.lo v_redraw.lo v_replace.lo v_right.lo v_screen.lo v_scroll.lo v_search.lo v_section.lo v_sentence.lo v_status.lo v_txt.lo v_ulcase.lo v_undo.lo v_util.lo v_word.lo v_xchar.lo v_yank.lo v_z.lo v_zexit.lo vi.lo vs_line.lo vs_msg.lo vs_refresh.lo vs_relative.lo vs_smap.lo vs_split.lo regcomp.lo regerror.lo regexec.lo regfree.lo log.lo -ldb mkdir .libs x86_64-linux-gnu-ar cru .libs/libvi.a api.o conv.o cut.o delete.o ex.o ex_abbrev.o ex_append.o ex_args.o ex_argv.o ex_at.o ex_bang.o ex_cd.o ex_cmd.o ex_cscope.o ex_delete.o ex_display.o ex_edit.o ex_equal.o ex_file.o ex_filter.o ex_global.o ex_init.o ex_join.o ex_map.o ex_mark.o ex_mkexrc.o ex_move.o ex_open.o ex_perl.o ex_preserve.o ex_print.o ex_put.o ex_quit.o ex_read.o ex_screen.o ex_script.o ex_set.o ex_shell.o ex_shift.o ex_source.o ex_stop.o ex_subst.o ex_tag.o ex_tcl.o ex_txt.o ex_undo.o ex_usage.o ex_util.o ex_version.o ex_visual.o ex_write.o ex_yank.o ex_z.o exf.o getc.o gs.o key.o db.o main.o mark.o msg.o options.o options_f.o put.o recover.o screen.o search.o seq.o trace.o util.o util2.o v_at.o v_ch.o v_cmd.o v_delete.o v_event.o v_ex.o v_increment.o v_init.o v_itxt.o v_left.o v_mark.o v_match.o v_paragraph.o v_put.o v_redraw.o v_replace.o v_right.o v_screen.o v_scroll.o v_search.o v_section.o v_sentence.o v_status.o v_txt.o v_ulcase.o v_undo.o v_util.o v_word.o v_xchar.o v_yank.o v_z.o v_zexit.o vi.o vs_line.o vs_msg.o vs_refresh.o vs_relative.o vs_smap.o vs_split.o regcomp.o regerror.o regexec.o regfree.o log.o x86_64-linux-gnu-ar: `u' modifier ignored since `D' is the default (see `U') x86_64-linux-gnu-ranlib .libs/libvi.a creating libvi.la (cd .libs && rm -f libvi.la && ln -s ../libvi.la libvi.la) x86_64-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I../dist -D__REGEX_PRIVATE -I. -I../dist/../include -DVI=\"/usr/bin/`echo vi-ipc | sed 's&^&n&'`\" -I../dist/../regex -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/nvi-1.81.6=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -c -o vi-cl_bsd.o `test -f '../dist/../cl/cl_bsd.c' || echo '../dist/'`../dist/../cl/cl_bsd.c In file included from ../dist/../cl/cl.h:112, from ../dist/../cl/cl_bsd.c:29: ../dist/../cl/extern.h:24:7: error: conflicting types for ‘tigetstr’; have ‘char *(void)’ 24 | char *tigetstr(); | ^~~~~~~~ In file included from ../dist/../cl/cl.h:19: /usr/include/curses.h:903:31: note: previous declaration of ‘tigetstr’ with type ‘char *(const char *)’ 903 | extern NCURSES_EXPORT(char *) tigetstr (const char *); /* implemented */ | ^~~~~~~~ make[3]: *** [Makefile:1127: vi-cl_bsd.o] Error 1 make[3]: Leaving directory '/build/reproducible-path/nvi-1.81.6/build.unix' make[2]: *** [Makefile:570: all] Error 2 make[2]: Leaving directory '/build/reproducible-path/nvi-1.81.6/build.unix' make[1]: *** [debian/rules:52: override_dh_auto_build] Error 2 make[1]: Leaving directory '/build/reproducible-path/nvi-1.81.6' make: *** [debian/rules:19: binary] Error 2 dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2