[Debian GNUstep maintainers] Bug#1096744: gnustep-base: ftbfs with GCC-15

Matthias Klose doko at debian.org
Mon Feb 17 17:17:00 GMT 2025


Package: src:gnustep-base
Version: 1.30.0-14
Severity: important
Tags: sid forky
User: debian-gcc at 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/gnustep-base_1.30.0-14_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

[...]
Making all for ctool gdomap...
cd .; \
/usr/share/GNUstep/Makefiles/mkinstalldirs ./obj/gdomap.obj/
x86_64-linux-gnu-gcc gdomap.c -c \
      -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -DGNUSTEP_BASE_INTERNAL=1 -Wall -Wdeclaration-after-statement -DGNUSTEP -DGNUSTEP_BASE_LIBRARY=1 -DGNU_RUNTIME=1 -DGNUSTEP_BASE_LIBRARY=1 -pthread -pthread -fPIC -Wall -DGSWARN -DGSDIAGNOSE -Wno-import -g -O2 -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/gnustep-base-1.30.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -I../Source/. -I../Source/ -I../Headers -I. -I/usr/include/x86_64-linux-gnu/GNUstep -I/usr/include -Wdate-time -D_FORTIFY_SOURCE=2 -I/usr/local/include/GNUstep -I/usr/local/include/GNUstep -I/usr/include/x86_64-linux-gnu/GNUstep -I/usr/include/libxml2 -I/usr/include/libxml2 -I/usr/include/p11-kit-1 \
       -o obj/gdomap.obj/gdomap.c.o
gdomap.c: In function ‘init_ports’:
gdomap.c:2030:19: error: passing argument 2 of ‘signal’ from incompatible pointer type [-Wincompatible-pointer-types]
 2030 |   signal(SIGUSR1, dump_tables);
      |                   ^~~~~~~~~~~
      |                   |
      |                   void (*)(void)
In file included from /usr/include/x86_64-linux-gnu/sys/param.h:28,
                 from gdomap.c:41:
/usr/include/signal.h:88:57: note: expected ‘__sighandler_t’ {aka ‘void (*)(int)’} but argument is of type ‘void (*)(void)’
   88 | extern __sighandler_t signal (int __sig, __sighandler_t __handler)
      |                                          ~~~~~~~~~~~~~~~^~~~~~~~~
gdomap.c:1139:1: note: ‘dump_tables’ declared here
 1139 | dump_tables()
      | ^~~~~~~~~~~
/usr/include/signal.h:72:16: note: ‘__sighandler_t’ declared here
   72 | typedef void (*__sighandler_t) (int);
      |                ^~~~~~~~~~~~~~
gdomap.c: In function ‘tryWrite’:
gdomap.c:3714:16: error: assignment to ‘void (*)(void)’ from incompatible pointer type ‘__sighandler_t’ {aka ‘void (*)(int)’} [-Wincompatible-pointer-types]
 3714 |           ifun = signal(SIGPIPE, (void(*)(int))SIG_IGN);
      |                ^
/usr/include/signal.h:72:16: note: ‘__sighandler_t’ declared here
   72 | typedef void (*__sighandler_t) (int);
      |                ^~~~~~~~~~~~~~
gdomap.c:3716:27: error: passing argument 2 of ‘signal’ from incompatible pointer type [-Wincompatible-pointer-types]
 3716 |           signal(SIGPIPE, ifun);
      |                           ^~~~
      |                           |
      |                           void (*)(void)
/usr/include/signal.h:88:57: note: expected ‘__sighandler_t’ {aka ‘void (*)(int)’} but argument is of type ‘void (*)(void)’
   88 | extern __sighandler_t signal (int __sig, __sighandler_t __handler)
      |                                          ~~~~~~~~~~~~~~~^~~~~~~~~
/usr/include/signal.h:72:16: note: ‘__sighandler_t’ declared here
   72 | typedef void (*__sighandler_t) (int);
      |                ^~~~~~~~~~~~~~
gdomap.c: In function ‘main’:
gdomap.c:5340:7: warning: ignoring return value of ‘chdir’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
 5340 |       chdir("/");
      |       ^~~~~~~~~~
gdomap.c: In function ‘gdomap_log’:
gdomap.c:325:7: warning: ignoring return value of ‘write’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
  325 |       write (1, ebuf, strlen (ebuf));
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
gdomap.c:326:7: warning: ignoring return value of ‘write’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
  326 |       write (1, "\n", 1);
      |       ^~~~~~~~~~~~~~~~~~
gdomap.c:330:7: warning: ignoring return value of ‘write’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
  330 |       write (2, ebuf, strlen (ebuf));
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
gdomap.c:331:7: warning: ignoring return value of ‘write’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
  331 |       write (2, "\n", 1);
      |       ^~~~~~~~~~~~~~~~~~
make[6]: *** [/usr/share/GNUstep/Makefiles/rules.make:528: obj/gdomap.obj/gdomap.c.o] Error 1
make[5]: *** [/usr/share/GNUstep/Makefiles/Instance/ctool.make:74: internal-ctool-all_] Error 2
make[4]: *** [/usr/share/GNUstep/Makefiles/Master/rules.make:297: gdomap.all.ctool.variables] Error 2
make[3]: *** [/usr/share/GNUstep/Makefiles/Master/ctool.make:36: internal-all] Error 2
make[3]: Leaving directory '/build/reproducible-path/gnustep-base-1.30.0/Tools'
make[2]: *** [/usr/share/GNUstep/Makefiles/Master/serial-subdirectories.make:53: internal-all] Error 2
make[2]: Leaving directory '/build/reproducible-path/gnustep-base-1.30.0'
dh_auto_build: error: make -j8 messages=yes doc=no ASFLAGS= ASFLAGS_FOR_BUILD= "CFLAGS=-g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/gnustep-base-1.30.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection" "CFLAGS_FOR_BUILD=-g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/gnustep-base-1.30.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection" "CPPFLAGS=-Wdate-time -D_FORTIFY_SOURCE=2" "CPPFLAGS_FOR_BUILD=-Wdate-time -D_FORTIFY_SOURCE=2" "CXXFLAGS=-g -O2 -ffile-prefix-map=/build/reproducible-path/gnustep-base-1.30.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection" "CXXFLAGS_FOR_BUILD=-g -O2 -ffile-prefix-map=/build/reproducible-path/gnustep-base-1.30.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection" DFLAGS=-frelease DFLAGS_FOR_BUILD=-frelease "FCFLAGS=-g -O2 -ffile-prefix-map=/build/reproducible-path/gnustep-base-1.30.0=. -fstack-protector-strong -fstack-clash-protection -fcf-protection" "FCFLAGS_FOR_BUILD=-g -O2 -ffile-prefix-map=/build/reproducible-path/gnustep-base-1.30.0=. -fstack-protector-strong -fstack-clash-protection -fcf-protection" "FFLAGS=-g -O2 -ffile-prefix-map=/build/reproducible-path/gnustep-base-1.30.0=. -fstack-protector-strong -fstack-clash-protection -fcf-protection" "FFLAGS_FOR_BUILD=-g -O2 -ffile-prefix-map=/build/reproducible-path/gnustep-base-1.30.0=. -fstack-protector-strong -fstack-clash-protection -fcf-protection" "LDFLAGS=-Wl,-z,relro -Wl,-z,now -Wl,--no-undefined" "LDFLAGS_FOR_BUILD=-Wl,-z,relro -Wl,-z,now" "OBJCFLAGS=-g -O2 -ffile-prefix-map=/build/reproducible-path/gnustep-base-1.30.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection" "OBJCFLAGS_FOR_BUILD=-g -O2 -ffile-prefix-map=/build/reproducible-path/gnustep-base-1.30.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection" "OBJCXXFLAGS=-g -O2 -ffile-prefix-map=/build/reproducible-path/gnustep-base-1.30.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection" "OBJCXXFLAGS_FOR_BUILD=-g -O2 -ffile-prefix-map=/build/reproducible-path/gnustep-base-1.30.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection" returned exit code 2
make[1]: *** [debian/rules:105: override_dh_auto_build-arch] Error 25
make[1]: Leaving directory '/build/reproducible-path/gnustep-base-1.30.0'
make: *** [debian/rules:60: binary] Error 2
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2



More information about the pkg-GNUstep-maintainers mailing list