nginx-module-vts
nginx-module-vts copied to clipboard
Can't compile as dynamic module for nginx 1.10.3 on ubuntu 16.04
Error message
/usr/bin/ld: objs/addon/src/ngx_http_vhost_traffic_status_module.o: relocation R_X86_64_PC32 against undefined symbol `ngx_http_module' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: final link failed: Bad value
collect2: error: ld returned 1 exit status
objs/Makefile:1630: recipe for target 'objs/ngx_http_vhost_traffic_status_module.so' failed
make[1]: *** [objs/ngx_http_vhost_traffic_status_module.so] Error 1
make[1]: Leaving directory '/root/nginx-1.10.3'
Makefile:14: recipe for target 'modules' failed
make: *** [modules] Error 2
Steps to reproduce:
- Environment - docker container created from
ubuntu:16.04
image - Install deps:
apt update && apt install -y nginx git wget gcc make libpcre3-dev libxml2-dev libgd-dev libssl-dev libxslt-dev libgeoip-dev zlib1g-dev
- Download nginx source code:
wget http://nginx.org/download/nginx-1.10.3.tar.gz && tar xzvf nginx-1.10.3.tar.gz
- Download module source code:
git clone https://github.com/vozlt/nginx-module-vts
- Go to sources:
cd nginx-1.10.3
- Configure (flags copied from
nginx -V
:
./configure \
--with-cc-opt='-g -O2 -fPIE -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2' \
--with-ld-opt='-Wl,-Bsymbolic-functions -fPIE -pie -Wl,-z,relro -Wl,-z,now' \
--prefix=/usr/share/nginx \
--conf-path=/etc/nginx/nginx.conf \
--http-log-path=/var/log/nginx/access.log \
--error-log-path=/var/log/nginx/error.log \
--lock-path=/var/lock/nginx.lock \
--pid-path=/run/nginx.pid \
--http-client-body-temp-path=/var/lib/nginx/body \
--http-fastcgi-temp-path=/var/lib/nginx/fastcgi \
--http-proxy-temp-path=/var/lib/nginx/proxy \
--http-scgi-temp-path=/var/lib/nginx/scgi \
--http-uwsgi-temp-path=/var/lib/nginx/uwsgi \
--with-debug \
--with-pcre-jit \
--with-ipv6 \
--with-http_ssl_module \
--with-http_stub_status_module \
--with-http_realip_module \
--with-http_auth_request_module \
--with-http_addition_module \
--with-http_dav_module \
--with-http_geoip_module \
--with-http_gunzip_module \
--with-http_gzip_static_module \
--with-http_image_filter_module \
--with-http_v2_module \
--with-http_sub_module \
--with-http_xslt_module \
--with-stream \
--with-stream_ssl_module \
--with-mail \
--with-mail_ssl_module \
--with-threads \
--add-dynamic-module=../nginx-module-vts
- Build module:
make modules