headers-more-nginx-module icon indicating copy to clipboard operation
headers-more-nginx-module copied to clipboard

RHEL 9.2 nginx module is not binary compatible

Open meangryone opened this issue 2 years ago • 2 comments

Hello

Trying to use ngx_http_headers_more_filter_module but it's not working no matter i do, i constantly receive following error:

nginx: [emerg] module "/opt/nginx/modules/ngx_http_headers_more_filter_module.so" is not binary compatible in /etc/nginx/nginx.conf:5

My setup:

  • nginx 1.21.6 (sudo yum install nginx-1.21.6-1.el9.ngx)
  • wget 'http://nginx.org/download/nginx-1.21.6.tar.gz'
  • wget https://github.com/openresty/headers-more-nginx-module/archive/refs/tags/v0.34.tar.gz
  • ./configure & sudo make & sudo make install
  • add load_module /opt/nginx/modules/ngx_http_headers_more_filter_module.so; to nginx that was installed using yum command (/etc/nginx/nginx.conf)

So basically i'm trying to use ngx_http_headers_more_filter_module.so that i receive after building from sources with already installed nginx (that nginx got required key in config --with-compat)

OS: RHEL-9.2.0 Module version: v0.34.tar.gz Configure command: ./configure --prefix=/opt/nginx --add-dynamic-module=/home/ec2-user/headers-more-nginx-module-0.34 --without-http_rewrite_module --without-http_gzip_module

nginx version: nginx/1.21.6 built by gcc 11.2.1 20220127 (Red Hat 11.2.1-9) (GCC) built with OpenSSL 3.0.1 14 Dec 2021 (running with OpenSSL 3.0.7 1 Nov 2022) TLS SNI support enabled configure arguments: --prefix=/etc/nginx --sbin-path=/usr/sbin/nginx --modules-path=/usr/lib64/nginx/modules --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --pid-path=/var/run/nginx.pid --lock-path=/var/run/nginx.lock --http-client-body-temp-path=/var/cache/nginx/client_temp --http-proxy-temp-path=/var/cache/nginx/proxy_temp --http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp --http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp --http-scgi-temp-path=/var/cache/nginx/scgi_temp --user=nginx --group=nginx **--with-compat** --with-file-aio --with-threads --with-http_addition_module --with-http_auth_request_module --with-http_dav_module --with-http_flv_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_mp4_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_v2_module --with-mail --with-mail_ssl_module --with-stream --with-stream_realip_module --with-stream_ssl_module --with-stream_ssl_preread_module --with-cc-opt='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64-v2 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fPIC' --with-ld-opt='-Wl,-z,relro -Wl,-z,now -pie'

meangryone avatar Sep 11 '23 09:09 meangryone

use the same config of nginx to build headers-more

./configure --prefix=/etc/nginx --sbin-path=/usr/sbin/nginx --modules-path=/usr/lib64/nginx/modules --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --pid-path=/var/run/nginx.pid --lock-path=/var/run/nginx.lock --http-client-body-temp-path=/var/cache/nginx/client_temp --http-proxy-temp-path=/var/cache/nginx/proxy_temp --http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp --http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp --http-scgi-temp-path=/var/cache/nginx/scgi_temp --user=nginx --group=nginx **--with-compat** --with-file-aio --with-threads --with-http_addition_module --with-http_auth_request_module --with-http_dav_module --with-http_flv_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_mp4_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_v2_module --with-mail --with-mail_ssl_module --with-stream --with-stream_realip_module --with-stream_ssl_module --with-stream_ssl_preread_module --with-cc-opt='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64-v2 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fPIC' --with-ld-opt='-Wl,-z,relro -Wl,-z,now -pie' --add-dynamic-module=/home/ec2-user/headers-more-nginx-module-0.34 --without-http_rewrite_module

zhuizhuhaomeng avatar Sep 13 '23 02:09 zhuizhuhaomeng

unfortunately its not working, i got errors ./configure: error: the invalid value in --with-ld-opt="-z,relro -Wl,-z,now -pie" if i delete this line i got another error ./configure: no supported file AIO was found when i deleted all that cause error it compile successfully and created library file that have more size that previous (when i try to compile with few options) but still not working and throw same error nginx: [emerg] module "/opt/nginx/modules/ngx_http_headers_more_filter_module.so" is not binary compatible in /etc/nginx/nginx.conf:5

got feeling that i miss some libraries but don't know which (i installed libaio but it not fix no supported file AIO was found error)

meangryone avatar Sep 13 '23 09:09 meangryone