[Pkg-nginx-maintainers] Bug#1097235: libnginx-mod-nchan: ftbfs with GCC-15

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


Package: src:libnginx-mod-nchan
Version: 1:1.3.7+dfsg-1
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/libnginx-mod-nchan_1.3.7+dfsg-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

[...]
	-o /build/reproducible-path/libnginx-mod-nchan-1.3.7+dfsg/obj-x86_64-linux-gnu/addon/subscribers/common.o \
	/build/reproducible-path/libnginx-mod-nchan-1.3.7+dfsg/./src/subscribers/common.c
cc -c -fPIC -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/libnginx-mod-nchan-1.3.7+dfsg=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/libnginx-mod-nchan-1.3.7+dfsg=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -fPIC -Wdate-time -D_FORTIFY_SOURCE=2 -I src/core -I src/event -I src/event/modules -I src/event/quic -I src/os/unix -I /build/reproducible-path/libnginx-mod-nchan-1.3.7+dfsg/./src -I /build/reproducible-path/libnginx-mod-nchan-1.3.7+dfsg/obj-x86_64-linux-gnu -I src/http -I src/http/modules -I src/http/v2 -I src/http/v3 \
	-o /build/reproducible-path/libnginx-mod-nchan-1.3.7+dfsg/obj-x86_64-linux-gnu/addon/subscribers/longpoll.o \
	/build/reproducible-path/libnginx-mod-nchan-1.3.7+dfsg/./src/subscribers/longpoll.c
cc -c -fPIC -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/libnginx-mod-nchan-1.3.7+dfsg=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/libnginx-mod-nchan-1.3.7+dfsg=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -fPIC -Wdate-time -D_FORTIFY_SOURCE=2 -I src/core -I src/event -I src/event/modules -I src/event/quic -I src/os/unix -I /build/reproducible-path/libnginx-mod-nchan-1.3.7+dfsg/./src -I /build/reproducible-path/libnginx-mod-nchan-1.3.7+dfsg/obj-x86_64-linux-gnu -I src/http -I src/http/modules -I src/http/v2 -I src/http/v3 \
	-o /build/reproducible-path/libnginx-mod-nchan-1.3.7+dfsg/obj-x86_64-linux-gnu/addon/subscribers/intervalpoll.o \
	/build/reproducible-path/libnginx-mod-nchan-1.3.7+dfsg/./src/subscribers/intervalpoll.c
cc -c -fPIC -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/libnginx-mod-nchan-1.3.7+dfsg=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/libnginx-mod-nchan-1.3.7+dfsg=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -fPIC -Wdate-time -D_FORTIFY_SOURCE=2 -I src/core -I src/event -I src/event/modules -I src/event/quic -I src/os/unix -I /build/reproducible-path/libnginx-mod-nchan-1.3.7+dfsg/./src -I /build/reproducible-path/libnginx-mod-nchan-1.3.7+dfsg/obj-x86_64-linux-gnu -I src/http -I src/http/modules -I src/http/v2 -I src/http/v3 \
	-o /build/reproducible-path/libnginx-mod-nchan-1.3.7+dfsg/obj-x86_64-linux-gnu/addon/subscribers/eventsource.o \
	/build/reproducible-path/libnginx-mod-nchan-1.3.7+dfsg/./src/subscribers/eventsource.c
/build/reproducible-path/libnginx-mod-nchan-1.3.7+dfsg/./src/subscribers/longpoll.c: In function ‘longpoll_subscriber_create’:
/build/reproducible-path/libnginx-mod-nchan-1.3.7+dfsg/./src/subscribers/longpoll.c:59:31: error: assignment to ‘subscriber_callback_pt’ {aka ‘void (*)(struct subscriber_s *, void *)’} from incompatible pointer type ‘void (*)(void)’ [-Wincompatible-pointer-types]
   59 |   fsub->data.enqueue_callback = empty_handler;
      |                               ^
/build/reproducible-path/libnginx-mod-nchan-1.3.7+dfsg/./src/subscribers/longpoll.c:20:13: note: ‘empty_handler’ declared here
   20 | static void empty_handler() { }
      |             ^~~~~~~~~~~~~
In file included from /build/reproducible-path/libnginx-mod-nchan-1.3.7+dfsg/./src/nchan_module.h:31,
                 from /build/reproducible-path/libnginx-mod-nchan-1.3.7+dfsg/./src/subscribers/longpoll.c:1:
/build/reproducible-path/libnginx-mod-nchan-1.3.7+dfsg/./src/nchan_types.h:451:16: note: ‘subscriber_callback_pt’ declared here
  451 | typedef void (*subscriber_callback_pt)(subscriber_t *, void *);
      |                ^~~~~~~~~~~~~~~~~~~~~~
/build/reproducible-path/libnginx-mod-nchan-1.3.7+dfsg/./src/subscribers/longpoll.c:62:31: error: assignment to ‘subscriber_callback_pt’ {aka ‘void (*)(struct subscriber_s *, void *)’} from incompatible pointer type ‘void (*)(void)’ [-Wincompatible-pointer-types]
   62 |   fsub->data.dequeue_callback = empty_handler;
      |                               ^
/build/reproducible-path/libnginx-mod-nchan-1.3.7+dfsg/./src/subscribers/longpoll.c:20:13: note: ‘empty_handler’ declared here
   20 | static void empty_handler() { }
      |             ^~~~~~~~~~~~~
/build/reproducible-path/libnginx-mod-nchan-1.3.7+dfsg/./src/nchan_types.h:451:16: note: ‘subscriber_callback_pt’ declared here
  451 | typedef void (*subscriber_callback_pt)(subscriber_t *, void *);
      |                ^~~~~~~~~~~~~~~~~~~~~~
/build/reproducible-path/libnginx-mod-nchan-1.3.7+dfsg/./src/subscribers/longpoll.c: In function ‘longpoll_respond_message’:
/build/reproducible-path/libnginx-mod-nchan-1.3.7+dfsg/./src/subscribers/longpoll.c:299:29: error: assignment to ‘ngx_http_cleanup_pt’ {aka ‘void (*)(void *)’} from incompatible pointer type ‘void (*)(void)’ [-Wincompatible-pointer-types]
  299 |     fsub->data.cln->handler = empty_handler;
      |                             ^
/build/reproducible-path/libnginx-mod-nchan-1.3.7+dfsg/./src/subscribers/longpoll.c:20:13: note: ‘empty_handler’ declared here
   20 | static void empty_handler() { }
      |             ^~~~~~~~~~~~~
In file included from src/http/ngx_http.h:34,
                 from /build/reproducible-path/libnginx-mod-nchan-1.3.7+dfsg/./src/nchan_module.h:18:
src/http/ngx_http_request.h:337:16: note: ‘ngx_http_cleanup_pt’ declared here
  337 | typedef void (*ngx_http_cleanup_pt)(void *data);
      |                ^~~~~~~~~~~~~~~~~~~
/build/reproducible-path/libnginx-mod-nchan-1.3.7+dfsg/./src/subscribers/longpoll.c: In function ‘longpoll_multipart_respond’:
/build/reproducible-path/libnginx-mod-nchan-1.3.7+dfsg/./src/subscribers/longpoll.c:347:27: error: assignment to ‘ngx_http_cleanup_pt’ {aka ‘void (*)(void *)’} from incompatible pointer type ‘void (*)(void)’ [-Wincompatible-pointer-types]
  347 |   fsub->data.cln->handler = empty_handler;
      |                           ^
/build/reproducible-path/libnginx-mod-nchan-1.3.7+dfsg/./src/subscribers/longpoll.c:20:13: note: ‘empty_handler’ declared here
   20 | static void empty_handler() { }
      |             ^~~~~~~~~~~~~
src/http/ngx_http_request.h:337:16: note: ‘ngx_http_cleanup_pt’ declared here
  337 | typedef void (*ngx_http_cleanup_pt)(void *data);
      |                ^~~~~~~~~~~~~~~~~~~
/build/reproducible-path/libnginx-mod-nchan-1.3.7+dfsg/./src/subscribers/longpoll.c: In function ‘longpoll_respond_status’:
/build/reproducible-path/libnginx-mod-nchan-1.3.7+dfsg/./src/subscribers/longpoll.c:460:27: error: assignment to ‘ngx_http_cleanup_pt’ {aka ‘void (*)(void *)’} from incompatible pointer type ‘void (*)(void)’ [-Wincompatible-pointer-types]
  460 |   fsub->data.cln->handler = empty_handler;
      |                           ^
/build/reproducible-path/libnginx-mod-nchan-1.3.7+dfsg/./src/subscribers/longpoll.c:20:13: note: ‘empty_handler’ declared here
   20 | static void empty_handler() { }
      |             ^~~~~~~~~~~~~
src/http/ngx_http_request.h:337:16: note: ‘ngx_http_cleanup_pt’ declared here
  337 | typedef void (*ngx_http_cleanup_pt)(void *data);
      |                ^~~~~~~~~~~~~~~~~~~
make[1]: *** [/build/reproducible-path/libnginx-mod-nchan-1.3.7+dfsg/obj-x86_64-linux-gnu/Makefile:1965: /build/reproducible-path/libnginx-mod-nchan-1.3.7+dfsg/obj-x86_64-linux-gnu/addon/subscribers/longpoll.o] Error 1
make[1]: *** Waiting for unfinished jobs....
make[1]: Leaving directory '/usr/share/nginx/src'
dh_auto_build: error: cd obj-x86_64-linux-gnu && make -j8 -f /build/reproducible-path/libnginx-mod-nchan-1.3.7\+dfsg/obj-x86_64-linux-gnu/Makefile -C /usr/share/nginx/src modules returned exit code 2
make: *** [debian/rules:6: binary] Error 25
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2



More information about the Pkg-nginx-maintainers mailing list