nginx 1.19.7 + njs {0.5.0/0.5.1/HEAD} fail for Fedora 34; ok for Fedora 33. gcc version? (F33 -> 10x, F34 -> 11x)
PGNet Dev
pgnet.dev at gmail.com
Mon Feb 22 16:57:22 UTC 2021
i'm re-building nginx 1.19.7 @ fedora's COPR buildsys, enabling Fedora 34 builds, in addition to (current) Fedora 33 builds,
https://copr.fedorainfracloud.org/coprs/pgfed/nginx-mainline/build/2013618/
builds with any of njs release tag 0.5.0, 0.5.1 or HEAD are fine for Fedora 33 -- no errors on build, and bins exec ok.
builds with same spec, for Fedora 34, fails @ njs
...
/usr/bin/gcc -c -pipe -fPIC -fvisibility=hidden -O -W -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wmissing-prototypes -Werror -g -O -I/usr/local/luajit2-openresty/include/luajit-2.1 -O3 -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -march=x86-64 -mtune=generic -O3 -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -march=x86-64 -mtune=generic -DNDK_SET_VAR -Wno-deprecated-declarations \
-Isrc -Ibuild -Injs \
-o build/src/njs_fs.o \
-MMD -MF build/src/njs_fs.dep -MT build/src/njs_fs.o \
src/njs_fs.c
!!! src/njs_fs.c:1376:33: error: argument 2 of type 'char *' declared as a pointer [-Werror=array-parameter=]
1376 | njs_fs_path(njs_vm_t *vm, char *storage, const njs_value_t *src,
| ~~~~~~^~~~~~~
src/njs_fs.c:96:51: note: previously declared as an array 'char[4097]'
96 | static const char *njs_fs_path(njs_vm_t *vm, char storage[NJS_MAX_PATH + 1],
| ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
/usr/bin/gcc -c -pipe -fPIC -fvisibility=hidden -O -W -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wmissing-prototypes -Werror -g -O -I/usr/local/luajit2-openresty/include/luajit-2.1 -O3 -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -march=x86-64 -mtune=generic -O3 -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -march=x86-64 -mtune=generic -DNDK_SET_VAR -Wno-deprecated-declarations \
-Isrc -Ibuild -Injs \
-o build/src/njs_crypto.o \
-MMD -MF build/src/njs_crypto.dep -MT build/src/njs_crypto.o \
src/njs_crypto.c
...
full build log,
https://download.copr.fedorainfracloud.org/results/pgfed/nginx-mainline/fedora-34-x86_64/02013618-nginx/builder-live.log.gz
i suspect F34's updated gcc version may be at fault
@ https://src.fedoraproject.org/rpms/gcc, gcc release versions are
Fedora 34 gcc-11.0.0-0.19.fc34
Fedora 33 gcc-10.2.1-3.fc33
i checked @ njs github, and didn't find a gcc11-related issue.
is this a known/suspected issue already? or some other cause?
More information about the nginx-devel
mailing list