nginx-rtmp-module icon indicating copy to clipboard operation
nginx-rtmp-module copied to clipboard

Error when building on Windows

Open elijahr2411 opened this issue 3 years ago • 1 comments

I'm trying to build on windows 10 using MSYS2+MinGW-w64. However I get an error everytime.

My automake params:

auto/configure \
    --with-debug \
    --prefix=bin \
    --conf-path=bin/conf/nginx.conf \
    --pid-path=bin/nginx.pid \
    --http-log-path=bin/logs/access.log \
    --error-log-path=bin/logs/error.log \
    --sbin-path=bin/nginx.exe \
    --http-client-body-temp-path=bin/temp/client_body_temp \
    --http-proxy-temp-path=bin/temp/proxy_temp \
    --http-fastcgi-temp-path=bin/temp/fastcgi_temp \
    --http-scgi-temp-path=bin/temp/scgi_temp \
    --http-uwsgi-temp-path=bin/temp/uwsgi_temp \
    --with-pcre=pcre \
    --with-zlib=zlib \
    --with-openssl=openssl \
    --with-openssl-opt=no-asm \
    --with-http_ssl_module \
    --add-module=nginx-rtmp-module

Using Nginx 1.20.2, PCRE 8.45, OpenSSL 1.1.1l, zlib 1.2.11

The error:

cc -c -pipe  -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g   -I src/core -I src/event -I src/event/modules -I src/os/win32 -I nginx-rtmp-module -I pcre -I openssl/.openssl/include -I zlib -I objs -I src/http -I src/http/modules \
        -o objs/addon/nginx-rtmp-module/ngx_rtmp_send.o \
        nginx-rtmp-module/ngx_rtmp_send.c
In file included from nginx-rtmp-module/ngx_rtmp.c:11:
nginx-rtmp-module/ngx_rtmp.h:22:29: error: conflicting types for 'int8_t'; have 'char'
   22 | typedef __int8              int8_t;
      |                             ^~~~~~
In file included from C:/msys64/mingw64/lib/gcc/x86_64-w64-mingw32/11.2.0/include/stdint.h:9,
                 from src/os/win32/ngx_win32_config.h:62,
                 from src/core/ngx_config.h:38,
                 from nginx-rtmp-module/ngx_rtmp.c:7:
C:/msys64/mingw64/x86_64-w64-mingw32/include/stdint.h:35:21: note: previous declaration of 'int8_t' with type 'int8_t' {aka 'signed char'}
   35 | typedef signed char int8_t;
      |                     ^~~~~~
In file included from nginx-rtmp-module/ngx_rtmp.c:11:
nginx-rtmp-module/ngx_rtmp.h:186: error: ignoring '#pragma warning ' [-Werror=unknown-pragmas]
  186 | #pragma warning(push)
      |
nginx-rtmp-module/ngx_rtmp.h:187: error: ignoring '#pragma warning ' [-Werror=unknown-pragmas]
  187 | #pragma warning(disable:4200)
      |
nginx-rtmp-module/ngx_rtmp.h:275: error: ignoring '#pragma warning ' [In file included from                        nginx-rtmp-module/ngx_rtmp_init.c:9]
  275 | #pragma warning(pop)
      |
:
nginx-rtmp-module/ngx_rtmp.h:22:29: error: conflicting types for 'int8_t'; have 'char'
   22 | typedef __int8              int8_t;
      |                             ^~~~~~
In file included from C:/msys64/mingw64/lib/gcc/x86_64-w64-mingw32/11.2.0/include/stdint.h:9,
                 from src/os/win32/ngx_win32_config.h:62,
                 from src/core/ngx_config.h:38,
                 from nginx-rtmp-module/ngx_rtmp_init.c:7:
C:/msys64/mingw64/x86_64-w64-mingw32/include/stdint.h:35:21: note: previous declaration of 'int8_t' with type 'int8_t' {aka 'signed char'}
   35 | typedef signed char int8_t;
      |                     ^~~~~~
In file included from nginx-rtmp-module/ngx_rtmp_init.c:9:
nginx-rtmp-module/ngx_rtmp.h:186: error: ignoring '#pragma warning ' [-Werror=unknown-pragmas]
  186 | #pragma warning(push)
      |
nginx-rtmp-module/ngx_rtmp.h:187: error: ignoring '#pragma warning ' [-Werror=unknown-pragmas]
  187 | #pragma warning(disable:4200)
      |
nginx-rtmp-module/ngx_rtmp.h:275: error: ignoring '#pragma warning ' [-Werror=unknown-pragmas]
  275 | #pragma warning(pop)
      |
cc1.exe: all warnings being treated as errors
cc1.exe: all warnings being treated as errors
make[1]: *** [objs/Makefile:1278: objs/addon/nginx-rtmp-module/ngx_rtmp.o] Error 1
make[1]: *** Waiting for unfinished jobs....
make[1]: *** [objs/Makefile:1285: objs/addon/nginx-rtmp-module/ngx_rtmp_init.o] Error 1
In file included from nginx-rtmp-module/ngx_rtmp_handshake.c:9:
nginx-rtmp-module/ngx_rtmp.h:22:29: error: conflicting types for 'int8_t'; have 'char'
   22 | typedef __int8              int8_t;
      |                             ^~~~~~
In file included from C:/msys64/mingw64/lib/gcc/x86_64-w64-mingw32/11.2.0/include/stdint.h:9,
                 from src/os/win32/ngx_win32_config.h:62,
                 from src/core/ngx_config.h:38,
                 from nginx-rtmp-module/ngx_rtmp_handshake.c:7:
C:/msys64/mingw64/x86_64-w64-mingw32/include/stdint.h:35:21: note: previous declaration of 'int8_t' with type 'int8_t' {aka 'signed char'}
   35 | typedef signed char int8_t;
      |                     ^~~~~~
In file included from nginx-rtmp-module/ngx_rtmp_handshake.c:9:
nginx-rtmp-module/ngx_rtmp.h:186: error: ignoring '#pragma warning ' [-Werror=unknown-pragmas]
  186 | #pragma warning(push)
      |
nginx-rtmp-module/ngx_rtmp.h:187: error: ignoring '#pragma warning ' [-Werror=unknown-pragmas]
  187 | #pragma warning(disable:4200)
      |
nginx-rtmp-module/ngx_rtmp.h:275: error: ignoring '#pragma warning ' [-Werror=unknown-pragmas]
  275 | #pragma warning(pop)
      |
cc1.exe: all warnings being treated as errors
make[1]: *** [objs/Makefile:1292: objs/addon/nginx-rtmp-module/ngx_rtmp_handshake.o] Error 1
In file included from nginx-rtmp-module/ngx_rtmp_handler.c:9:
nginx-rtmp-module/ngx_rtmp.h:22:29: error: conflicting types for 'int8_t'; have 'char'
   22 | typedef __int8              int8_t;
      |                             ^~~~~~
In file included from C:/msys64/mingw64/lib/gcc/x86_64-w64-mingw32/11.2.0/include/stdint.h:9,
                 from src/os/win32/ngx_win32_config.h:62,
                 from src/core/ngx_config.h:38,
                 from nginx-rtmp-module/ngx_rtmp_handler.c:7:
C:/msys64/mingw64/x86_64-w64-mingw32/include/stdint.h:35:21: note: previous declaration of 'int8_t' with type 'int8_t' {aka 'signed char'}
   35 | typedef signed char int8_t;
      |                     ^~~~~~
In file included from nginx-rtmp-module/ngx_rtmp_handler.c:9:
nginx-rtmp-module/ngx_rtmp.h:186: error: ignoring '#pragma warning ' [-Werror=unknown-pragmas]
  186 | #pragma warning(push)
      |
nginx-rtmp-module/ngx_rtmp.h:187: error: ignoring '#pragma warning ' [-Werror=unknown-pragmas]
  187 | #pragma warning(disable:4200)
      |
nginx-rtmp-module/ngx_rtmp.h:275: error: ignoring '#pragma warning ' [-Werror=unknown-pragmas]
  275 | #pragma warning(pop)
      |
cc1.exe: all warnings being treated as errors
make[1]: *** [objs/Makefile:1299: objs/addon/nginx-rtmp-module/ngx_rtmp_handler.o] Error 1
In file included from nginx-rtmp-module/ngx_rtmp_amf.c:10:
nginx-rtmp-module/ngx_rtmp.h:22:29: error: conflicting types for 'int8_t'; have 'char'
   22 | typedef __int8              int8_t;
      |                             ^~~~~~
In file included from C:/msys64/mingw64/lib/gcc/x86_64-w64-mingw32/11.2.0/include/stdint.h:9,
                 from src/os/win32/ngx_win32_config.h:62,
                 from src/core/ngx_config.h:38,
                 from nginx-rtmp-module/ngx_rtmp_amf.c:7:
C:/msys64/mingw64/x86_64-w64-mingw32/include/stdint.h:35:21: note: previous declaration of 'int8_t' with type 'int8_t' {aka 'signed char'}
   35 | typedef signed char int8_t;
      |                     ^~~~~~
In file included from nginx-rtmp-module/ngx_rtmp_amf.c:10:
nginx-rtmp-module/ngx_rtmp.h:186: error: ignoring '#pragma warning ' [-Werror=unknown-pragmas]
  186 | #pragma warning(push)
      |
nginx-rtmp-module/ngx_rtmp.h:187: error: ignoring '#pragma warning ' [-Werror=unknown-pragmas]
  187 | #pragma warning(disable:4200)
      |
nginx-rtmp-module/ngx_rtmp.h:275: error: ignoring '#pragma warning ' [-Werror=unknown-pragmas]
  275 | #pragma warning(pop)
      |
cc1.exe: all warnings being treated as errors
make[1]: *** [objs/Makefile:1306: objs/addon/nginx-rtmp-module/ngx_rtmp_amf.o] Error 1
In file included from nginx-rtmp-module/ngx_rtmp_send.c:9:
nginx-rtmp-module/ngx_rtmp.h:22:29: error: conflicting types for 'int8_t'; have 'char'
   22 | typedef __int8              int8_t;
      |                             ^~~~~~
In file included from C:/msys64/mingw64/lib/gcc/x86_64-w64-mingw32/11.2.0/include/stdint.h:9,
                 from src/os/win32/ngx_win32_config.h:62,
                 from src/core/ngx_config.h:38,
                 from nginx-rtmp-module/ngx_rtmp_send.c:7:
C:/msys64/mingw64/x86_64-w64-mingw32/include/stdint.h:35:21: note: previous declaration of 'int8_t' with type 'int8_t' {aka 'signed char'}
   35 | typedef signed char int8_t;
      |                     ^~~~~~
In file included from nginx-rtmp-module/ngx_rtmp_send.c:9:
nginx-rtmp-module/ngx_rtmp.h:186: error: ignoring '#pragma warning ' [-Werror=unknown-pragmas]
  186 | #pragma warning(push)
      |
nginx-rtmp-module/ngx_rtmp.h:187: error: ignoring '#pragma warning ' [-Werror=unknown-pragmas]
  187 | #pragma warning(disable:4200)
      |
nginx-rtmp-module/ngx_rtmp.h:275: error: ignoring '#pragma warning ' [-Werror=unknown-pragmas]
  275 | #pragma warning(pop)
      |
cc1.exe: all warnings being treated as errors
make[1]: *** [objs/Makefile:1313: objs/addon/nginx-rtmp-module/ngx_rtmp_send.o] Error 1
make[1]: Leaving directory '/c/Users/Elijah/nginx'
make: *** [Makefile:10: build] Error 2

Any help is appreciated. Feel free to ask for more information

elijahr2411 avatar Nov 26 '21 05:11 elijahr2411

After some tinkering, this problem was fixed by PR #1564

Please merge

elijahr2411 avatar Nov 26 '21 05:11 elijahr2411