FS#69490 - [nginx-mod-brotli] Compiled module version incompatible with nginx package

Attached to Project: Community Packages
Opened by emilio reggi (emilio-r) - Sunday, 31 January 2021, 21:50 GMT
Last edited by Massimiliano Torromeo (mtorromeo) - Friday, 11 June 2021, 12:57 GMT
Task Type Bug Report
Category Packages
Status Closed
Assigned To Massimiliano Torromeo (mtorromeo)
Giancarlo Razzolini (grazzolini)
Architecture All
Severity Low
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 1
Private No


Description: Loading the brotli module compiled from this package fails with following error message:

2021/01/31 22:41:40 [emerg] 47885#47885: module "/usr/lib/nginx/modules/ngx_http_brotli_filter_module.so" version 1018000 instead of 1019006 in /etc/nginx/nginx.conf:5

Additional info:

nginx version: nginx/1.19.6
built with OpenSSL 1.1.1i 8 Dec 2020
TLS SNI support enabled
configure arguments: --prefix=/etc/nginx --conf-path=/etc/nginx/nginx.conf --sbin-path=/usr/bin/nginx --pid-path=/run/nginx.pid --lock-path=/run/lock/nginx.lock --user=http --group=http --http-log-path=/var/log/nginx/access.log --error-log-path=stderr --http-client-body-temp-path=/var/lib/nginx/client-body --http-proxy-temp-path=/var/lib/nginx/proxy --http-fastcgi-temp-path=/var/lib/nginx/fastcgi --http-scgi-temp-path=/var/lib/nginx/scgi --http-uwsgi-temp-path=/var/lib/nginx/uwsgi --with-cc-opt='-march=x86-64 -mtune=generic -O2 -pipe -fno-plt -D_FORTIFY_SOURCE=2' --with-ld-opt=-Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now --with-compat --with-debug --with-file-aio --with-http_addition_module --with-http_auth_request_module --with-http_dav_module --with-http_degradation_module --with-http_flv_module --with-http_geoip_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_mp4_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_v2_module --with-mail --with-mail_ssl_module --with-pcre-jit --with-stream --with-stream_geoip_module --with-stream_realip_module --with-stream_ssl_module --with-stream_ssl_preread_module --with-threads
This task depends upon

Closed by  Massimiliano Torromeo (mtorromeo)
Friday, 11 June 2021, 12:57 GMT
Reason for closing:  Fixed
Additional comments about closing:  All nginx modules rebuilt
Comment by Massimiliano Torromeo (mtorromeo) - Saturday, 06 February 2021, 11:33 GMT
nginx-mod-brotli is a module for the nginx package, not nginx-mainline which you seem to be using instead.
Comment by emilio reggi (emilio-r) - Tuesday, 04 May 2021, 07:47 GMT
  • Field changed: Percent Complete (100% → 0%)
Thanks. Maybe it would be wise to add 'nginx-mainline' to the conflicts array of the PKGBUILD. From the Wiki: "An array of packages that conflict with, or cause problems with the package, if installed."
Comment by Massimiliano Torromeo (mtorromeo) - Wednesday, 05 May 2021, 08:29 GMT
This is in part the reason why I originally had `depends=("nginx=$_nginxver")` in the PKGBUILD.

It was removed (not by me) when the PKGBUILD was updated to use nginx-src but it now presents this issue. Since more often then not I am not the one doing the rebuilds when nginx is updated I would leave the decision on how to handle this to Giancarlo.

The options imho are either put `conflicts=('nginx-mainline')` or reinstate `depends=("nginx=$_nginxver")` in every module.
Comment by Giancarlo Razzolini (grazzolini) - Wednesday, 05 May 2021, 13:44 GMT
I removed the depends because I forgot (more than once) to update them and the module would not work. I'm fine with adding a conflicts, but I think the naming scheme of the modules already imply which version they support. We don't have modules for nginx-mainline, because it has updates every month (sometimes, more than one). If we were to have modules for it, we would add extra packages, clearly indicating the modules are for nginx-mainline.
Comment by Massimiliano Torromeo (mtorromeo) - Wednesday, 05 May 2021, 13:50 GMT
I think it's already clear enough too but, regarding the depends issue, the module would not work regardless if you keep "depends" like it is or not since it always needs to be recompiled.
Comment by Daniel Micay (thestinger) - Friday, 11 June 2021, 12:29 GMT
There's now nginx 1.20.1 requiring this to be rebuilt again.
Comment by Massimiliano Torromeo (mtorromeo) - Friday, 11 June 2021, 12:33 GMT
Seems like Felix updated nginx and missed the rebuild of the modules. I'm rebuilding them now