Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Brotli make ended in error #222

Closed
karelbasta opened this issue Jan 30, 2022 · 3 comments
Closed

Brotli make ended in error #222

karelbasta opened this issue Jan 30, 2022 · 3 comments

Comments

@karelbasta
Copy link
Contributor

karelbasta commented Jan 30, 2022

Tried building Nginx with the following settings.

Do you want to install Nginx stable or mainline?
   1) Stable 1.20.1
   2) Mainline 1.21.6

Select an option [1-2]: 2

Please tell me which modules you want to install.
If you select none, Nginx will be installed with its default modules.

Modules to install :
       HTTP/3 (⚠️ Patch by Cloudflare, will install BoringSSL, Quiche, Rust and Go) [y/n]: y
       Cloudflare's TLS Dynamic Record Resizing patch [y/n]: y
       Cloudflare's full HPACK encoding patch [y/n]: y
       PageSpeed 1.13.35.2 [y/n]: y
       Brotli [y/n]: y
       Headers More 0.33 [y/n]: n
       GeoIP (BROKEN) [y/n]: n
       Fancy index [y/n]: y
       ngx_cache_purge [y/n]: n
       nginx_substitutions_filter [y/n]: n
       ngx_http_lua_module [y/n]: n
       nginx WebDAV [y/n]: n
       nginx VTS [y/n]: y
       nginx RTMP [y/n]: n
       nginx testcookie [y/n]: n
       nginx ModSecurity [y/n]: n

Ended up with the following error.

cc -c -pipe  -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -Wno-ignored-qualifiers  -D_GLIBCXX_USE_CXX11_ABI=0 -Wno-deprecated-declarations  -I src/core -I src/event -I src/event/modules -I src/os/unix -I /usr/local/src/nginx/modules/quiche/quiche/deps/boringssl/.openssl/include -I /usr/local/src/nginx/modules/quiche/quiche/include -I objs -I src/http -I src/http/modules -I src/http/v2 -I src/http/v3 -I /usr/local/src/nginx/modules/incubator-pagespeed-ngx-1.13.35.2-stable/psol/include -I /usr/local/src/nginx/modules/incubator-pagespeed-ngx-1.13.35.2-stable/psol/include/third_party/chromium/src -I /usr/local/src/nginx/modules/incubator-pagespeed-ngx-1.13.35.2-stable/psol/include/third_party/google-sparsehash/src/src -I /usr/local/src/nginx/modules/incubator-pagespeed-ngx-1.13.35.2-stable/psol/include/third_party/google-sparsehash/gen/arch/linux/x64/include -I /usr/local/src/nginx/modules/incubator-pagespeed-ngx-1.13.35.2-stable/psol/include/third_party/grpc/src/include -I /usr/local/src/nginx/modules/incubator-pagespeed-ngx-1.13.35.2-stable/psol/include/third_party/protobuf/src/src -I /usr/local/src/nginx/modules/incubator-pagespeed-ngx-1.13.35.2-stable/psol/include/third_party/re2/src -I /usr/local/src/nginx/modules/incubator-pagespeed-ngx-1.13.35.2-stable/psol/include/out/Release/obj/gen -I /usr/local/src/nginx/modules/incubator-pagespeed-ngx-1.13.35.2-stable/psol/include/out/Release/obj/gen/protoc_out/instaweb -I /usr/local/src/nginx/modules/incubator-pagespeed-ngx-1.13.35.2-stable/psol/include/third_party/apr/src/include -I /usr/local/src/nginx/modules/incubator-pagespeed-ngx-1.13.35.2-stable/psol/include/third_party/aprutil/src/include -I /usr/local/src/nginx/modules/incubator-pagespeed-ngx-1.13.35.2-stable/psol/include/third_party/apr/gen/arch/linux/x64/include -I /usr/local/src/nginx/modules/incubator-pagespeed-ngx-1.13.35.2-stable/psol/include/third_party/aprutil/gen/arch/linux/x64/include -I /usr/local/src/nginx/modules/incubator-pagespeed-ngx-1.13.35.2-stable/psol/include/url -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:1749: 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  -D_GLIBCXX_USE_CXX11_ABI=0 -Wno-deprecated-declarations  -I src/core -I src/event -I src/event/modules -I src/os/unix -I /usr/local/src/nginx/modules/quiche/quiche/deps/boringssl/.openssl/include -I /usr/local/src/nginx/modules/quiche/quiche/include -I objs -I src/http -I src/http/modules -I src/http/v2 -I src/http/v3 -I /usr/local/src/nginx/modules/incubator-pagespeed-ngx-1.13.35.2-stable/psol/include -I /usr/local/src/nginx/modules/incubator-pagespeed-ngx-1.13.35.2-stable/psol/include/third_party/chromium/src -I /usr/local/src/nginx/modules/incubator-pagespeed-ngx-1.13.35.2-stable/psol/include/third_party/google-sparsehash/src/src -I /usr/local/src/nginx/modules/incubator-pagespeed-ngx-1.13.35.2-stable/psol/include/third_party/google-sparsehash/gen/arch/linux/x64/include -I /usr/local/src/nginx/modules/incubator-pagespeed-ngx-1.13.35.2-stable/psol/include/third_party/grpc/src/include -I /usr/local/src/nginx/modules/incubator-pagespeed-ngx-1.13.35.2-stable/psol/include/third_party/protobuf/src/src -I /usr/local/src/nginx/modules/incubator-pagespeed-ngx-1.13.35.2-stable/psol/include/third_party/re2/src -I /usr/local/src/nginx/modules/incubator-pagespeed-ngx-1.13.35.2-stable/psol/include/out/Release/obj/gen -I /usr/local/src/nginx/modules/incubator-pagespeed-ngx-1.13.35.2-stable/psol/include/out/Release/obj/gen/protoc_out/instaweb -I /usr/local/src/nginx/modules/incubator-pagespeed-ngx-1.13.35.2-stable/psol/include/third_party/apr/src/include -I /usr/local/src/nginx/modules/incubator-pagespeed-ngx-1.13.35.2-stable/psol/include/third_party/aprutil/src/include -I /usr/local/src/nginx/modules/incubator-pagespeed-ngx-1.13.35.2-stable/psol/include/third_party/apr/gen/arch/linux/x64/include -I /usr/local/src/nginx/modules/incubator-pagespeed-ngx-1.13.35.2-stable/psol/include/third_party/aprutil/gen/arch/linux/x64/include -I /usr/local/src/nginx/modules/incubator-pagespeed-ngx-1.13.35.2-stable/psol/include/url -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:1749: 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: unable to copy file '/usr/sbin/nginx'; reason: Text file busy
Installation done.

Resulting in installation failing.

I do not get this error on any other machine so I was wondering if some of the local configurations are causing this.

@FlurryNight
Copy link

FlurryNight commented Feb 15, 2022

Hi , @Bastakka

Those errors are caused by GCC v11

Linking related issue on google/ngx_brotli
google/ngx_brotli#121 (comment)

I'm on it, if the build goes okay i will do a PR,

Things that I am doing

This issue
#208
#115

@karelbasta
Copy link
Contributor Author

Fixed by using GCCv10.

@GwynethLlewelyn
Copy link

I can confirm that, on Ubuntu 20.04.4 LTS, switching back to gcc 10.3.0 (using update-alternatives --config gcc) will compile Brotli successfully (while 11.1.0 fails with the error originally posted by @Bastakka).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants