Package: src:ucspi-proxy
Version: 0.99-7
Severity: important
Tags: sid forky
User: debian-...@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/ucspi-proxy_0.99-7_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: host architecture amd64
 debian/rules clean
/usr/bin/make clean
make[1]: Entering directory '/build/reproducible-path/ucspi-proxy-0.99'
rm -f `cat TARGETS`
make[1]: Leaving directory '/build/reproducible-path/ucspi-proxy-0.99'
for i in `ls *'{orig}' || :`; do mv -vf $i ${i%'{orig}'}; done
ls: cannot access '*{orig}': No such file or directory
rm -f build-stamp configure-stamp
rm -rf '/build/reproducible-path/ucspi-proxy-0.99/debian/ucspi-proxy'
rm -f debian/files debian/substvars changelog
 debian/rules binary
for i in conf-*; do \
  test -e ${i%'{orig}'}'{orig}' || cp -v $i $i'{orig}'; \
done
'conf-bgincs' -> 'conf-bgincs{orig}'
'conf-bglibs' -> 'conf-bglibs{orig}'
'conf-bin' -> 'conf-bin{orig}'
'conf-cc' -> 'conf-cc{orig}'
'conf-ld' -> 'conf-ld{orig}'
'conf-man' -> 'conf-man{orig}'
echo '/usr/bin' >conf-bin
echo '/usr/include/bglibs' >conf-bgincs
echo 'gcc ${CPPFLAGS} ${CFLAGS}' >conf-cc
echo 'gcc ${LDFLAGS}' >conf-ld
echo '/usr/share/man' >conf-man
touch configure-stamp
/usr/bin/make CPPFLAGS="`dpkg-buildflags --get CPPFLAGS`" 
CFLAGS="`dpkg-buildflags --get CFLAGS`" LDFLAGS="`dpkg-buildflags --get 
LDFLAGS`"
make[1]: Entering directory '/build/reproducible-path/ucspi-proxy-0.99'
( echo '#!/bin/sh'; \
  echo 'lib="$1"; shift';\
  echo 'rm -f "$lib"';\
  echo 'ar cr "$lib" ${1+"$@"}';\
  echo 'ranlib "$lib"';\
) >makelib
chmod 755 makelib
( bgincs=`head -n 1 conf-bgincs`; \
  echo '#!/bin/sh'; \
  echo 'source=$1; shift'; \
  echo 'base=`echo "$source" | sed -e s:\\\\.c$::`'; \
  echo echo `head -n 1 conf-cc` -I. "-I'${bgincs}'" '-o ${base}.o -c $source 
${1+"$@"}'; \
  echo exec `head -n 1 conf-cc` -I. "-I'${bgincs}'" '-o ${base}.o -c $source 
${1+"$@"}'; \
) >compile
chmod 755 compile
./compile base64.c
gcc -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 
-Werror=implicit-function-declaration 
-ffile-prefix-map=/build/reproducible-path/ucspi-proxy-0.99=. 
-fstack-protector-strong -fstack-clash-protection -Wformat 
-Werror=format-security -fcf-protection -I. -I/usr/include/bglibs -o base64.o 
-c base64.c
In file included from /usr/include/bglibs/str.h:5,
                 from /usr/include/bglibs/base64.h:4,
                 from base64.c:4:
/usr/include/bglibs/sysdeps.h:91:12: error: conflicting types for ‘select’; 
have ‘int(void)’
   91 | extern int select();
      |            ^~~~~~
In file included from /usr/include/x86_64-linux-gnu/sys/types.h:179,
                 from /usr/include/stdlib.h:514,
                 from base64.c:1:
/usr/include/x86_64-linux-gnu/sys/select.h:102:12: note: previous declaration 
of ‘select’ with type ‘int(int,  fd_set * restrict,  fd_set * restrict,  fd_set 
* restrict,  struct timeval * restrict)’
  102 | extern int select (int __nfds, fd_set *__restrict __readfds,
      |            ^~~~~~
In file included from base64.c:8:
ucspi-proxy.h:22:13: error: ‘bool’ cannot be defined via ‘typedef’
   22 | typedef int bool;
      |             ^~~~
ucspi-proxy.h:22:13: note: ‘bool’ is a keyword with ‘-std=c23’ onwards
ucspi-proxy.h:22:1: warning: useless type name in empty declaration
   22 | typedef int bool;
      | ^~~~~~~
make[1]: *** [Makefile:15: base64.o] Error 1
make[1]: Leaving directory '/build/reproducible-path/ucspi-proxy-0.99'
make: *** [debian/rules:31: build-stamp] Error 2
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2

Reply via email to