myfreeer/nginx-build-msys2

Is it usefull even if i dont use OpenSSL on my build?

xinxilas opened this issue · 2 comments

Hello friend

Is this usefull even if i dont use OpenSSL on my build?

One more question...

Do you know why i cant add echo-nginx-module using
Msys2 + make + cc:

cc -c -pipe  -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -DFD_SETSIZE=1024 -s -O2 -fno-strict-aliasing -pipe  -I src/core -I src/event -I src/event/modules -I src/os/win32 -I ../deps/pcre-8.45 -I ../deps/gd/include -I objs -I src/http -I src/http/modules \
        -o objs/addon/src/ngx_http_echo_foreach.o \
        ../deps/echo-nginx-module-0.62/src/ngx_http_echo_foreach.c
../deps/echo-nginx-module-0.62/src/ngx_http_echo_filter.c: In function 'ngx_http_echo_filter_init':
../deps/echo-nginx-module-0.62/src/ngx_http_echo_filter.c:49:12: error: cast from pointer to integer of different size [-Werror=pointer-to-int-cast]
   49 |            (unsigned long) ngx_http_top_header_filter);
      |            ^
../deps/echo-nginx-module-0.62/src/ngx_http_echo_filter.c:54:36: error: cast from pointer to integer of different size [-Werror=pointer-to-int-cast]
   54 |         dd("top body filter: %ld", (unsigned long) ngx_http_top_body_filter);
      |                                    ^
cc -c -pipe  -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -DFD_SETSIZE=1024 -s -O2 -fno-strict-aliasing -pipe -I src/core -I src/event -I src/event/modules -I src/os/win32 -I ../deps/pcre-8.45 -I ../deps/gd/include -I objs \
        -o objs/ngx_modules.o \
        objs/ngx_modules.c
cc1.exe: all warnings being treated as errors
make[1]: *** [objs/Makefile:1081: objs/addon/src/ngx_http_echo_filter.o] Error 1
make[1]: *** Waiting for unfinished jobs....
make[1]: Leaving directory '/home/xinxilas/nginx'
make: *** [Makefile:10: build] Error 2

Using Msys + MinG32 + VS19 + NMake + cl:

cl -c -O2  -W4 -WX -nologo -MT -Zi -Fdobjs/nginx.pdb -DFD_SETSIZE=1024 -Yungx_config.h -Fpobjs/ngx_config.pch -I src/core  -I src/event  -I src/event/modules  -I src/os/win32  -I ../deps/pcre-8.45  -I ../deps/gd/include  -I objs  -I src/http  -I src/http/modules  -Foobjs/addon/src/ngx_http_echo_module.obj  ../deps/echo-nginx-module-0.62/src/ngx_http_echo_module.c
ngx_http_echo_module.c
../deps/echo-nginx-module-0.62/src/ngx_http_echo_module.c(8): error C2220: the following warning is treated as an error
../deps/echo-nginx-module-0.62/src/ngx_http_echo_module.c(8): warning C4603: 'DDEBUG': macro is not defined or definition is different after precompiled header use
../deps/echo-nginx-module-0.62/src/ngx_http_echo_module.c(8): note: Add macro to precompiled header instead of defining here
../deps/echo-nginx-module-0.62/src/ngx_http_echo_module.c(22): note: use of precompiled header
E:\MinGW\msys\1.0\home\xinxilas\nginx\src\core\ngx_cycle.h(44): error C2079: 'new_log' uses undefined struct 'ngx_log_s'
E:\MinGW\msys\1.0\home\xinxilas\nginx\src\core\ngx_resolver.h(49): error C2079: 'log' uses undefined struct 'ngx_log_s'
E:\MinGW\msys\1.0\home\xinxilas\nginx\src\core\ngx_connection.h(42): error C2079: 'log' uses undefined struct 'ngx_log_s'
../deps/echo-nginx-module-0.62/src/ngx_http_echo_module.c(70): error C2146: syntax error: missing ')' before identifier 'opcode'

I was able to compile this module using Msys2 + make + cc after edit an ngx_http_echo_filter.c
https://stackoverflow.com/questions/26805461/why-do-i-get-cast-from-pointer-to-integer-of-different-size-error?answertab=active#tab-top
using "uintptr_t" instead of "unsigned long"

But lets find out which more 3rd party modules ill have problem to compile for windows...

  1. I'm considering making a size-reduced build without, tracking at issue #6 .
  2. The -Werror flag treat warnings as errors, remove the flag from nginx build scripts or ask the author of the module for futher help.

Have a look at release 1.21.4, including binaries without openssl