Closed centminmod closed 5 years ago
@centminmod Nope, for ngx_stream_lua_module's nginx 1.15.5 compatibility, I was referring to this issue: https://github.com/openresty/stream-lua-nginx-module/issues/132 As you can see, it builds well and actually pass most of the test suite. There are just a few test failures there.
Your build error messages look strange. Maybe you forgot to add --with-stream
to your ./configure
command line?
BTW, it's recommended to use OpenResty to avoid such build configuration mistakes. And the resulting runtime can also be faster in many cases, seriously.
@centminmod Oh, and less buggy too (there are still pending bugfix patches not merged into the stock nginx yet). And our test suite has cases specifically exercising those bugs.
@centminmod Try this instead: https://openresty.org/download/openresty-1.15.5.1rc0.tar.gz
I roll out my own custom Nginx build for my LEMP stack offering so has it's own requirements i.e. multiple compiler support from Clang 4-6 and GCC 4.4-8.2+. But yes I understand there will be less bugs with openresty.
Your build error messages look strange. Maybe you forgot to add --with-stream to your ./configure command line?
yeah i have stream but it's dynamic --with-stream=dynamic
. Does ordering of where --add-module=../stream-lua-nginx-module-0.0.6rc1 matter ?
./configure --with-ld-opt="-Wl,-E -L/usr/local/zlib-cf/lib -L/usr/local/lib -ljemalloc -lpcre -Wl,-z,relro -Wl,-rpath,/usr/local/zlib-cf/lib:/usr/local/lib" --with-cc-opt="-I/usr/local/zlib-cf/include -I/usr/local/include -m64 -march=native -DTCP_FASTOPEN=23 -g -O3 -fstack-protector-strong -flto --param=ssp-buffer-size=4 -Wformat -Werror=format-security -Wimplicit-fallthrough=0 -fcode-hoisting -Wp,-D_FORTIFY_SOURCE=2 -Wno-deprecated-declarations -gsplit-dwarf" --sbin-path=/usr/local/sbin/nginx --conf-path=/usr/local/nginx/conf/nginx.conf --build=301018-072146 --with-compat --with-http_stub_status_module --with-http_secure_link_module --with-http_flv_module --with-http_mp4_module --add-module=../nginx-rtmp-module --add-dynamic-module=../nginx-module-vts --with-libatomic --with-http_gzip_static_module --add-dynamic-module=../ngx_brotli --add-dynamic-module=../ngx_http_geoip2_module --with-http_sub_module --with-http_addition_module --with-http_image_filter_module=dynamic --with-http_geoip_module --with-stream_geoip_module --with-stream_realip_module --with-stream_ssl_preread_module --with-threads --with-stream=dynamic --with-stream_ssl_module --with-http_slice_module --with-http_realip_module --add-dynamic-module=../ngx-fancyindex-0.4.2 --add-module=../ngx_cache_purge-2.5 --add-dynamic-module=../ngx_devel_kit-0.3.0 --add-dynamic-module=../set-misc-nginx-module-0.32 --add-dynamic-module=../echo-nginx-module-0.61 --add-module=../redis2-nginx-module-0.15 --add-module=../ngx_http_redis-0.3.7 --add-dynamic-module=../lua-nginx-module-0.10.14rc1 --add-module=../stream-lua-nginx-module-0.0.6rc1 --add-module=../memc-nginx-module-0.18 --add-module=../srcache-nginx-module-0.31 --add-dynamic-module=../headers-more-nginx-module-0.33 --with-pcre-jit --with-zlib=../zlib-cloudflare-1.3.0 --with-http_ssl_module --with-http_v2_module --with-openssl=../openssl-1.1.0i --with-openssl-opt='enable-ec_nistp_64_gcc_128'
retested with just --with-stream
and it works so seems dynamic module build is where the errors are
working version
nginx -V
nginx version: nginx/1.15.5 (301018-213309)
built by gcc 7.3.1 20180303 (Red Hat 7.3.1-5) (GCC)
built with OpenSSL 1.1.0i 14 Aug 2018
TLS SNI support enabled
configure arguments: --with-ld-opt='-Wl,-E -L/usr/local/zlib-cf/lib -L/usr/local/lib -ljemalloc -lpcre -Wl,-z,relro -Wl,-rpath,/usr/local/zlib-cf/lib:/usr/local/lib' --with-cc-opt='-I/usr/local/zlib-cf/include -I/usr/local/include -m64 -march=native -DTCP_FASTOPEN=23 -g -O3 -fstack-protector-strong -flto --param=ssp-buffer-size=4 -Wformat -Werror=format-security -Wimplicit-fallthrough=0 -fcode-hoisting -Wp,-D_FORTIFY_SOURCE=2 -Wno-deprecated-declarations -gsplit-dwarf' --sbin-path=/usr/local/sbin/nginx --conf-path=/usr/local/nginx/conf/nginx.conf --build=301018-213309 --with-compat --with-http_stub_status_module --with-http_secure_link_module --with-http_flv_module --with-http_mp4_module --add-module=../nginx-rtmp-module --add-dynamic-module=../nginx-module-vts --with-libatomic --with-http_gzip_static_module --add-dynamic-module=../ngx_brotli --add-dynamic-module=../ngx_http_geoip2_module --with-http_sub_module --with-http_addition_module --with-http_image_filter_module=dynamic --with-http_geoip_module --with-stream_geoip_module --with-stream_realip_module --with-stream_ssl_preread_module --with-threads --with-stream --with-stream_ssl_module --with-http_slice_module --with-http_realip_module --add-dynamic-module=../ngx-fancyindex-0.4.2 --add-module=../ngx_cache_purge-2.5 --add-dynamic-module=../ngx_devel_kit-0.3.0 --add-dynamic-module=../set-misc-nginx-module-0.32 --add-dynamic-module=../echo-nginx-module-0.61 --add-module=../redis2-nginx-module-0.15 --add-module=../ngx_http_redis-0.3.7 --add-dynamic-module=../lua-nginx-module-0.10.14rc1 --add-module=../stream-lua-nginx-module-0.0.6rc1 --add-module=../memc-nginx-module-0.18 --add-module=../srcache-nginx-module-0.31 --add-dynamic-module=../headers-more-nginx-module-0.33 --with-pcre-jit --with-zlib=../zlib-cloudflare-1.3.0 --with-http_ssl_module --with-http_v2_module --with-openssl=../openssl-1.1.0i --with-openssl-opt='enable-ec_nistp_64_gcc_128'
@centminmod The thing is: if you use --with-stream=dynamic
, then all those stream_xxx
modules must also be built as nginx dynamic modules. Otherwise you would definitely see those linker errors. I'm not sure if this ngx_stream_lua module supports dynamic module building mode though. You can always test it out.
@centminmod Our OpenResty releases must support gcc 4.4 (since it supports CentOS 6 with this version of gcc). Not sure about clang 4.6 but my hunch is that it should work out of the box as well. If not, please file a github issue and we will look into the issues.
cheers @agentzh
The thing is: if you use --with-stream=dynamic, then all those stream_xxx modules must also be built as nginx dynamic modules. Otherwise you would definitely see those linker errors. I'm not sure if this ngx_stream_lua module supports dynamic module building mode though. You can always test it out.
Ah didn't know that - learnt something new. So will use --with-stream
from now on. Seems old one at https://github.com/openresty/stream-lua-nginx-module/issues/48
Hi from https://github.com/openresty/stream-lua-nginx-module/issues/132 I take it Nginx 1.15.5+ compatibility is work in progress ? If so I'll just log this error here for the future.
Just tried with CentOS 7.5, Nginx 1.15.5 and get many of these
configure
Configuration summary
using system libatomic_ops library
nginx path prefix: "/usr/local/nginx" nginx binary file: "/usr/local/sbin/nginx" nginx modules path: "/usr/local/nginx/modules" nginx configuration prefix: "/usr/local/nginx/conf" nginx configuration file: "/usr/local/nginx/conf/nginx.conf" nginx pid file: "/usr/local/nginx/logs/nginx.pid" nginx error log file: "/usr/local/nginx/logs/error.log" nginx http access log file: "/usr/local/nginx/logs/access.log" nginx http client request body temporary files: "client_body_temp" nginx http proxy temporary files: "proxy_temp" nginx http fastcgi temporary files: "fastcgi_temp" nginx http uwsgi temporary files: "uwsgi_temp" nginx http scgi temporary files: "scgi_temp"