#1097235 libnginx-mod-nchan: ftbfs with GCC-15

#1097235#5
Date:
2025-02-17 17:32:44 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/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

#1097235#14
Date:
2025-09-05 06:33:54 UTC
From:
To:
We believe that the bug you reported is fixed in the latest version of
libnginx-mod-nchan, which is due to be installed in the Debian FTP archive.

A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to 1097235@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Jan Mojžíš <janmojzis@debian.org> (supplier of updated libnginx-mod-nchan package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmaster@ftp-master.debian.org)
Format: 1.8
Date: Fri, 05 Sep 2025 07:54:52 +0200
Source: libnginx-mod-nchan
Architecture: source
Version: 1:1.3.7+dfsg-3
Distribution: unstable
Urgency: medium
Maintainer: Debian Nginx Maintainers <pkg-nginx-maintainers@alioth-lists.debian.net>
Changed-By: Jan Mojžíš <janmojzis@debian.org>
Closes: 1097235
Changes:
 libnginx-mod-nchan (1:1.3.7+dfsg-3) unstable; urgency=medium
 .
   * d/p/FTBFS-fix-gcc-15.patch add, fix build with gcc-15 (Closes: 1097235)
   * d/gbp.conf: dist = DEP14, debian-branch = debian/latest
Checksums-Sha1:
 5de2e6f4e2f2e5a35335957a56a5534d331cfb5d 2177 libnginx-mod-nchan_1.3.7+dfsg-3.dsc
 7e2bd28b289cfda710765a8de8a3f685b0e23690 6232 libnginx-mod-nchan_1.3.7+dfsg-3.debian.tar.xz
 5ddcdb63c51c13cbb576a857c4f247c87295533f 8577 libnginx-mod-nchan_1.3.7+dfsg-3_source.buildinfo
Checksums-Sha256:
 48664a0ba2421c2cf8e46c79d0bf33538247834592bd274ac694e0f0fc806e0c 2177 libnginx-mod-nchan_1.3.7+dfsg-3.dsc
 a939417d5f6badb756e5df05a9a9baa32e4fd365d83fbaf62795e92eb3739c0e 6232 libnginx-mod-nchan_1.3.7+dfsg-3.debian.tar.xz
 e7b844508b0679c83d71405b0aef4e5b8b42d0558c75090eda652376eeb060d8 8577 libnginx-mod-nchan_1.3.7+dfsg-3_source.buildinfo
Files:
 c421cc1958ce629b8c13289ea6515543 2177 httpd optional libnginx-mod-nchan_1.3.7+dfsg-3.dsc
 c68115f1f5888dd42013a34f2615a67a 6232 httpd optional libnginx-mod-nchan_1.3.7+dfsg-3.debian.tar.xz
 d148de69c49da06592a3d479b6383b32 8577 httpd optional libnginx-mod-nchan_1.3.7+dfsg-3_source.buildinfo
-----BEGIN PGP SIGNATURE-----

iQJJBAEBCgAzFiEE0Aiwwj2EeeRrn8uQRdpRdJaTn/kFAmi6fZcVHGphbm1vanpp
c0BkZWJpYW4ub3JnAAoJEEXaUXSWk5/5iecQAMKhzqQaMYnIBFpUJ8sydU+gayCS
QW2LAUfPGDknYefHEYcPMzUuSyu4ig7q9nIBEbOGjKfiVRud5RRU80AQiKNDMKAu
pl10M9qspOyn3aorwoKLQcNwy3kWb2+FWDHGw9EfKC9Rv2WD0iFbJOyHcDZeOAD8
2onNiAne0tWLq2i+0FVIYz0gzyRSNzdrD2+jPaPjDKj61+JkHnN2CM+eH0lFFRsU
iF4TLcfxS39PcD/rHVlePwBohZu4TWYVTnqGxBL8HAn2dUcyymKJWZBdfShQQNnA
nae3Po7HTNRYmYlSg5QSXa5SRmI0R5BSPSO2a1KFwOg4PrUrglk3x/Gz1V4n4w5f
vcmvw4xj2TVYvXYAg0X9lXX+AaywU2mn4N/2pWYjQjZeXfUh1izzTdvyTTZ44jEB
Kj4N/75ixa92Sdcw97IwP5jC17G1svQnmolp42qkJpFxX/5cIBNeQ5GS6iiHXpY6
EsTSGgjp6slspOfUi7cxI/80PZLH2yioLBmAuzlE0g9fkL/CWGU2DwmonfffGIL4
qHfFtc6uhLB3HqQpudvW1By8Omu9uZYTRLgbg6KRWSBsW1BLUBGlqoZ1VCIouboK
1agikTJO2saA17XIaprgNBLrUJUFnybLXWmB33HezqXnCRB1ROwkYN/hsSMdXhOa
UbGZIHRMOrhihl2G
=H55y
-----END PGP SIGNATURE-----