Closed kainswor closed 7 years ago
Thanks for your report, subscribed because I have the same problem with Nginx 1.11.11 (and I don't know how to fix because I'm not a coder unfortunately).
Issue confirmed with nginx 1.11.11.
Was working fine with prior nginx versions up to and including 1.11.10
yup can confirm, posted full list of errors at https://gist.github.com/centminmod/3151db6c6f01b3b295fca979d33d3dcc
Tracking ..as I have same error
Error still present with nginx 1.11.12 just released. Won't compile. I'd fix it if I were a C programmer however it's not the case.
@i300220 you can use defanator fork as referenced above until openresty accepts the pull req
@AnoopAlias @i300220 exactly what i am doing using defanator's pull request fix
nginx -V nginx version: nginx/1.11.12 built by clang 3.4.2 (tags/RELEASE_34/dot2-final) built with LibreSSL 2.4.5 TLS SNI support enabled configure arguments: --with-ld-opt='-lrt -ljemalloc -Wl,-z,relro -Wl,-rpath,/usr/local/lib' --with-cc-opt='-m64 -mtune=native -mfpmath=sse -g -O3 -fstack-protector -fuse-ld=gold --param=ssp-buffer-size=4 -Wformat -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wno-sign-compare -Wno-string-plus-int -Wno-deprecated-declarations -Wno-unused-parameter -Wno-unused-const-variable -Wno-conditional-uninitialized -Wno-mismatched-tags -Wno-sometimes-uninitialized -Wno-parentheses-equality -Wno-tautological-compare -Wno-self-assign -Wno-deprecated-register -Wno-deprecated -Wno-invalid-source-encoding -Wno-pointer-sign -Wno-parentheses -Wno-enum-conversion -Wno-c++11-compat-deprecated-writable-strings -Wno-write-strings -gsplit-dwarf' --sbin-path=/usr/local/sbin/nginx --conf-path=/usr/local/nginx/conf/nginx.conf --with-http_stub_status_module --with-http_secure_link_module --with-libatomic --with-http_gzip_static_module --add-dynamic-module=../ngx_brotli --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_realip_module --add-dynamic-module=../ngx-fancyindex-0.4.0 --add-module=../ngx_cache_purge-2.3 --add-module=../ngx_devel_kit-0.3.0 --add-module=../set-misc-nginx-module-0.31 --add-module=../echo-nginx-module-0.60 --add-module=../redis2-nginx-module-0.13 --add-module=../ngx_http_redis-0.3.7 --add-module=../memc-nginx-module-0.17 --add-module=../srcache-nginx-module-0.31 --add-module=../headers-more-nginx-module-0.32 --with-pcre=../pcre-8.40 --with-pcre-jit --with-zlib=../zlib-1.2.11 --with-http_ssl_module --with-http_v2_module --with-openssl=../libressl-2.4.5
Excellent, many thanks!
For now, as a workaround, you can revert the chain link commits in the nginx repository to fix the build although this may have negative consequences (see nginx commit comment for fca26c2)
jc@westerley:~/build/nginx$ git revert 77bac4d
[1.11.13 ea75510] Revert "Fixed CPU hog while freeing hc->busy after e662cbf1b932 (1.11.11)."
1 file changed, 1 deletion(-)
jc@westerley:~/build/nginx$ git revert fca26c2
[1.11.13 a47107c] Revert "Converted hc->busy/hc->free to use chain links."
2 files changed, 39 insertions(+), 53 deletions(-)
Facing same issue on nginx-1.12.0
/home/buildozer/aports/main/nginx/src/echo-nginx-module-0.60/src/ngx_http_echo_request_info.c: In function 'ngx_http_echo_client_request_headers_variable': /home/buildozer/aports/main/nginx/src/echo-nginx-module-0.60/src/ngx_http_echo_request_info.c:219:15: error: incompatible types when assigning to type 'ngx_buf_t * {aka struct ngx_buf_s *}' from type 'ngx_chain_t {aka struct ngx_chain_s}' b = hc->busy[i]; ^ /home/buildozer/aports/main/nginx/src/echo-nginx-module-0.60/src/ngx_http_echo_request_info.c:284:15: error: incompatible types when assigning to type 'ngx_buf_t * {aka struct ngx_buf_s *}' from type 'ngx_chain_t {aka struct ngx_chain_s}' b = hc->busy[i]; ^
It's already fixed in the master branch. Read the history.
@agentzh Will the fix be released in next version bump?
Of course. That's what the master branch is for.
Is there an expected date for the version bump?
@dioni21 Upon the next OpenResty release. Maybe this month or next month.
same error in NGINX_VERSION 1.13.2
@fommil You were not watching this thread closely. I believe this is already fixed in the latest git master.
Hey Same problem with 1.18.0 version.
@agarwalkritika Are you using the latest v0.62 version of this module? I just tried nginx 1.18.0 on my side on Fedora Linux x86_64 and it compiles fine.
I just tried with 1.18.0
and with 1.21.0
(on Debian Linux x86_64) and it also compiles without problems.
FWIW, here is my build information.
./nginx -V
nginx version: nginx/1.21.0
built by gcc 8.3.0 (Debian 8.3.0-6)
built with OpenSSL 1.1.1d 10 Sep 2019
TLS SNI support enabled
configure arguments:
--prefix=/opt/nginx
--user=www-data
--group=www-data
--with-http_v2_module
--with-http_ssl_module
--with-http_v2_hpack_enc
--with-pcre-jit
--with-file-aio
--with-http_gzip_static_module
--with-http_flv_module
--with-http_mp4_module
--with-http_realip_module
--with-http_stub_status_module
--with-threads
--with-libatomic
--with-zlib=/usr/local/src/zlib
--with-zlib-opt='-O3 -march=native -flto -fuse-linker-plugin'
--add-module=/usr/local/src/headers-more-nginx-module
--add-module=/usr/local/src/echo-nginx-module
--add-module=/usr/local/src/ngx_http_substitutions_filter_module
--add-module=/usr/local/src/srcache-nginx-module
--add-module=/usr/local/src/redis2-nginx-module
--add-module=/usr/local/src/ngx_http_redis-0.3.9
--add-module=/usr/local/src/ngx_devel_kit
--add-module=/usr/local/src/set-misc-nginx-module
--add-module=/usr/local/src/ngx_brotli
--with-cc-opt='-DTCP_FASTOPEN=23 -march=native -flto -O3 -fuse-linker-plugin -Wno-error=strict-aliasing -fstack-protector-strong -D_FORTIFY_SOURCE=2'
--with-ld-opt='-lrt -z relro -fstack-protector-strong'
Hey @agentzh I was trying with v0.58 version of this module , that was incompatible it seems. Now it worked with v0.62 version. Thanks much!!
I haven't tried with other versions between 1.11.2 (which is the latest version shown in the compatibility section). When we tried to build a package with this included we got:
It seems like they changed it to use an ngx_chain_t instead of an array of buffers https://github.com/openresty/echo-nginx-module/blob/master/src/ngx_http_echo_request_info.c#L180 https://github.com/nginx/nginx/blob/fca26c2e53d46549320a3b23ce0398c5921348dd/src/http/ngx_http_request.h#L312
I think it's probably as straightforward as changing the type based on NGINX version, but I wasn't sure if there was more going on there.