Opened 2 years ago

Closed 2 years ago

Last modified 20 months 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@… 2 years ago.
Complete build log

Download all attachments as: .zip

Change History (5)

by actionmystique@…, 2 years ago

Attachment: nginx_1.23.0_amd64.build added

Complete build log

comment:1 by Sergey Kandaurov, 2 years 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, 2 years 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@…, 2 years ago

Then why does it compile without errors on debian bookworm?

in reply to:  3 comment:4 by Alexander Kubyshkin, 20 months ago

Replying to actionmystique@…:

Then why does it compile without errors on debian bookworm?

That's because of authors of ngx_http_headers_more_filter_module adjusted the module to compile with 1.23.X. Not related to debian version.

Note: See TracTickets for help on using tickets.