#1098062 vifm: ftbfs with GCC-15

#1098062#5
Date:
2025-02-17 17:59:17 UTC
From:
To:
[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/vifm_0.12-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

[...]
if [ -n "perl" ]; then \
	/build/reproducible-path/vifm-0.12/src/helpztags "/build/reproducible-path/vifm-0.12/src/../data/vim/doc/plugin"; \
elif [ -n "vim" ]; then \
	vim -e -s -c 'helptags /build/reproducible-path/vifm-0.12/src/../data/vim/doc/plugin|q'; \
else \
	touch /build/reproducible-path/vifm-0.12/src/../data/vim/doc/plugin/tags; \
fi
gcc -DHAVE_CONFIG_H -I. -I../build-aux   -Wdate-time -D_FORTIFY_SOURCE=2 -I/usr/include/ncursesw  -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/vifm-0.12=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wall -pthread  -include ../build-aux/config.h -c -o cfg/config.o cfg/config.c
Processing /build/reproducible-path/vifm-0.12/src/../data/vim/doc/plugin
gcc -DHAVE_CONFIG_H -I. -I../build-aux   -Wdate-time -D_FORTIFY_SOURCE=2 -I/usr/include/ncursesw  -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/vifm-0.12=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wall -pthread  -include ../build-aux/config.h -c -o cfg/info.o cfg/info.c
gcc -DHAVE_CONFIG_H -I. -I../build-aux   -Wdate-time -D_FORTIFY_SOURCE=2 -I/usr/include/ncursesw  -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/vifm-0.12=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wall -pthread  -include ../build-aux/config.h -c -o compat/curses.o compat/curses.c
gcc -DHAVE_CONFIG_H -I. -I../build-aux   -Wdate-time -D_FORTIFY_SOURCE=2 -I/usr/include/ncursesw  -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/vifm-0.12=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wall -pthread  -include ../build-aux/config.h -c -o compat/dtype.o compat/dtype.c
gcc -DHAVE_CONFIG_H -I. -I../build-aux   -Wdate-time -D_FORTIFY_SOURCE=2 -I/usr/include/ncursesw  -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/vifm-0.12=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wall -pthread  -include ../build-aux/config.h -c -o compat/getopt.o compat/getopt.c
gcc -DHAVE_CONFIG_H -I. -I../build-aux   -Wdate-time -D_FORTIFY_SOURCE=2 -I/usr/include/ncursesw  -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/vifm-0.12=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wall -pthread  -include ../build-aux/config.h -c -o compat/getopt1.o compat/getopt1.c
gcc -DHAVE_CONFIG_H -I. -I../build-aux   -Wdate-time -D_FORTIFY_SOURCE=2 -I/usr/include/ncursesw  -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/vifm-0.12=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wall -pthread  -include ../build-aux/config.h -c -o compat/mntent.o compat/mntent.c
gcc -DHAVE_CONFIG_H -I. -I../build-aux   -Wdate-time -D_FORTIFY_SOURCE=2 -I/usr/include/ncursesw  -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/vifm-0.12=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wall -pthread  -include ../build-aux/config.h -c -o compat/os.o compat/os.c
gcc -DHAVE_CONFIG_H -I. -I../build-aux   -Wdate-time -D_FORTIFY_SOURCE=2 -I/usr/include/ncursesw  -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/vifm-0.12=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wall -pthread  -include ../build-aux/config.h -c -o compat/pthread.o compat/pthread.c
gcc -DHAVE_CONFIG_H -I. -I../build-aux   -Wdate-time -D_FORTIFY_SOURCE=2 -I/usr/include/ncursesw  -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/vifm-0.12=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wall -pthread  -include ../build-aux/config.h -c -o compat/reallocarray.o compat/reallocarray.c
gcc -DHAVE_CONFIG_H -I. -I../build-aux   -Wdate-time -D_FORTIFY_SOURCE=2 -I/usr/include/ncursesw  -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/vifm-0.12=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wall -pthread  -include ../build-aux/config.h -c -o engine/abbrevs.o engine/abbrevs.c
gcc -DHAVE_CONFIG_H -I. -I../build-aux   -Wdate-time -D_FORTIFY_SOURCE=2 -I/usr/include/ncursesw  -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/vifm-0.12=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wall -pthread  -include ../build-aux/config.h -c -o engine/autocmds.o engine/autocmds.c
gcc -DHAVE_CONFIG_H -I. -I../build-aux   -Wdate-time -D_FORTIFY_SOURCE=2 -I/usr/include/ncursesw  -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/vifm-0.12=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wall -pthread  -include ../build-aux/config.h -c -o engine/cmds.o engine/cmds.c
gcc -DHAVE_CONFIG_H -I. -I../build-aux   -Wdate-time -D_FORTIFY_SOURCE=2 -I/usr/include/ncursesw  -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/vifm-0.12=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wall -pthread  -include ../build-aux/config.h -c -o engine/completion.o engine/completion.c
gcc -DHAVE_CONFIG_H -I. -I../build-aux   -Wdate-time -D_FORTIFY_SOURCE=2 -I/usr/include/ncursesw  -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/vifm-0.12=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wall -pthread  -include ../build-aux/config.h -c -o engine/functions.o engine/functions.c
gcc -DHAVE_CONFIG_H -I. -I../build-aux   -Wdate-time -D_FORTIFY_SOURCE=2 -I/usr/include/ncursesw  -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/vifm-0.12=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wall -pthread  -include ../build-aux/config.h -c -o engine/keys.o engine/keys.c
gcc -DHAVE_CONFIG_H -I. -I../build-aux   -Wdate-time -D_FORTIFY_SOURCE=2 -I/usr/include/ncursesw  -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/vifm-0.12=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wall -pthread  -include ../build-aux/config.h -c -o engine/mode.o engine/mode.c
gcc -DHAVE_CONFIG_H -I. -I../build-aux   -Wdate-time -D_FORTIFY_SOURCE=2 -I/usr/include/ncursesw  -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/vifm-0.12=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wall -pthread  -include ../build-aux/config.h -c -o engine/options.o engine/options.c
gcc -DHAVE_CONFIG_H -I. -I../build-aux   -Wdate-time -D_FORTIFY_SOURCE=2 -I/usr/include/ncursesw  -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/vifm-0.12=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wall -pthread  -include ../build-aux/config.h -c -o engine/parsing.o engine/parsing.c
gcc -DHAVE_CONFIG_H -I. -I../build-aux   -Wdate-time -D_FORTIFY_SOURCE=2 -I/usr/include/ncursesw  -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/vifm-0.12=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wall -pthread  -include ../build-aux/config.h -c -o engine/text_buffer.o engine/text_buffer.c
gcc -DHAVE_CONFIG_H -I. -I../build-aux   -Wdate-time -D_FORTIFY_SOURCE=2 -I/usr/include/ncursesw  -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/vifm-0.12=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wall -pthread  -include ../build-aux/config.h -c -o engine/var.o engine/var.c
gcc -DHAVE_CONFIG_H -I. -I../build-aux   -Wdate-time -D_FORTIFY_SOURCE=2 -I/usr/include/ncursesw  -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/vifm-0.12=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wall -pthread  -include ../build-aux/config.h -c -o engine/variables.o engine/variables.c
gcc -DHAVE_CONFIG_H -I. -I../build-aux   -Wdate-time -D_FORTIFY_SOURCE=2 -I/usr/include/ncursesw  -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/vifm-0.12=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wall -pthread  -include ../build-aux/config.h -c -o int/desktop.o int/desktop.c
gcc -DHAVE_CONFIG_H -I. -I../build-aux   -Wdate-time -D_FORTIFY_SOURCE=2 -I/usr/include/ncursesw  -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/vifm-0.12=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wall -pthread  -include ../build-aux/config.h -c -o int/ext_edit.o int/ext_edit.c
gcc -DHAVE_CONFIG_H -I. -I../build-aux   -Wdate-time -D_FORTIFY_SOURCE=2 -I/usr/include/ncursesw  -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/vifm-0.12=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wall -pthread  -include ../build-aux/config.h -c -o int/file_magic.o int/file_magic.c
gcc -DHAVE_CONFIG_H -I. -I../build-aux   -Wdate-time -D_FORTIFY_SOURCE=2 -I/usr/include/ncursesw  -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/vifm-0.12=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wall -pthread  -include ../build-aux/config.h -c -o int/fuse.o int/fuse.c
gcc -DHAVE_CONFIG_H -I. -I../build-aux   -Wdate-time -D_FORTIFY_SOURCE=2 -I/usr/include/ncursesw  -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/vifm-0.12=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wall -pthread  -include ../build-aux/config.h -c -o int/path_env.o int/path_env.c
gcc -DHAVE_CONFIG_H -I. -I../build-aux   -Wdate-time -D_FORTIFY_SOURCE=2 -I/usr/include/ncursesw  -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/vifm-0.12=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wall -pthread  -include ../build-aux/config.h -c -o int/term_title.o int/term_title.c
int/term_title.c: In function ‘get_x11_window_title’:
int/term_title.c:361:21: error: assignment to ‘int (*)(void)’ from incompatible pointer type ‘XErrorHandler’ {aka ‘int (*)(Display *, XErrorEvent *)’} [-Wincompatible-pointer-types]
  361 |         old_handler = XSetErrorHandlerWrapper(x_error_check);
      |                     ^
In file included from int/term_title.c:28:
/usr/include/X11/Xlib.h:1843:15: note: ‘XErrorHandler’ declared here
 1843 | typedef int (*XErrorHandler) (      /* WARNING, this type not in Xlib spec */
      |               ^~~~~~~~~~~~~
int/term_title.c:364:47: error: passing argument 1 of ‘XSetErrorHandlerWrapper’ from incompatible pointer type [-Wincompatible-pointer-types]
  364 |                 (void)XSetErrorHandlerWrapper(old_handler);
      |                                               ^~~~~~~~~~~
      |                                               |
      |                                               int (*)(void)
int/term_title.c:364:47: note: expected ‘XErrorHandler’ {aka ‘int (*)(Display *, XErrorEvent *)’} but argument is of type ‘int (*)(void)’
/usr/include/X11/Xlib.h:1843:15: note: ‘XErrorHandler’ declared here
 1843 | typedef int (*XErrorHandler) (      /* WARNING, this type not in Xlib spec */
      |               ^~~~~~~~~~~~~
int/term_title.c:368:39: error: passing argument 1 of ‘XSetErrorHandlerWrapper’ from incompatible pointer type [-Wincompatible-pointer-types]
  368 |         (void)XSetErrorHandlerWrapper(old_handler);
      |                                       ^~~~~~~~~~~
      |                                       |
      |                                       int (*)(void)
int/term_title.c:368:39: note: expected ‘XErrorHandler’ {aka ‘int (*)(Display *, XErrorEvent *)’} but argument is of type ‘int (*)(void)’
/usr/include/X11/Xlib.h:1843:15: note: ‘XErrorHandler’ declared here
 1843 | typedef int (*XErrorHandler) (      /* WARNING, this type not in Xlib spec */
      |               ^~~~~~~~~~~~~
make[2]: *** [Makefile:1834: int/term_title.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[2]: Leaving directory '/build/reproducible-path/vifm-0.12/src'
make[1]: *** [Makefile:390: all-recursive] Error 1
make[1]: Leaving directory '/build/reproducible-path/vifm-0.12'
dh_auto_build: error: make -j8 returned exit code 2
make: *** [debian/rules:12: binary] Error 25
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2