Opened 11 days ago

Closed 11 days ago

Last modified 11 days ago

#2358 closed defect (invalid)

[1.23.0] FTBFS: ‘ngx_http_headers_in_t’ has no member named ‘cookies’; did you mean ‘cookie’?

Reported by: actionmystique@… Owned by:
Priority: blocker Milestone:
Component: nginx-package Version:
Keywords: Cc:
uname -a: Linux <hostname> 5.15.0-40-generic
nginx -V: 1.23.0

Description

Ubuntu jammy LTS

nginx release-1.23.0

Configuring and compiling with:

auto/configure  --build=x86_64-pc-linux-gnu \
                --prefix=/usr \
                --conf-path=/etc/nginx/nginx.conf \
                --error-log-path=/var/log/nginx/error.log \
                --http-log-path=/var/log/nginx/access.log \
                --http-client-body-temp-path=/var/tmp/nginx/body \
                --http-fastcgi-temp-path=/var/tmp/nginx/fastcgi \
                --http-proxy-temp-path=/var/tmp/nginx/proxy \
                --http-scgi-temp-path=/var/tmp/nginx/scgi \
                --http-uwsgi-temp-path=/var/tmp/nginx/uwsgi \
                --lock-path=/run/lock/nginx.lock \
                --modules-path=/usr/lib/nginx/modules \
                --pid-path=/run/nginx.pid \
                --sbin-path=/usr/sbin/nginx \
                --group=www-data \
                --user=www-data \
                --add-dynamic-module=../git-ngx_headers_more \
                --add-dynamic-module=../git-ngx_http_auth_pam_module \
                --with-debug \
                --with-file-aio \
                --with-google_perftools_module \
                --with-http_addition_module \
                --with-http_auth_request_module \
                --with-http_dav_module \
                --with-http_flv_module \
                --with-http_geoip_module \
                --with-http_gunzip_module \
                --with-http_gzip_static_module \
                --with-http_image_filter_module \
                --with-http_mp4_module \
                --with-http_perl_module \
                --with-http_random_index_module \
                --with-http_realip_module \
                --with-http_secure_link_module \
                --with-http_slice_module \
                --with-http_ssl_module \
                --with-http_stub_status_module \
                --with-http_sub_module \
                --with-http_xslt_module \
                --with-http_v2_module \
                --with-mail \
                --with-mail_ssl_module \
                --with-perl_modules_path="/usr/lib/x86_64-linux-gnu/perl/5.34.0" \
                --with-pcre-jit \
                --with-stream \
                --with-stream_ssl_module \
                --with-stream_realip_module \
                --with-stream_geoip_module \
                --with-stream_ssl_preread_module \
                --with-threads
make

... leads to:

objs/ngx_modules.o \
-lpthread -lcrypt -lpcre2-8 -lssl -lcrypto -lpthread -lz -lxml2 -lxslt -lexslt -lgd -lGeoIP -lprofiler \
-Wl,-E -fstack-protector-strong -L/usr/local/lib -L/usr/lib/x86_64-linux-gnu/perl/5.34/CORE -lperl -ldl -lm -lpthread -lc -lcrypt \
-Wl,-E
cc -c -fPIC -pipe  -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g  -I src/core -I src/event -I src/event/modules -I src/os/unix -I /usr/include/libxml2 -I objs -I src/http -I src/http/modules -I src/http/v2 -I src/http/modules/perl -I src/mail -I src/stream \
	-o objs/addon/src/ngx_http_headers_more_filter_module.o \
	../git-ngx_headers_more/src/ngx_http_headers_more_filter_module.c
cc -c -fPIC -pipe  -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g  -I src/core -I src/event -I src/event/modules -I src/os/unix -I /usr/include/libxml2 -I objs -I src/http -I src/http/modules -I src/http/v2 -I src/http/modules/perl -I src/mail -I src/stream \
	-o objs/addon/src/ngx_http_headers_more_headers_out.o \
	../git-ngx_headers_more/src/ngx_http_headers_more_headers_out.c
cc -c -fPIC -pipe  -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g  -I src/core -I src/event -I src/event/modules -I src/os/unix -I /usr/include/libxml2 -I objs -I src/http -I src/http/modules -I src/http/v2 -I src/http/modules/perl -I src/mail -I src/stream \
	-o objs/addon/src/ngx_http_headers_more_headers_in.o \
	../git-ngx_headers_more/src/ngx_http_headers_more_headers_in.c
In file included from /usr/include/dlfcn.h:24,
                 from src/os/unix/ngx_linux_config.h:58,
                 from src/core/ngx_config.h:26,
                 from ../git-ngx_headers_more/src/ddebug.h:5,
                 from ../git-ngx_headers_more/src/ngx_http_headers_more_headers_in.c:10:
../git-ngx_headers_more/src/ngx_http_headers_more_headers_in.c:162:50: error: ‘ngx_http_headers_in_t’ has no member named ‘cookies’; did you mean ‘cookie’?
  162 |                  offsetof(ngx_http_headers_in_t, cookies),
      |                                                  ^~~~~~~
make[1]: *** [objs/Makefile:1937: objs/addon/src/ngx_http_headers_more_headers_in.o] Error 1

Attachments (1)

nginx_1.23.0_amd64.build (73.4 KB ) - added by actionmystique@… 11 days ago.
Complete build log

Download all attachments as: .zip

Change History (4)

by actionmystique@…, 11 days ago

Attachment: nginx_1.23.0_amd64.build added

Complete build log

comment:1 by Sergey Kandaurov, 11 days ago

Resolution: invalid
Status: newclosed

As per the build output, this is a problem in the 3rd party module ngx_http_headers_more, apparently after ef6a3a99a81a.
For problems with 3rd party modules please contact module authors instead.

comment:2 by Maxim Dounin, 11 days ago

For the record, there are multiple header-releated changes in nginx 1.23.0 internal API, see CHANGES:

    *) Change in internal API: now header lines are represented as linked
       lists.

This includes the explicitly mentioned change to use linked lists instead of arrays, as well as various renames to match the new approach to headers. For the details about the particular change causing the build failure, see ef6a3a99a81a. The 3rd party modules you are using need to be adjust to work with nginx 1.23.0.

Note that this also applies to the auth pam module, though likely it will build without errors. This is because it adds the "WWW-Authenticate" header, and this now needs header's next pointer to be set to NULL, see d26db4f82d7d and 711737177b77.

comment:3 by actionmystique@…, 11 days ago

Then why does it compile without errors on debian bookworm?

Note: See TracTickets for help on using tickets.