angristan / nginx-autoinstall

Compile NGINX from source with custom modules and patches on Debian and Ubuntu
GNU General Public License v3.0
636 stars 237 forks source link

Build failing on Ubuntu 22.04 with Brotli #250

Open Firzenizer opened 1 year ago

Firzenizer commented 1 year ago

When I am trying to build with just brotli using: OS: Ubuntu 22.04 System's OpenSSL (3.0.2 ) Stable 1.22.0 or Mainline 1.21.6

gcc version: 11.2.0 (Ubuntu 11.2.0-19ubuntu1)

I get following error: cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -Wno-ignored-qualifiers -Wno-deprecated-declarations -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs -I src/http -I src/http/modules -I src/http/v2 -I /usr/local/src/nginx/modules/ngx_brotli/deps/brotli/c/include \ -o objs/addon/enc/encode.o \ /usr/local/src/nginx/modules/ngx_brotli/deps/brotli/c/enc/encode.c /usr/local/src/nginx/modules/ngx_brotli/deps/brotli/c/enc/encode.c:1433:20: error: argument 5 of type ‘const uint8_t *’ {aka ‘const unsigned char *’} declared as a pointer [-Werror=vla-parameter] 1433 | const uint8_t* input_buffer, size_t* encoded_size, | ~~~~~~~~~~~~~~~^~~~~~~~~~~~ In file included from /usr/local/src/nginx/modules/ngx_brotli/deps/brotli/c/enc/encode.c:9: /usr/local/src/nginx/modules/ngx_brotli/deps/brotli/c/include/brotli/encode.h:293:19: note: previously declared as a variable length array ‘const uint8_t[*encoded_size]’ {aka ‘const unsigned char[*encoded_size]’} 293 | const uint8_t input_buffer[BROTLI_ARRAY_PARAM(input_size)], | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/local/src/nginx/modules/ngx_brotli/deps/brotli/c/enc/encode.c:1434:14: error: argument 7 of type ‘uint8_t *’ {aka ‘unsigned char *’} declared as a pointer [-Werror=vla-parameter] 1434 | uint8_t* encoded_buffer) { | ~~~~~~~~~^~~~~~~~~~~~~~ In file included from /usr/local/src/nginx/modules/ngx_brotli/deps/brotli/c/enc/encode.c:9: /usr/local/src/nginx/modules/ngx_brotli/deps/brotli/c/include/brotli/encode.h:295:13: note: previously declared as a variable length array ‘uint8_t[input_size]’ {aka ‘unsigned char[input_size]’} 295 | uint8_t encoded_buffer[BROTLI_ARRAY_PARAM(*encoded_size)]); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ cc1: all warnings being treated as errors make[1]: *** [objs/Makefile:1529: objs/addon/enc/encode.o] Error 1 make[1]: Leaving directory '/usr/local/src/nginx/nginx-1.21.6' make: *** [Makefile:10: build] Error 2 make -f objs/Makefile install make[1]: Entering directory '/usr/local/src/nginx/nginx-1.21.6' cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -Wno-ignored-qualifiers -Wno-deprecated-declarations -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs -I src/http -I src/http/modules -I src/http/v2 -I /usr/local/src/nginx/modules/ngx_brotli/deps/brotli/c/include \ -o objs/addon/enc/encode.o \ /usr/local/src/nginx/modules/ngx_brotli/deps/brotli/c/enc/encode.c /usr/local/src/nginx/modules/ngx_brotli/deps/brotli/c/enc/encode.c:1433:20: error: argument 5 of type ‘const uint8_t *’ {aka ‘const unsigned char *’} declared as a pointer [-Werror=vla-parameter] 1433 | const uint8_t* input_buffer, size_t* encoded_size, | ~~~~~~~~~~~~~~~^~~~~~~~~~~~ In file included from /usr/local/src/nginx/modules/ngx_brotli/deps/brotli/c/enc/encode.c:9: /usr/local/src/nginx/modules/ngx_brotli/deps/brotli/c/include/brotli/encode.h:293:19: note: previously declared as a variable length array ‘const uint8_t[*encoded_size]’ {aka ‘const unsigned char[*encoded_size]’} 293 | const uint8_t input_buffer[BROTLI_ARRAY_PARAM(input_size)], | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/local/src/nginx/modules/ngx_brotli/deps/brotli/c/enc/encode.c:1434:14: error: argument 7 of type ‘uint8_t *’ {aka ‘unsigned char *’} declared as a pointer [-Werror=vla-parameter] 1434 | uint8_t* encoded_buffer) { | ~~~~~~~~~^~~~~~~~~~~~~~ In file included from /usr/local/src/nginx/modules/ngx_brotli/deps/brotli/c/enc/encode.c:9: /usr/local/src/nginx/modules/ngx_brotli/deps/brotli/c/include/brotli/encode.h:295:13: note: previously declared as a variable length array ‘uint8_t[input_size]’ {aka ‘unsigned char[input_size]’} 295 | uint8_t encoded_buffer[BROTLI_ARRAY_PARAM(*encoded_size)]); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ cc1: all warnings being treated as errors make[1]: *** [objs/Makefile:1529: objs/addon/enc/encode.o] Error 1 make[1]: Leaving directory '/usr/local/src/nginx/nginx-1.21.6' make: *** [Makefile:13: install] Error 2 strip: '/usr/sbin/nginx': No such file Job for nginx.service failed because the control process exited with error code. See "systemctl status nginx.service" and "journalctl -xeu nginx.service" for details. Installation done.

jangotek commented 1 year ago

anyone fix for brotli on Ubuntu 22.04 ? i can't find the fix on compiling error

VermiIIi0n commented 1 year ago

Build from the newest version

#Brotli
    if [[ $BROTLI == 'y' ]]; then
        cd /usr/local/src/nginx/modules || exit 1
        git clone https://github.com/google/ngx_brotli
        cd ngx_brotli || exit 1
        git submodule update --init
    fi