[Pkg-nginx-maintainers] Bug#1097236: libnginx-mod-js: ftbfs with GCC-15

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


Package: src:libnginx-mod-js
Version: 0.8.5-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-js_0.8.5-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

[...]
checking for System V shared memory ... found
checking for POSIX semaphores ... found
checking for struct msghdr.msg_control ... found
checking for ioctl(FIONBIO) ... found
checking for ioctl(FIONREAD) ... found
checking for struct tm.tm_gmtoff ... found
checking for struct dirent.d_namlen ... not found
checking for struct dirent.d_type ... found
checking for sysconf(_SC_NPROCESSORS_ONLN) ... found
checking for sysconf(_SC_LEVEL1_DCACHE_LINESIZE) ... found
checking for openat(), fstatat() ... found
checking for getaddrinfo() ... found
configuring additional dynamic modules
adding module in /build/reproducible-path/libnginx-mod-js-0.8.5/nginx
 enabled webcrypto module
 enabled xml module
 enabled zlib module
 + ngx_js_module was configured
checking for PCRE2 library ... found
checking for OpenSSL library ... found
checking for OpenSSL QUIC support ... not found
checking for OpenSSL QUIC compatibility ... found
checking for zlib library ... found
checking for libxslt ... found
checking for libexslt ... found
creating /build/reproducible-path/libnginx-mod-js-0.8.5/build-modules/Makefile

Configuration summary
  + using threads
  + using system PCRE2 library
  + using system OpenSSL library
  + using system zlib library

  nginx path prefix: "/usr/share/nginx"
  nginx binary file: "/usr/share/nginx/sbin/nginx"
  nginx modules path: "/usr/lib/nginx/modules"
  nginx configuration prefix: "/etc/nginx"
  nginx configuration file: "/etc/nginx/nginx.conf"
  nginx pid file: "/run/nginx.pid"
  nginx logs errors to stderr
  nginx http access log file: "/var/log/nginx/access.log"
  nginx http client request body temporary files: "/var/lib/nginx/body"
  nginx http proxy temporary files: "/var/lib/nginx/proxy"
  nginx http fastcgi temporary files: "/var/lib/nginx/fastcgi"
  nginx http uwsgi temporary files: "/var/lib/nginx/uwsgi"
  nginx http scgi temporary files: "/var/lib/nginx/scgi"

make[1]: Leaving directory '/build/reproducible-path/libnginx-mod-js-0.8.5'
   debian/rules override_dh_auto_build-arch
make[1]: Entering directory '/build/reproducible-path/libnginx-mod-js-0.8.5'
make
make[2]: Entering directory '/build/reproducible-path/libnginx-mod-js-0.8.5'
cc -c -Isrc -Iexternal -Ibuild -pipe -fPIC -fvisibility=hidden -O -W -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wmissing-prototypes -Werror -g -fexcess-precision=standard -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/libnginx-mod-js-0.8.5=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -fPIC -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/libnginx-mod-js-0.8.5=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection \
	 \
	-o build/src/njs_diyfp.o \
	-MMD -MF build/src/njs_diyfp.dep -MT build/src/njs_diyfp.o \
	src/njs_diyfp.c
In file included from src/njs_main.h:59,
                 from src/njs_diyfp.c:12:
src/njs_string.h: In function ‘njs_string_encode’:
src/njs_string.h:217:36: error: initializer-string for array of ‘unsigned char’ is too long [-Werror=unterminated-string-initialization]
  217 |     static const u_char  hex[16] = "0123456789ABCDEF";
      |                                    ^~~~~~~~~~~~~~~~~~
cc1: all warnings being treated as errors
make[2]: *** [build/Makefile:95: build/src/njs_diyfp.o] Error 1
make[2]: Leaving directory '/build/reproducible-path/libnginx-mod-js-0.8.5'
make[1]: *** [debian/rules:22: override_dh_auto_build-arch] Error 2
make[1]: Leaving directory '/build/reproducible-path/libnginx-mod-js-0.8.5'
make: *** [debian/rules:10: binary] Error 2
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2



More information about the Pkg-nginx-maintainers mailing list