Subject: vncsnapshot: ftbfs with GCC-15

From: Matthias Klose <[email-masked]>
Date: Mon, 17 Feb 2025 17:59:27 +0000

Package: src:vncsnapshot
Version: 1.2a-6
Severity: important
Tags: sid forky
User: [email-masked]
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/vncsnapshot_1.2a-6_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

[...]
dpkg-buildpackage: info: source package vncsnapshot
dpkg-buildpackage: info: source version 1.2a-6
dpkg-buildpackage: info: source distribution unstable
dpkg-buildpackage: info: source changed by наб <[email-masked]>
 dpkg-source --before-build .
dpkg-buildpackage: info: host architecture amd64
 debian/rules clean
dh clean --no-parallel
   dh_auto_clean -O--no-parallel
	make -j1 clean
make[1]: Entering directory '/build/reproducible-path/vncsnapshot-1.2a'
cd rdr;make clean
make[2]: Entering directory '/build/reproducible-path/vncsnapshot-1.2a/rdr'
rm -f FdInStream.o InStream.o ZlibInStream.o FdOutStream.o NullOutStream.o ZlibOutStream.o librdr.a core
make[2]: Leaving directory '/build/reproducible-path/vncsnapshot-1.2a/rdr'
rm -f argsresources.o buffer.o cursor.o listen.o rfbproto.o sockets.o tunnel.o vncsnapshot.o d3des.o vncauth.o zrle.o vncpasswd.o vncauth.o d3des.o vncpasswd vncsnapshot core
make[1]: Leaving directory '/build/reproducible-path/vncsnapshot-1.2a'
   dh_autoreconf_clean -O--no-parallel
   dh_clean -O--no-parallel
 debian/rules binary
dh binary --no-parallel
   dh_update_autotools_config -O--no-parallel
   dh_autoreconf -O--no-parallel
   dh_auto_configure -O--no-parallel
   debian/rules override_dh_auto_build
make[1]: Entering directory '/build/reproducible-path/vncsnapshot-1.2a'
dh_auto_build -- CDEBUGFLAGS='-g -O2 -ffile-prefix-map=/build/reproducible-path/vncsnapshot-1.2a=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection' LDFLAGS='-Wl,-z,relro -Wl,-z,now'
	make -j1 "INSTALL=install --strip-program=true" "CDEBUGFLAGS=-g -O2 -ffile-prefix-map=/build/reproducible-path/vncsnapshot-1.2a=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection" "LDFLAGS=-Wl,-z,relro -Wl,-z,now"
make[2]: Entering directory '/build/reproducible-path/vncsnapshot-1.2a'
cd rdr;make all
make[3]: Entering directory '/build/reproducible-path/vncsnapshot-1.2a/rdr'
g++ -g -O2 -ffile-prefix-map=/build/reproducible-path/vncsnapshot-1.2a=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -I. -I..    -Wdate-time -D_FORTIFY_SOURCE=2  -c -o FdInStream.o FdInStream.cxx
echo FdInStream.o FdInStream.cxx
FdInStream.o FdInStream.cxx
g++ -g -O2 -ffile-prefix-map=/build/reproducible-path/vncsnapshot-1.2a=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -I. -I..    -Wdate-time -D_FORTIFY_SOURCE=2  -c -o InStream.o InStream.cxx
echo InStream.o InStream.cxx
InStream.o InStream.cxx
g++ -g -O2 -ffile-prefix-map=/build/reproducible-path/vncsnapshot-1.2a=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -I. -I..    -Wdate-time -D_FORTIFY_SOURCE=2  -c -o ZlibInStream.o ZlibInStream.cxx
echo ZlibInStream.o ZlibInStream.cxx
ZlibInStream.o ZlibInStream.cxx
g++ -g -O2 -ffile-prefix-map=/build/reproducible-path/vncsnapshot-1.2a=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -I. -I..    -Wdate-time -D_FORTIFY_SOURCE=2  -c -o FdOutStream.o FdOutStream.cxx
echo FdOutStream.o FdOutStream.cxx
FdOutStream.o FdOutStream.cxx
g++ -g -O2 -ffile-prefix-map=/build/reproducible-path/vncsnapshot-1.2a=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -I. -I..    -Wdate-time -D_FORTIFY_SOURCE=2  -c -o NullOutStream.o NullOutStream.cxx
echo NullOutStream.o NullOutStream.cxx
NullOutStream.o NullOutStream.cxx
g++ -g -O2 -ffile-prefix-map=/build/reproducible-path/vncsnapshot-1.2a=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -I. -I..    -Wdate-time -D_FORTIFY_SOURCE=2  -c -o ZlibOutStream.o ZlibOutStream.cxx
echo ZlibOutStream.o ZlibOutStream.cxx
ZlibOutStream.o ZlibOutStream.cxx
ar cr librdr.a FdInStream.o InStream.o ZlibInStream.o FdOutStream.o NullOutStream.o ZlibOutStream.o
ranlib librdr.a
make[3]: Leaving directory '/build/reproducible-path/vncsnapshot-1.2a/rdr'
gcc -g -O2 -ffile-prefix-map=/build/reproducible-path/vncsnapshot-1.2a=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -I. -I/usr/local/include -I/usr/local/include  -Wdate-time -D_FORTIFY_SOURCE=2  -c -o argsresources.o argsresources.c
gcc -g -O2 -ffile-prefix-map=/build/reproducible-path/vncsnapshot-1.2a=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -I. -I/usr/local/include -I/usr/local/include  -Wdate-time -D_FORTIFY_SOURCE=2  -c -o buffer.o buffer.c
gcc -g -O2 -ffile-prefix-map=/build/reproducible-path/vncsnapshot-1.2a=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -I. -I/usr/local/include -I/usr/local/include  -Wdate-time -D_FORTIFY_SOURCE=2  -c -o cursor.o cursor.c
gcc -g -O2 -ffile-prefix-map=/build/reproducible-path/vncsnapshot-1.2a=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -I. -I/usr/local/include -I/usr/local/include  -Wdate-time -D_FORTIFY_SOURCE=2  -c -o listen.o listen.c
listen.c:57:1: error: conflicting types for ‘listenForIncomingConnections’; have ‘void(int *, char **, int)’
   57 | listenForIncomingConnections(int *argc, char **argv, int listenArgIndex)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from listen.c:39:
vncsnapshot.h:155:13: note: previous declaration of ‘listenForIncomingConnections’ with type ‘void(void)’
  155 | extern void listenForIncomingConnections();
      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
make[2]: *** [<builtin>: listen.o] Error 1
make[2]: Leaving directory '/build/reproducible-path/vncsnapshot-1.2a'
dh_auto_build: error: make -j1 "INSTALL=install --strip-program=true" "CDEBUGFLAGS=-g -O2 -ffile-prefix-map=/build/reproducible-path/vncsnapshot-1.2a=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection" "LDFLAGS=-Wl,-z,relro -Wl,-z,now" returned exit code 2
make[1]: *** [debian/rules:7: override_dh_auto_build] Error 25
make[1]: Leaving directory '/build/reproducible-path/vncsnapshot-1.2a'
make: *** [debian/rules:13: binary] Error 2
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2