Public bug reported:

All 25 nginx modules rebuilt for nginx-abi-1.30.6-1 (libnginx-
mod-*-build1 in tenacious-proposed) fail to build on every architecture:

  src/event/ngx_event_udp.h:46:27: error: field 'pkt6' has incomplete type
     46 |     struct in6_pktinfo    pkt6;

https://launchpadlibrarian.net/883485254/buildlog_ubuntu-tenacious-
amd64.libnginx-mod-http-auth-jwt_2.5.0-3build1_BUILDING.txt.gz

The modules are fine; nginx-dev 1.30.6-2ubuntu1 ships a broken
/usr/share/nginx/src/conf_flags. debian/rules writes it with

  echo "NGX_CONF_FLAGS=( ${flags} )" > .../conf_flags

and the flags contain --override-system="$(... | sed 's/-.*$//;
s/^./\U&/; s/Gnu/\U&/g;')".

nginx 1.30.6-2ubuntu1 is the first nginx built with dash 0.5.13 (in
tenacious since 2026-10-31). Its echo builtin now understands \uXXXX and
\UXXXXXXXX (upstream commit 776424a8f915, "parser: Add dollar single
quote"), and a \U with no hex digits after it is written as a NUL byte:

  $ grep -ao 's/^./.&/' /usr/share/nginx/src/conf_flags | od -c
  0000000   s   /   ^   .   /  \0   &   /  \n

So module builds call configure with --override-system=linux instead of
Linux. auto/os/conf only matches "Linux:*", the build uses the generic
Unix configuration, src/os/unix/ngx_linux_config.h is never included,
_GNU_SOURCE is not defined and glibc doesn't define struct in6_pktinfo.
The configure output shows it too: "+ linux 3.16.0 x86_64", and
accept4(), sched_setaffinity() and strerrordesc_np() are "not found".

Debian's nginx-dev 1.30.6-2 and our 1.30.4-7ubuntu1 were built with dash
0.5.12 and are fine.

Fix: write conf_flags with printf '%s\n', which doesn't interpret
backslashes in its argument. Then retry the failed module builds; no
module uploads are needed. The fix will be sent to Debian too.

** Affects: nginx (Ubuntu)
     Importance: Undecided
         Status: New

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/2173081

Title:
  nginx-dev 1.30.6-2ubuntu1 conf_flags corrupted by dash 0.5.13 echo,
  all nginx modules FTBFS

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/nginx/+bug/2173081/+subscriptions


-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to