RHEL 9 Support.
fossee-sysad opened this issue · 8 comments
Compiling on RHEL 9 gives the following error.
--------------------------------------------------------------------------------------------------------------------------------------------------
In file included from src/core/ngx_core.h:53,
from /home/builder/nginx-module-vts/src/ngx_http_vhost_traffic_status_module.h:13,
from /home/builder/nginx-module-vts/src/ngx_http_vhost_traffic_status_dump.c:7:
In function 'ngx_write_fd',
inlined from 'ngx_http_vhost_traffic_status_dump_node_write' at /home/builder/nginx-module-vts/src/ngx_http_vhost_traffic_status_dump.c:118:16:
src/os/unix/ngx_files.h:147:12: error: 'write' reading 3480 bytes from a region of size 1 [-Werror=stringop-overread]
147 | return write(fd, buf, n);
| ^~~~~~~~~~~~~~~~~
In file included from src/core/ngx_core.h:49,
from /home/builder/nginx-module-vts/src/ngx_http_vhost_traffic_status_module.h:13,
from /home/builder/nginx-module-vts/src/ngx_http_vhost_traffic_status_dump.c:7:
src/os/unix/ngx_files.h: In function 'ngx_http_vhost_traffic_status_dump_node_write':
src/core/ngx_rbtree.h:27:28: note: source object 'color' of size 1
27 | u_char color;
| ^~~~~
In file included from src/os/unix/ngx_linux_config.h:20,
from src/core/ngx_config.h:26,
from /home/builder/nginx-module-vts/src/ngx_http_vhost_traffic_status_module.h:12,
from /home/builder/nginx-module-vts/src/ngx_http_vhost_traffic_status_dump.c:7:
/usr/include/unistd.h:378:16: note: in a call to function 'write' declared with attribute 'access (read_only, 2, 3)'
378 | extern ssize_t write (int __fd, const void *__buf, size_t __n) __wur
| ^~~~~
cc1: all warnings being treated as errors
make[1]: *** [objs/Makefile:1953: objs/addon/src/ngx_http_vhost_traffic_status_dump.o] Error 1
make[1]: *** Waiting for unfinished jobs....
make[1]: Leaving directory '/home/builder/rpmbuild/BUILD/nginx-1.22.0'
make: *** [Makefile:10: build] Error 2
error: Bad exit status from /var/tmp/rpm-tmp.HB7OPv (%build)
RPM build errors:
Bad exit status from /var/tmp/rpm-tmp.HB7OPv (%build)****
--------------------------------------------------------------------------------------------------------------------------------------------------
Kindly check
Have you tried removing -Werror
from your compilation flags? Or if you're not sure adding -Wno-error
to compilation flags and try compiling again?
I am rebuilding the RPM from the SRPM from
http://nginx.org/packages/centos/9/x86_64/RPMS/nginx-1.22.0-1.el9.ngx.x86_64.rpm
I have now put
export CFLAGS=-Wno-error
before the rpmbuild.
I am waiting for the result as the compilation is taking longer than usual.
Make sure rpmbuild respects the CFLAGS
environment variable.
Elapsed (wall clock) time (h:mm:ss or m:ss): 1:02:32
Successful build in one hour.
I tried with latest version 0.2.0, still the same issue on el9:
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64-v2 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -DTCP_FASTOPEN=23 -Wno-deprecated-declarations -I src/core -I src/event -I src/event/modules -I src/os/unix -I modules/openssl-3.0.5/.openssl/include -I /usr/include/libxml2 -I objs -I src/http -I src/http/modules -I src/http/v2 -I modules/ngx_brotli-snap20220505/deps/brotli/c/include -I src/mail -I src/stream \
-o objs/addon/src/ngx_http_vhost_traffic_status_dump.o \
modules/ngx_module_vts-0.2.0/src/ngx_http_vhost_traffic_status_dump.c
In file included from src/core/ngx_core.h:53,
from modules/ngx_module_vts-0.2.0/src/ngx_http_vhost_traffic_status_module.h:13,
from modules/ngx_module_vts-0.2.0/src/ngx_http_vhost_traffic_status_dump.c:7:
In function 'ngx_write_fd',
inlined from 'ngx_http_vhost_traffic_status_dump_node_write' at modules/ngx_module_vts-0.2.0/src/ngx_http_vhost_traffic_status_dump.c:118:16:
src/os/unix/ngx_files.h:147:12: error: 'write' reading 3480 bytes from a region of size 1 [-Werror=stringop-overread]
147 | return write(fd, buf, n);
| ^~~~~~~~~~~~~~~~~
In file included from src/core/ngx_core.h:49,
from modules/ngx_module_vts-0.2.0/src/ngx_http_vhost_traffic_status_module.h:13,
from modules/ngx_module_vts-0.2.0/src/ngx_http_vhost_traffic_status_dump.c:7:
src/os/unix/ngx_files.h: In function 'ngx_http_vhost_traffic_status_dump_node_write':
src/core/ngx_rbtree.h:27:28: note: source object 'color' of size 1
27 | u_char color;
| ^~~~~
In file included from src/os/unix/ngx_linux_config.h:20,
from src/core/ngx_config.h:26,
from modules/ngx_module_vts-0.2.0/src/ngx_http_vhost_traffic_status_module.h:12,
from modules/ngx_module_vts-0.2.0/src/ngx_http_vhost_traffic_status_dump.c:7:
/usr/include/unistd.h:378:16: note: in a call to function 'write' declared with attribute 'access (read_only, 2, 3)'
378 | extern ssize_t write (int __fd, const void *__buf, size_t __n) __wur
| ^~~~~
cc1: all warnings being treated as errors
make[1]: Leaving directory '/builddir/build/BUILD/nginx-1.22.0'
make[1]: *** [objs/Makefile:2109: objs/addon/src/ngx_http_vhost_traffic_status_dump.o] Error 1
make: *** [Makefile:10: build] Error 2
RPM build errors:
error: Bad exit status from /var/tmp/rpm-tmp.he20Dm (%build)
@karljohns0n @fossee-sysad
Hi, Thanks for reporting. It seems that the same issue in #223
Can you share the SPECS/nginx.spec like this?
https://github.com/hnakamur/nginx-rpm/blob/main/SPECS/nginx.spec#L298
#223 also said that it can ignore the error with --with-cc-opt=-Wno-stringop-overread
.
./configure \
...
--add-module=/some/where/nginx_module_vts
...
--with-cc-opt="%{optflags} $(pcre-config --cflags) -Wno-stringop-overread"
Please consider adding the options if you can.
@fossee-sysad @karljohns0n @u5surf
I fixed where I think the problem is occurring. please check.
Commit: 6fb2eb1
Thanks @vozlt, it compiles fine now without using -Wno-stringop-overread