From srebecchi at kameleoon.com Sat May 3 16:14:19 2025 From: srebecchi at kameleoon.com (=?UTF-8?Q?S=C3=A9bastien_Rebecchi?=) Date: Sat, 3 May 2025 18:14:19 +0200 Subject: Update nginx on the fly with a change of prefix Message-ID: Hello, Is there a way to update Nginx on the fly while new nginx was configured with a different --prefix than was the old one? Thanks, Sébastien. -------------- next part -------------- An HTML attachment was scrubbed... URL: From osa at freebsd.org.ru Sat May 3 16:31:52 2025 From: osa at freebsd.org.ru (Sergey A. Osokin) Date: Sat, 3 May 2025 19:31:52 +0300 Subject: Update nginx on the fly with a change of prefix In-Reply-To: References: Message-ID: Hi Sébastien, hope you're doing well. On Sat, May 03, 2025 at 06:14:19PM +0200, Sébastien Rebecchi via nginx wrote: > > Is there a way to update Nginx on the fly while new nginx was configured > with a different --prefix than was the old one? You may want following the "Upgrading Executable on the Fly" procedure, https://nginx.org/en/docs/control.html#upgrade. Please note: 1. the configuration files may need to be presented in both prefixed; 2. proper testing [in a lower environment] is required. Hope that helps. Thank you. -- Sergey A. Osokin From srebecchi at kameleoon.com Sun May 4 09:24:39 2025 From: srebecchi at kameleoon.com (=?UTF-8?Q?S=C3=A9bastien_Rebecchi?=) Date: Sun, 4 May 2025 11:24:39 +0200 Subject: Update nginx on the fly with a change of prefix In-Reply-To: References: Message-ID: Hi Sergey Thank you for your answer. When sending signal to the old master, doesn't it assume that the new executable is located in the same location than the old one? Sébastien. Le sam. 3 mai 2025, 18:32, Sergey A. Osokin a écrit : > Hi Sébastien, > hope you're doing well. > > On Sat, May 03, 2025 at 06:14:19PM +0200, Sébastien Rebecchi via nginx > wrote: > > > > Is there a way to update Nginx on the fly while new nginx was configured > > with a different --prefix than was the old one? > > You may want following the "Upgrading Executable on the Fly" procedure, > https://nginx.org/en/docs/control.html#upgrade. > > Please note: > 1. the configuration files may need to be presented in both prefixed; > 2. proper testing [in a lower environment] is required. > > Hope that helps. > > Thank you. > > -- > Sergey A. Osokin > -------------- next part -------------- An HTML attachment was scrubbed... URL: From osa at freebsd.org.ru Sun May 4 15:32:53 2025 From: osa at freebsd.org.ru (Sergey A. Osokin) Date: Sun, 4 May 2025 18:32:53 +0300 Subject: Update nginx on the fly with a change of prefix In-Reply-To: References: Message-ID: On Sun, May 04, 2025 at 11:24:39AM +0200, Sébastien Rebecchi wrote: > > Thank you for your answer. > When sending signal to the old master, doesn't it assume that the new > executable is located in the same location than the old one? Yes, it is. Thank you. -- Sergey A. Osokin From xeioex at nginx.com Tue May 6 19:36:18 2025 From: xeioex at nginx.com (Dmitry Volyntsev) Date: Tue, 6 May 2025 12:36:18 -0700 Subject: njs-0.9.0 Message-ID: <9afcc87c-9be3-4625-87a2-cd147c2b9f24@nginx.com> Hello, I'm glad to announce a new release of NGINX JavaScript module (njs). This release features a 30% performance improvement for the njs engine and support for GCC 15. Learn more about njs: - Overview and introduction:       https://nginx.org/en/docs/njs/ - NGINX JavaScript in Your Web Server Configuration:       https://youtu.be/Jc_L6UffFOs - Extending NGINX with Custom Code:       https://youtu.be/0CVhq4AUU7M - Using node modules with njs:       https://nginx.org/en/docs/njs/node_modules.html - Writing njs code using TypeScript definition files:       https://nginx.org/en/docs/njs/typescript.html Feel free to try it and give us feedback on: - Github:       https://github.com/nginx/njs/issues Additional examples and howtos can be found here: - Github:       https://github.com/nginx/njs-examples Changes with njs 0.9.0                                       06 May 2025      Core:      *) Feature: refactored working with built-in strings, symbols         and small integers.         Performance improvements (arewefastyet/benchmarks/v8-v7 benchmark):         Richards: +57% (631 → 989)         Crypto: +7% (1445 → 1551)         RayTrace: +37% (562 → 772)         NavierStokes: +20% (2062 → 2465)         Overall score: +29% (1014 → 1307)     *) Bugfix: fixed handling of undefined values of a captured group        in RegExp.prototype[Symbol.split]().     *) Bugfix: fixed GCC 15 build with -Wunterminated-string-initialization. From rostyslav.z at yumaworks.com Tue May 13 23:39:20 2025 From: rostyslav.z at yumaworks.com (Rostyslav Zalevskyy) Date: Tue, 13 May 2025 16:39:20 -0700 Subject: Issue with SSE and fcgiwrap in nginx (RESTCONF) Message-ID: Hello NGINX team, I'm working on a RESTCONF server that streams data via SSE. When using Apache2 with mod_fcgid, everything works fine: multiple clients can connect to /restconf/streams, and each gets a stream. However, when switching to nginx + fcgiwrap, only the first connection works. All other connections hang or cause nginx to become unresponsive until the first SSE stream is closed. Even when I stop the client using Ctrl+C, nginx/fcgiwrap does not seem to close the connection. The socket remains open (verified via lsof/netstat), and nginx stays unresponsive. I've attached both nginx and Apache configurations. Is there a way to configure nginx + fcgiwrap to support multiple parallel event-stream (SSE) connections, and to close them properly when timeput after the client disconnects? Thanks, Rostyslav -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: NGINX-restconf Type: application/octet-stream Size: 2206 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: APACHE2-restconf.conf Type: application/octet-stream Size: 5078 bytes Desc: not available URL: From rttwyjz at gmail.com Wed May 14 02:34:05 2025 From: rttwyjz at gmail.com (=?utf-8?B?5p2o6YeR5rO9?=) Date: Wed, 14 May 2025 10:34:05 +0800 Subject: Compiling Nginx with BoringSSL results in an error Message-ID: <41B7C294-8DA0-4307-8848-E8B269C9F1E0@gmail.com> It seems that BoringSSL has updated some of its interfaces, causing the following issues during the compilation of Nginx. Is there currently any solution to resolve this problem? Or are there other libraries that can perfectly replace BoringSSL? The commands and error messages are as follows: root at vultr ~ # cd nginx root at vultr ~/nginx # ./auto/configure --user=www-data --group=www-data --prefix=/www/server/nginx --with-pcre --add-module=../ngx_brotli --with-http_v2_module --with-stream --with-stream_ssl_module --with-http_ssl_module --with-http_gzip_static_module --with-http_gunzip_module --with-http_sub_module --with-http_flv_module --with-http_addition_module --with-http_realip_module --with-http_mp4_module --with-ld-opt=-Wl,-E --with-cc-opt=-Wno-error --with-ld-opt=-ljemalloc --with-http_dav_module --with-http_v3_module --with-cc=c++ --with-cc-opt="-I../boringssl/include -x c" --with-ld-opt="-L../boringssl/build/ssl -L../boringssl/build/crypto" checking for OS + Linux 6.1.0-34-amd64 x86_64 checking for C compiler ... found + using GNU C compiler + gcc version: 12.2.0 (Debian 12.2.0-14) checking for gcc -pipe switch ... found checking for --with-ld-opt="-L../boringssl/build/ssl -L../boringssl/build/crypto" ... found checking for -Wl,-E switch ... found checking for gcc builtin atomic operations ... found checking for C99 variadic macros ... found checking for gcc variadic macros ... found checking for gcc builtin 64 bit byteswap ... found checking for unistd.h ... found checking for inttypes.h ... found checking for limits.h ... found checking for sys/filio.h ... not found checking for sys/param.h ... found checking for sys/mount.h ... found checking for sys/statvfs.h ... found checking for crypt.h ... found checking for Linux specific features checking for epoll ... found checking for EPOLLRDHUP ... found checking for EPOLLEXCLUSIVE ... found checking for eventfd() ... found checking for O_PATH ... found checking for sendfile() ... found checking for sendfile64() ... found checking for sys/prctl.h ... found checking for prctl(PR_SET_DUMPABLE) ... found checking for prctl(PR_SET_KEEPCAPS) ... found checking for capabilities ... found checking for crypt_r() ... found checking for sys/vfs.h ... found checking for BPF sockhash ... found checking for SO_COOKIE ... found checking for UDP_SEGMENT ... found checking for poll() ... found checking for /dev/poll ... not found checking for kqueue ... not found checking for crypt() ... not found checking for crypt() in libcrypt ... found checking for F_READAHEAD ... not found checking for posix_fadvise() ... found checking for O_DIRECT ... found checking for F_NOCACHE ... not found checking for directio() ... not found checking for statfs() ... found checking for statvfs() ... found checking for dlopen() ... found checking for sched_yield() ... found checking for sched_setaffinity() ... found checking for SO_SETFIB ... not found checking for SO_REUSEPORT ... found checking for SO_ACCEPTFILTER ... not found checking for SO_BINDANY ... not found checking for IP_TRANSPARENT ... found checking for IP_BINDANY ... not found checking for IP_BIND_ADDRESS_NO_PORT ... found checking for IP_RECVDSTADDR ... not found checking for IP_SENDSRCADDR ... not found checking for IP_PKTINFO ... found checking for IPV6_RECVPKTINFO ... found checking for IP_MTU_DISCOVER ... found checking for IPV6_MTU_DISCOVER ... found checking for IP_DONTFRAG ... not found checking for IPV6_DONTFRAG ... found checking for TCP_DEFER_ACCEPT ... found checking for TCP_KEEPIDLE ... found checking for TCP_FASTOPEN ... found checking for TCP_INFO ... found checking for accept4() ... found checking for int size ... 4 bytes checking for long size ... 8 bytes checking for long long size ... 8 bytes checking for void * size ... 8 bytes checking for uint32_t ... found checking for uint64_t ... found checking for sig_atomic_t ... found checking for sig_atomic_t size ... 4 bytes checking for socklen_t ... found checking for in_addr_t ... found checking for in_port_t ... found checking for rlim_t ... found checking for uintptr_t ... uintptr_t found checking for system byte ordering ... little endian checking for size_t size ... 8 bytes checking for off_t size ... 8 bytes checking for time_t size ... 8 bytes checking for AF_INET6 ... found checking for setproctitle() ... not found checking for pread() ... found checking for pwrite() ... found checking for pwritev() ... found checking for strerrordesc_np() ... found checking for localtime_r() ... found checking for clock_gettime(CLOCK_MONOTONIC) ... found checking for posix_memalign() ... found checking for memalign() ... found checking for mmap(MAP_ANON|MAP_SHARED) ... found checking for mmap("/dev/zero", MAP_SHARED) ... found checking for System V shared memory ... found checking for POSIX semaphores ... found checking for struct msghdr.msg_control ... found checking for ioctl(FIONBIO) ... found checking for ioctl(FIONREAD) ... found checking for struct tm.tm_gmtoff ... found checking for struct dirent.d_namlen ... not found checking for struct dirent.d_type ... found checking for sysconf(_SC_NPROCESSORS_ONLN) ... found checking for sysconf(_SC_LEVEL1_DCACHE_LINESIZE) ... found checking for openat(), fstatat() ... found checking for getaddrinfo() ... found configuring additional modules adding module in ../ngx_brotli + ngx_brotli was configured checking for PCRE2 library ... not found checking for PCRE library ... found checking for PCRE JIT support ... found checking for OpenSSL library ... found checking for OpenSSL QUIC support ... not found checking for OpenSSL QUIC compatibility ... found checking for zlib library ... found creating objs/Makefile Configuration summary + using system PCRE library + using system OpenSSL library + using system zlib library nginx path prefix: "/www/server/nginx" nginx binary file: "/www/server/nginx/sbin/nginx" nginx modules path: "/www/server/nginx/modules" nginx configuration prefix: "/www/server/nginx/conf" nginx configuration file: "/www/server/nginx/conf/nginx.conf" nginx pid file: "/www/server/nginx/logs/nginx.pid" nginx error log file: "/www/server/nginx/logs/error.log" nginx http access log file: "/www/server/nginx/logs/access.log" nginx http client request body temporary files: "client_body_temp" nginx http proxy temporary files: "proxy_temp" nginx http fastcgi temporary files: "fastcgi_temp" nginx http uwsgi temporary files: "uwsgi_temp" nginx http scgi temporary files: "scgi_temp" root at vultr ~/nginx # make make -f objs/Makefile make[1]: Entering directory '/root/nginx' c++ -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I../boringssl/include -x c -Wno-deprecated-declarations -I src/core -I src/event -I src/event/modules -I src/event/quic -I src/os/unix -I objs \ -o objs/src/core/nginx.o \ src/core/nginx.c c++ -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I../boringssl/include -x c -Wno-deprecated-declarations -I src/core -I src/event -I src/event/modules -I src/event/quic -I src/os/unix -I objs \ -o objs/src/core/ngx_log.o \ src/core/ngx_log.c c++ -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I../boringssl/include -x c -Wno-deprecated-declarations -I src/core -I src/event -I src/event/modules -I src/event/quic -I src/os/unix -I objs \ -o objs/src/core/ngx_palloc.o \ src/core/ngx_palloc.c c++ -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I../boringssl/include -x c -Wno-deprecated-declarations -I src/core -I src/event -I src/event/modules -I src/event/quic -I src/os/unix -I objs \ -o objs/src/core/ngx_array.o \ src/core/ngx_array.c c++ -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I../boringssl/include -x c -Wno-deprecated-declarations -I src/core -I src/event -I src/event/modules -I src/event/quic -I src/os/unix -I objs \ -o objs/src/core/ngx_list.o \ src/core/ngx_list.c c++ -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I../boringssl/include -x c -Wno-deprecated-declarations -I src/core -I src/event -I src/event/modules -I src/event/quic -I src/os/unix -I objs \ -o objs/src/core/ngx_hash.o \ src/core/ngx_hash.c c++ -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I../boringssl/include -x c -Wno-deprecated-declarations -I src/core -I src/event -I src/event/modules -I src/event/quic -I src/os/unix -I objs \ -o objs/src/core/ngx_buf.o \ src/core/ngx_buf.c c++ -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I../boringssl/include -x c -Wno-deprecated-declarations -I src/core -I src/event -I src/event/modules -I src/event/quic -I src/os/unix -I objs \ -o objs/src/core/ngx_queue.o \ src/core/ngx_queue.c c++ -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I../boringssl/include -x c -Wno-deprecated-declarations -I src/core -I src/event -I src/event/modules -I src/event/quic -I src/os/unix -I objs \ -o objs/src/core/ngx_output_chain.o \ src/core/ngx_output_chain.c c++ -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I../boringssl/include -x c -Wno-deprecated-declarations -I src/core -I src/event -I src/event/modules -I src/event/quic -I src/os/unix -I objs \ -o objs/src/core/ngx_string.o \ src/core/ngx_string.c c++ -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I../boringssl/include -x c -Wno-deprecated-declarations -I src/core -I src/event -I src/event/modules -I src/event/quic -I src/os/unix -I objs \ -o objs/src/core/ngx_parse.o \ src/core/ngx_parse.c c++ -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I../boringssl/include -x c -Wno-deprecated-declarations -I src/core -I src/event -I src/event/modules -I src/event/quic -I src/os/unix -I objs \ -o objs/src/core/ngx_parse_time.o \ src/core/ngx_parse_time.c c++ -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I../boringssl/include -x c -Wno-deprecated-declarations -I src/core -I src/event -I src/event/modules -I src/event/quic -I src/os/unix -I objs \ -o objs/src/core/ngx_inet.o \ src/core/ngx_inet.c c++ -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I../boringssl/include -x c -Wno-deprecated-declarations -I src/core -I src/event -I src/event/modules -I src/event/quic -I src/os/unix -I objs \ -o objs/src/core/ngx_file.o \ src/core/ngx_file.c c++ -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I../boringssl/include -x c -Wno-deprecated-declarations -I src/core -I src/event -I src/event/modules -I src/event/quic -I src/os/unix -I objs \ -o objs/src/core/ngx_crc32.o \ src/core/ngx_crc32.c c++ -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I../boringssl/include -x c -Wno-deprecated-declarations -I src/core -I src/event -I src/event/modules -I src/event/quic -I src/os/unix -I objs \ -o objs/src/core/ngx_murmurhash.o \ src/core/ngx_murmurhash.c c++ -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I../boringssl/include -x c -Wno-deprecated-declarations -I src/core -I src/event -I src/event/modules -I src/event/quic -I src/os/unix -I objs \ -o objs/src/core/ngx_md5.o \ src/core/ngx_md5.c c++ -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I../boringssl/include -x c -Wno-deprecated-declarations -I src/core -I src/event -I src/event/modules -I src/event/quic -I src/os/unix -I objs \ -o objs/src/core/ngx_sha1.o \ src/core/ngx_sha1.c c++ -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I../boringssl/include -x c -Wno-deprecated-declarations -I src/core -I src/event -I src/event/modules -I src/event/quic -I src/os/unix -I objs \ -o objs/src/core/ngx_rbtree.o \ src/core/ngx_rbtree.c c++ -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I../boringssl/include -x c -Wno-deprecated-declarations -I src/core -I src/event -I src/event/modules -I src/event/quic -I src/os/unix -I objs \ -o objs/src/core/ngx_radix_tree.o \ src/core/ngx_radix_tree.c c++ -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I../boringssl/include -x c -Wno-deprecated-declarations -I src/core -I src/event -I src/event/modules -I src/event/quic -I src/os/unix -I objs \ -o objs/src/core/ngx_slab.o \ src/core/ngx_slab.c c++ -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I../boringssl/include -x c -Wno-deprecated-declarations -I src/core -I src/event -I src/event/modules -I src/event/quic -I src/os/unix -I objs \ -o objs/src/core/ngx_times.o \ src/core/ngx_times.c c++ -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I../boringssl/include -x c -Wno-deprecated-declarations -I src/core -I src/event -I src/event/modules -I src/event/quic -I src/os/unix -I objs \ -o objs/src/core/ngx_shmtx.o \ src/core/ngx_shmtx.c c++ -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I../boringssl/include -x c -Wno-deprecated-declarations -I src/core -I src/event -I src/event/modules -I src/event/quic -I src/os/unix -I objs \ -o objs/src/core/ngx_connection.o \ src/core/ngx_connection.c c++ -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I../boringssl/include -x c -Wno-deprecated-declarations -I src/core -I src/event -I src/event/modules -I src/event/quic -I src/os/unix -I objs \ -o objs/src/core/ngx_cycle.o \ src/core/ngx_cycle.c c++ -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I../boringssl/include -x c -Wno-deprecated-declarations -I src/core -I src/event -I src/event/modules -I src/event/quic -I src/os/unix -I objs \ -o objs/src/core/ngx_spinlock.o \ src/core/ngx_spinlock.c c++ -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I../boringssl/include -x c -Wno-deprecated-declarations -I src/core -I src/event -I src/event/modules -I src/event/quic -I src/os/unix -I objs \ -o objs/src/core/ngx_rwlock.o \ src/core/ngx_rwlock.c c++ -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I../boringssl/include -x c -Wno-deprecated-declarations -I src/core -I src/event -I src/event/modules -I src/event/quic -I src/os/unix -I objs \ -o objs/src/core/ngx_cpuinfo.o \ src/core/ngx_cpuinfo.c c++ -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I../boringssl/include -x c -Wno-deprecated-declarations -I src/core -I src/event -I src/event/modules -I src/event/quic -I src/os/unix -I objs \ -o objs/src/core/ngx_conf_file.o \ src/core/ngx_conf_file.c c++ -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I../boringssl/include -x c -Wno-deprecated-declarations -I src/core -I src/event -I src/event/modules -I src/event/quic -I src/os/unix -I objs \ -o objs/src/core/ngx_module.o \ src/core/ngx_module.c c++ -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I../boringssl/include -x c -Wno-deprecated-declarations -I src/core -I src/event -I src/event/modules -I src/event/quic -I src/os/unix -I objs \ -o objs/src/core/ngx_resolver.o \ src/core/ngx_resolver.c c++ -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I../boringssl/include -x c -Wno-deprecated-declarations -I src/core -I src/event -I src/event/modules -I src/event/quic -I src/os/unix -I objs \ -o objs/src/core/ngx_open_file_cache.o \ src/core/ngx_open_file_cache.c c++ -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I../boringssl/include -x c -Wno-deprecated-declarations -I src/core -I src/event -I src/event/modules -I src/event/quic -I src/os/unix -I objs \ -o objs/src/core/ngx_crypt.o \ src/core/ngx_crypt.c c++ -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I../boringssl/include -x c -Wno-deprecated-declarations -I src/core -I src/event -I src/event/modules -I src/event/quic -I src/os/unix -I objs \ -o objs/src/core/ngx_proxy_protocol.o \ src/core/ngx_proxy_protocol.c c++ -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I../boringssl/include -x c -Wno-deprecated-declarations -I src/core -I src/event -I src/event/modules -I src/event/quic -I src/os/unix -I objs \ -o objs/src/core/ngx_syslog.o \ src/core/ngx_syslog.c c++ -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I../boringssl/include -x c -Wno-deprecated-declarations -I src/core -I src/event -I src/event/modules -I src/event/quic -I src/os/unix -I objs \ -o objs/src/event/ngx_event.o \ src/event/ngx_event.c c++ -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I../boringssl/include -x c -Wno-deprecated-declarations -I src/core -I src/event -I src/event/modules -I src/event/quic -I src/os/unix -I objs \ -o objs/src/event/ngx_event_timer.o \ src/event/ngx_event_timer.c c++ -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I../boringssl/include -x c -Wno-deprecated-declarations -I src/core -I src/event -I src/event/modules -I src/event/quic -I src/os/unix -I objs \ -o objs/src/event/ngx_event_posted.o \ src/event/ngx_event_posted.c c++ -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I../boringssl/include -x c -Wno-deprecated-declarations -I src/core -I src/event -I src/event/modules -I src/event/quic -I src/os/unix -I objs \ -o objs/src/event/ngx_event_accept.o \ src/event/ngx_event_accept.c c++ -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I../boringssl/include -x c -Wno-deprecated-declarations -I src/core -I src/event -I src/event/modules -I src/event/quic -I src/os/unix -I objs \ -o objs/src/event/ngx_event_udp.o \ src/event/ngx_event_udp.c c++ -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I../boringssl/include -x c -Wno-deprecated-declarations -I src/core -I src/event -I src/event/modules -I src/event/quic -I src/os/unix -I objs \ -o objs/src/event/ngx_event_connect.o \ src/event/ngx_event_connect.c c++ -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I../boringssl/include -x c -Wno-deprecated-declarations -I src/core -I src/event -I src/event/modules -I src/event/quic -I src/os/unix -I objs \ -o objs/src/event/ngx_event_pipe.o \ src/event/ngx_event_pipe.c c++ -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I../boringssl/include -x c -Wno-deprecated-declarations -I src/core -I src/event -I src/event/modules -I src/event/quic -I src/os/unix -I objs \ -o objs/src/os/unix/ngx_time.o \ src/os/unix/ngx_time.c c++ -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I../boringssl/include -x c -Wno-deprecated-declarations -I src/core -I src/event -I src/event/modules -I src/event/quic -I src/os/unix -I objs \ -o objs/src/os/unix/ngx_errno.o \ src/os/unix/ngx_errno.c c++ -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I../boringssl/include -x c -Wno-deprecated-declarations -I src/core -I src/event -I src/event/modules -I src/event/quic -I src/os/unix -I objs \ -o objs/src/os/unix/ngx_alloc.o \ src/os/unix/ngx_alloc.c c++ -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I../boringssl/include -x c -Wno-deprecated-declarations -I src/core -I src/event -I src/event/modules -I src/event/quic -I src/os/unix -I objs \ -o objs/src/os/unix/ngx_files.o \ src/os/unix/ngx_files.c c++ -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I../boringssl/include -x c -Wno-deprecated-declarations -I src/core -I src/event -I src/event/modules -I src/event/quic -I src/os/unix -I objs \ -o objs/src/os/unix/ngx_socket.o \ src/os/unix/ngx_socket.c c++ -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I../boringssl/include -x c -Wno-deprecated-declarations -I src/core -I src/event -I src/event/modules -I src/event/quic -I src/os/unix -I objs \ -o objs/src/os/unix/ngx_recv.o \ src/os/unix/ngx_recv.c c++ -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I../boringssl/include -x c -Wno-deprecated-declarations -I src/core -I src/event -I src/event/modules -I src/event/quic -I src/os/unix -I objs \ -o objs/src/os/unix/ngx_readv_chain.o \ src/os/unix/ngx_readv_chain.c c++ -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I../boringssl/include -x c -Wno-deprecated-declarations -I src/core -I src/event -I src/event/modules -I src/event/quic -I src/os/unix -I objs \ -o objs/src/os/unix/ngx_udp_recv.o \ src/os/unix/ngx_udp_recv.c c++ -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I../boringssl/include -x c -Wno-deprecated-declarations -I src/core -I src/event -I src/event/modules -I src/event/quic -I src/os/unix -I objs \ -o objs/src/os/unix/ngx_send.o \ src/os/unix/ngx_send.c c++ -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I../boringssl/include -x c -Wno-deprecated-declarations -I src/core -I src/event -I src/event/modules -I src/event/quic -I src/os/unix -I objs \ -o objs/src/os/unix/ngx_writev_chain.o \ src/os/unix/ngx_writev_chain.c c++ -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I../boringssl/include -x c -Wno-deprecated-declarations -I src/core -I src/event -I src/event/modules -I src/event/quic -I src/os/unix -I objs \ -o objs/src/os/unix/ngx_udp_send.o \ src/os/unix/ngx_udp_send.c c++ -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I../boringssl/include -x c -Wno-deprecated-declarations -I src/core -I src/event -I src/event/modules -I src/event/quic -I src/os/unix -I objs \ -o objs/src/os/unix/ngx_udp_sendmsg_chain.o \ src/os/unix/ngx_udp_sendmsg_chain.c c++ -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I../boringssl/include -x c -Wno-deprecated-declarations -I src/core -I src/event -I src/event/modules -I src/event/quic -I src/os/unix -I objs \ -o objs/src/os/unix/ngx_channel.o \ src/os/unix/ngx_channel.c c++ -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I../boringssl/include -x c -Wno-deprecated-declarations -I src/core -I src/event -I src/event/modules -I src/event/quic -I src/os/unix -I objs \ -o objs/src/os/unix/ngx_shmem.o \ src/os/unix/ngx_shmem.c c++ -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I../boringssl/include -x c -Wno-deprecated-declarations -I src/core -I src/event -I src/event/modules -I src/event/quic -I src/os/unix -I objs \ -o objs/src/os/unix/ngx_process.o \ src/os/unix/ngx_process.c c++ -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I../boringssl/include -x c -Wno-deprecated-declarations -I src/core -I src/event -I src/event/modules -I src/event/quic -I src/os/unix -I objs \ -o objs/src/os/unix/ngx_daemon.o \ src/os/unix/ngx_daemon.c c++ -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I../boringssl/include -x c -Wno-deprecated-declarations -I src/core -I src/event -I src/event/modules -I src/event/quic -I src/os/unix -I objs \ -o objs/src/os/unix/ngx_setaffinity.o \ src/os/unix/ngx_setaffinity.c c++ -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I../boringssl/include -x c -Wno-deprecated-declarations -I src/core -I src/event -I src/event/modules -I src/event/quic -I src/os/unix -I objs \ -o objs/src/os/unix/ngx_setproctitle.o \ src/os/unix/ngx_setproctitle.c c++ -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I../boringssl/include -x c -Wno-deprecated-declarations -I src/core -I src/event -I src/event/modules -I src/event/quic -I src/os/unix -I objs \ -o objs/src/os/unix/ngx_posix_init.o \ src/os/unix/ngx_posix_init.c c++ -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I../boringssl/include -x c -Wno-deprecated-declarations -I src/core -I src/event -I src/event/modules -I src/event/quic -I src/os/unix -I objs \ -o objs/src/os/unix/ngx_user.o \ src/os/unix/ngx_user.c c++ -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I../boringssl/include -x c -Wno-deprecated-declarations -I src/core -I src/event -I src/event/modules -I src/event/quic -I src/os/unix -I objs \ -o objs/src/os/unix/ngx_dlopen.o \ src/os/unix/ngx_dlopen.c c++ -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I../boringssl/include -x c -Wno-deprecated-declarations -I src/core -I src/event -I src/event/modules -I src/event/quic -I src/os/unix -I objs \ -o objs/src/os/unix/ngx_process_cycle.o \ src/os/unix/ngx_process_cycle.c c++ -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I../boringssl/include -x c -Wno-deprecated-declarations -I src/core -I src/event -I src/event/modules -I src/event/quic -I src/os/unix -I objs \ -o objs/src/os/unix/ngx_linux_init.o \ src/os/unix/ngx_linux_init.c c++ -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I../boringssl/include -x c -Wno-deprecated-declarations -I src/core -I src/event -I src/event/modules -I src/event/quic -I src/os/unix -I objs \ -o objs/src/event/modules/ngx_epoll_module.o \ src/event/modules/ngx_epoll_module.c c++ -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I../boringssl/include -x c -Wno-deprecated-declarations -I src/core -I src/event -I src/event/modules -I src/event/quic -I src/os/unix -I objs \ -o objs/src/os/unix/ngx_linux_sendfile_chain.o \ src/os/unix/ngx_linux_sendfile_chain.c c++ -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I../boringssl/include -x c -Wno-deprecated-declarations -I src/core -I src/event -I src/event/modules -I src/event/quic -I src/os/unix -I objs \ -o objs/src/core/ngx_bpf.o \ src/core/ngx_bpf.c c++ -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I../boringssl/include -x c -Wno-deprecated-declarations -I src/core -I src/event -I src/event/modules -I src/event/quic -I src/os/unix -I objs \ -o objs/src/event/ngx_event_openssl.o \ src/event/ngx_event_openssl.c c++ -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I../boringssl/include -x c -Wno-deprecated-declarations -I src/core -I src/event -I src/event/modules -I src/event/quic -I src/os/unix -I objs \ -o objs/src/event/ngx_event_openssl_cache.o \ src/event/ngx_event_openssl_cache.c c++ -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I../boringssl/include -x c -Wno-deprecated-declarations -I src/core -I src/event -I src/event/modules -I src/event/quic -I src/os/unix -I objs \ -o objs/src/event/ngx_event_openssl_stapling.o \ src/event/ngx_event_openssl_stapling.c c++ -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I../boringssl/include -x c -Wno-deprecated-declarations -I src/core -I src/event -I src/event/modules -I src/event/quic -I src/os/unix -I objs \ -o objs/src/event/quic/ngx_event_quic.o \ src/event/quic/ngx_event_quic.c In file included from src/event/quic/ngx_event_quic_connection.h:29, from src/event/quic/ngx_event_quic.c:10: src/event/quic/ngx_event_quic_openssl_compat.h:23:6: error: redeclaration of ‘enum ssl_encryption_level_t’ 23 | enum ssl_encryption_level_t { | ^~~~~~~~~~~~~~~~~~~~~~ In file included from src/event/ngx_event_openssl.h:17, from src/core/ngx_core.h:86, from src/event/quic/ngx_event_quic.c:8: ../boringssl/include/openssl/ssl.h:3855:6: note: originally defined here 3855 | enum ssl_encryption_level_t BORINGSSL_ENUM_INT { | ^~~~~~~~~~~~~~~~~~~~~~ src/event/quic/ngx_event_quic_openssl_compat.h:24:5: error: redeclaration of enumerator ‘ssl_encryption_initial’ 24 | ssl_encryption_initial = 0, | ^~~~~~~~~~~~~~~~~~~~~~ ../boringssl/include/openssl/ssl.h:3856:3: note: previous definition of ‘ssl_encryption_initial’ with type ‘enum ssl_encryption_level_t’ 3856 | ssl_encryption_initial = 0, | ^~~~~~~~~~~~~~~~~~~~~~ src/event/quic/ngx_event_quic_openssl_compat.h:25:5: error: redeclaration of enumerator ‘ssl_encryption_early_data’ 25 | ssl_encryption_early_data, | ^~~~~~~~~~~~~~~~~~~~~~~~~ ../boringssl/include/openssl/ssl.h:3857:3: note: previous definition of ‘ssl_encryption_early_data’ with type ‘enum ssl_encryption_level_t’ 3857 | ssl_encryption_early_data = 1, | ^~~~~~~~~~~~~~~~~~~~~~~~~ src/event/quic/ngx_event_quic_openssl_compat.h:26:5: error: redeclaration of enumerator ‘ssl_encryption_handshake’ 26 | ssl_encryption_handshake, | ^~~~~~~~~~~~~~~~~~~~~~~~ ../boringssl/include/openssl/ssl.h:3858:3: note: previous definition of ‘ssl_encryption_handshake’ with type ‘enum ssl_encryption_level_t’ 3858 | ssl_encryption_handshake = 2, | ^~~~~~~~~~~~~~~~~~~~~~~~ src/event/quic/ngx_event_quic_openssl_compat.h:27:5: error: redeclaration of enumerator ‘ssl_encryption_application’ 27 | ssl_encryption_application | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ../boringssl/include/openssl/ssl.h:3859:3: note: previous definition of ‘ssl_encryption_application’ with type ‘enum ssl_encryption_level_t’ 3859 | ssl_encryption_application = 3, | ^~~~~~~~~~~~~~~~~~~~~~~~~~ src/event/quic/ngx_event_quic_openssl_compat.h:31:16: error: redefinition of ‘struct ssl_quic_method_st’ 31 | typedef struct ssl_quic_method_st { | ^~~~~~~~~~~~~~~~~~ ../boringssl/include/openssl/ssl.h:3863:8: note: originally defined here 3863 | struct ssl_quic_method_st { | ^~~~~~~~~~~~~~~~~~ src/event/quic/ngx_event_quic_openssl_compat.h:43:3: error: conflicting types for ‘SSL_QUIC_METHOD’; have ‘struct ssl_quic_method_st’ 43 | } SSL_QUIC_METHOD; | ^~~~~~~~~~~~~~~ In file included from ../boringssl/include/openssl/ssl.h:20: ../boringssl/include/openssl/base.h:351:35: note: previous declaration of ‘SSL_QUIC_METHOD’ with type ‘SSL_QUIC_METHOD’ {aka ‘struct ssl_quic_method_st’} 351 | typedef struct ssl_quic_method_st SSL_QUIC_METHOD; | ^~~~~~~~~~~~~~~ src/event/quic/ngx_event_quic_openssl_compat.h:48:5: error: conflicting types for ‘SSL_set_quic_method’; have ‘int(SSL *, const SSL_QUIC_METHOD *)’ {aka ‘int(struct ssl_st *, const struct ssl_quic_method_st *)’} 48 | int SSL_set_quic_method(SSL *ssl, const SSL_QUIC_METHOD *quic_method); | ^~~~~~~~~~~~~~~~~~~ ../boringssl/include/openssl/ssl.h:3977:20: note: previous declaration of ‘SSL_set_quic_method’ with type ‘int(SSL *, const SSL_QUIC_METHOD *)’ {aka ‘int(struct ssl_st *, const struct ssl_quic_method_st *)’} 3977 | OPENSSL_EXPORT int SSL_set_quic_method(SSL *ssl, | ^~~~~~~~~~~~~~~~~~~ make[1]: *** [objs/Makefile:1050: objs/src/event/quic/ngx_event_quic.o] Error 1 make[1]: Leaving directory '/root/nginx' make: *** [Makefile:10: build] Error 2 root at vultr ~/nginx # -------------- next part -------------- An HTML attachment was scrubbed... URL: From rttwyjz at gmail.com Wed May 14 02:34:05 2025 From: rttwyjz at gmail.com (=?utf-8?B?5p2o6YeR5rO9?=) Date: Wed, 14 May 2025 10:34:05 +0800 Subject: Compiling Nginx with BoringSSL results in an error Message-ID: <41B7C294-8DA0-4307-8848-E8B269C9F1E0@gmail.com> It seems that BoringSSL has updated some of its interfaces, causing the following issues during the compilation of Nginx. Is there currently any solution to resolve this problem? Or are there other libraries that can perfectly replace BoringSSL? The commands and error messages are as follows: root at vultr ~ # cd nginx root at vultr ~/nginx # ./auto/configure --user=www-data --group=www-data --prefix=/www/server/nginx --with-pcre --add-module=../ngx_brotli --with-http_v2_module --with-stream --with-stream_ssl_module --with-http_ssl_module --with-http_gzip_static_module --with-http_gunzip_module --with-http_sub_module --with-http_flv_module --with-http_addition_module --with-http_realip_module --with-http_mp4_module --with-ld-opt=-Wl,-E --with-cc-opt=-Wno-error --with-ld-opt=-ljemalloc --with-http_dav_module --with-http_v3_module --with-cc=c++ --with-cc-opt="-I../boringssl/include -x c" --with-ld-opt="-L../boringssl/build/ssl -L../boringssl/build/crypto" checking for OS + Linux 6.1.0-34-amd64 x86_64 checking for C compiler ... found + using GNU C compiler + gcc version: 12.2.0 (Debian 12.2.0-14) checking for gcc -pipe switch ... found checking for --with-ld-opt="-L../boringssl/build/ssl -L../boringssl/build/crypto" ... found checking for -Wl,-E switch ... found checking for gcc builtin atomic operations ... found checking for C99 variadic macros ... found checking for gcc variadic macros ... found checking for gcc builtin 64 bit byteswap ... found checking for unistd.h ... found checking for inttypes.h ... found checking for limits.h ... found checking for sys/filio.h ... not found checking for sys/param.h ... found checking for sys/mount.h ... found checking for sys/statvfs.h ... found checking for crypt.h ... found checking for Linux specific features checking for epoll ... found checking for EPOLLRDHUP ... found checking for EPOLLEXCLUSIVE ... found checking for eventfd() ... found checking for O_PATH ... found checking for sendfile() ... found checking for sendfile64() ... found checking for sys/prctl.h ... found checking for prctl(PR_SET_DUMPABLE) ... found checking for prctl(PR_SET_KEEPCAPS) ... found checking for capabilities ... found checking for crypt_r() ... found checking for sys/vfs.h ... found checking for BPF sockhash ... found checking for SO_COOKIE ... found checking for UDP_SEGMENT ... found checking for poll() ... found checking for /dev/poll ... not found checking for kqueue ... not found checking for crypt() ... not found checking for crypt() in libcrypt ... found checking for F_READAHEAD ... not found checking for posix_fadvise() ... found checking for O_DIRECT ... found checking for F_NOCACHE ... not found checking for directio() ... not found checking for statfs() ... found checking for statvfs() ... found checking for dlopen() ... found checking for sched_yield() ... found checking for sched_setaffinity() ... found checking for SO_SETFIB ... not found checking for SO_REUSEPORT ... found checking for SO_ACCEPTFILTER ... not found checking for SO_BINDANY ... not found checking for IP_TRANSPARENT ... found checking for IP_BINDANY ... not found checking for IP_BIND_ADDRESS_NO_PORT ... found checking for IP_RECVDSTADDR ... not found checking for IP_SENDSRCADDR ... not found checking for IP_PKTINFO ... found checking for IPV6_RECVPKTINFO ... found checking for IP_MTU_DISCOVER ... found checking for IPV6_MTU_DISCOVER ... found checking for IP_DONTFRAG ... not found checking for IPV6_DONTFRAG ... found checking for TCP_DEFER_ACCEPT ... found checking for TCP_KEEPIDLE ... found checking for TCP_FASTOPEN ... found checking for TCP_INFO ... found checking for accept4() ... found checking for int size ... 4 bytes checking for long size ... 8 bytes checking for long long size ... 8 bytes checking for void * size ... 8 bytes checking for uint32_t ... found checking for uint64_t ... found checking for sig_atomic_t ... found checking for sig_atomic_t size ... 4 bytes checking for socklen_t ... found checking for in_addr_t ... found checking for in_port_t ... found checking for rlim_t ... found checking for uintptr_t ... uintptr_t found checking for system byte ordering ... little endian checking for size_t size ... 8 bytes checking for off_t size ... 8 bytes checking for time_t size ... 8 bytes checking for AF_INET6 ... found checking for setproctitle() ... not found checking for pread() ... found checking for pwrite() ... found checking for pwritev() ... found checking for strerrordesc_np() ... found checking for localtime_r() ... found checking for clock_gettime(CLOCK_MONOTONIC) ... found checking for posix_memalign() ... found checking for memalign() ... found checking for mmap(MAP_ANON|MAP_SHARED) ... found checking for mmap("/dev/zero", MAP_SHARED) ... found checking for System V shared memory ... found checking for POSIX semaphores ... found checking for struct msghdr.msg_control ... found checking for ioctl(FIONBIO) ... found checking for ioctl(FIONREAD) ... found checking for struct tm.tm_gmtoff ... found checking for struct dirent.d_namlen ... not found checking for struct dirent.d_type ... found checking for sysconf(_SC_NPROCESSORS_ONLN) ... found checking for sysconf(_SC_LEVEL1_DCACHE_LINESIZE) ... found checking for openat(), fstatat() ... found checking for getaddrinfo() ... found configuring additional modules adding module in ../ngx_brotli + ngx_brotli was configured checking for PCRE2 library ... not found checking for PCRE library ... found checking for PCRE JIT support ... found checking for OpenSSL library ... found checking for OpenSSL QUIC support ... not found checking for OpenSSL QUIC compatibility ... found checking for zlib library ... found creating objs/Makefile Configuration summary + using system PCRE library + using system OpenSSL library + using system zlib library nginx path prefix: "/www/server/nginx" nginx binary file: "/www/server/nginx/sbin/nginx" nginx modules path: "/www/server/nginx/modules" nginx configuration prefix: "/www/server/nginx/conf" nginx configuration file: "/www/server/nginx/conf/nginx.conf" nginx pid file: "/www/server/nginx/logs/nginx.pid" nginx error log file: "/www/server/nginx/logs/error.log" nginx http access log file: "/www/server/nginx/logs/access.log" nginx http client request body temporary files: "client_body_temp" nginx http proxy temporary files: "proxy_temp" nginx http fastcgi temporary files: "fastcgi_temp" nginx http uwsgi temporary files: "uwsgi_temp" nginx http scgi temporary files: "scgi_temp" root at vultr ~/nginx # make make -f objs/Makefile make[1]: Entering directory '/root/nginx' c++ -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I../boringssl/include -x c -Wno-deprecated-declarations -I src/core -I src/event -I src/event/modules -I src/event/quic -I src/os/unix -I objs \ -o objs/src/core/nginx.o \ src/core/nginx.c c++ -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I../boringssl/include -x c -Wno-deprecated-declarations -I src/core -I src/event -I src/event/modules -I src/event/quic -I src/os/unix -I objs \ -o objs/src/core/ngx_log.o \ src/core/ngx_log.c c++ -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I../boringssl/include -x c -Wno-deprecated-declarations -I src/core -I src/event -I src/event/modules -I src/event/quic -I src/os/unix -I objs \ -o objs/src/core/ngx_palloc.o \ src/core/ngx_palloc.c c++ -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I../boringssl/include -x c -Wno-deprecated-declarations -I src/core -I src/event -I src/event/modules -I src/event/quic -I src/os/unix -I objs \ -o objs/src/core/ngx_array.o \ src/core/ngx_array.c c++ -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I../boringssl/include -x c -Wno-deprecated-declarations -I src/core -I src/event -I src/event/modules -I src/event/quic -I src/os/unix -I objs \ -o objs/src/core/ngx_list.o \ src/core/ngx_list.c c++ -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I../boringssl/include -x c -Wno-deprecated-declarations -I src/core -I src/event -I src/event/modules -I src/event/quic -I src/os/unix -I objs \ -o objs/src/core/ngx_hash.o \ src/core/ngx_hash.c c++ -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I../boringssl/include -x c -Wno-deprecated-declarations -I src/core -I src/event -I src/event/modules -I src/event/quic -I src/os/unix -I objs \ -o objs/src/core/ngx_buf.o \ src/core/ngx_buf.c c++ -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I../boringssl/include -x c -Wno-deprecated-declarations -I src/core -I src/event -I src/event/modules -I src/event/quic -I src/os/unix -I objs \ -o objs/src/core/ngx_queue.o \ src/core/ngx_queue.c c++ -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I../boringssl/include -x c -Wno-deprecated-declarations -I src/core -I src/event -I src/event/modules -I src/event/quic -I src/os/unix -I objs \ -o objs/src/core/ngx_output_chain.o \ src/core/ngx_output_chain.c c++ -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I../boringssl/include -x c -Wno-deprecated-declarations -I src/core -I src/event -I src/event/modules -I src/event/quic -I src/os/unix -I objs \ -o objs/src/core/ngx_string.o \ src/core/ngx_string.c c++ -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I../boringssl/include -x c -Wno-deprecated-declarations -I src/core -I src/event -I src/event/modules -I src/event/quic -I src/os/unix -I objs \ -o objs/src/core/ngx_parse.o \ src/core/ngx_parse.c c++ -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I../boringssl/include -x c -Wno-deprecated-declarations -I src/core -I src/event -I src/event/modules -I src/event/quic -I src/os/unix -I objs \ -o objs/src/core/ngx_parse_time.o \ src/core/ngx_parse_time.c c++ -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I../boringssl/include -x c -Wno-deprecated-declarations -I src/core -I src/event -I src/event/modules -I src/event/quic -I src/os/unix -I objs \ -o objs/src/core/ngx_inet.o \ src/core/ngx_inet.c c++ -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I../boringssl/include -x c -Wno-deprecated-declarations -I src/core -I src/event -I src/event/modules -I src/event/quic -I src/os/unix -I objs \ -o objs/src/core/ngx_file.o \ src/core/ngx_file.c c++ -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I../boringssl/include -x c -Wno-deprecated-declarations -I src/core -I src/event -I src/event/modules -I src/event/quic -I src/os/unix -I objs \ -o objs/src/core/ngx_crc32.o \ src/core/ngx_crc32.c c++ -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I../boringssl/include -x c -Wno-deprecated-declarations -I src/core -I src/event -I src/event/modules -I src/event/quic -I src/os/unix -I objs \ -o objs/src/core/ngx_murmurhash.o \ src/core/ngx_murmurhash.c c++ -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I../boringssl/include -x c -Wno-deprecated-declarations -I src/core -I src/event -I src/event/modules -I src/event/quic -I src/os/unix -I objs \ -o objs/src/core/ngx_md5.o \ src/core/ngx_md5.c c++ -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I../boringssl/include -x c -Wno-deprecated-declarations -I src/core -I src/event -I src/event/modules -I src/event/quic -I src/os/unix -I objs \ -o objs/src/core/ngx_sha1.o \ src/core/ngx_sha1.c c++ -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I../boringssl/include -x c -Wno-deprecated-declarations -I src/core -I src/event -I src/event/modules -I src/event/quic -I src/os/unix -I objs \ -o objs/src/core/ngx_rbtree.o \ src/core/ngx_rbtree.c c++ -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I../boringssl/include -x c -Wno-deprecated-declarations -I src/core -I src/event -I src/event/modules -I src/event/quic -I src/os/unix -I objs \ -o objs/src/core/ngx_radix_tree.o \ src/core/ngx_radix_tree.c c++ -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I../boringssl/include -x c -Wno-deprecated-declarations -I src/core -I src/event -I src/event/modules -I src/event/quic -I src/os/unix -I objs \ -o objs/src/core/ngx_slab.o \ src/core/ngx_slab.c c++ -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I../boringssl/include -x c -Wno-deprecated-declarations -I src/core -I src/event -I src/event/modules -I src/event/quic -I src/os/unix -I objs \ -o objs/src/core/ngx_times.o \ src/core/ngx_times.c c++ -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I../boringssl/include -x c -Wno-deprecated-declarations -I src/core -I src/event -I src/event/modules -I src/event/quic -I src/os/unix -I objs \ -o objs/src/core/ngx_shmtx.o \ src/core/ngx_shmtx.c c++ -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I../boringssl/include -x c -Wno-deprecated-declarations -I src/core -I src/event -I src/event/modules -I src/event/quic -I src/os/unix -I objs \ -o objs/src/core/ngx_connection.o \ src/core/ngx_connection.c c++ -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I../boringssl/include -x c -Wno-deprecated-declarations -I src/core -I src/event -I src/event/modules -I src/event/quic -I src/os/unix -I objs \ -o objs/src/core/ngx_cycle.o \ src/core/ngx_cycle.c c++ -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I../boringssl/include -x c -Wno-deprecated-declarations -I src/core -I src/event -I src/event/modules -I src/event/quic -I src/os/unix -I objs \ -o objs/src/core/ngx_spinlock.o \ src/core/ngx_spinlock.c c++ -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I../boringssl/include -x c -Wno-deprecated-declarations -I src/core -I src/event -I src/event/modules -I src/event/quic -I src/os/unix -I objs \ -o objs/src/core/ngx_rwlock.o \ src/core/ngx_rwlock.c c++ -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I../boringssl/include -x c -Wno-deprecated-declarations -I src/core -I src/event -I src/event/modules -I src/event/quic -I src/os/unix -I objs \ -o objs/src/core/ngx_cpuinfo.o \ src/core/ngx_cpuinfo.c c++ -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I../boringssl/include -x c -Wno-deprecated-declarations -I src/core -I src/event -I src/event/modules -I src/event/quic -I src/os/unix -I objs \ -o objs/src/core/ngx_conf_file.o \ src/core/ngx_conf_file.c c++ -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I../boringssl/include -x c -Wno-deprecated-declarations -I src/core -I src/event -I src/event/modules -I src/event/quic -I src/os/unix -I objs \ -o objs/src/core/ngx_module.o \ src/core/ngx_module.c c++ -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I../boringssl/include -x c -Wno-deprecated-declarations -I src/core -I src/event -I src/event/modules -I src/event/quic -I src/os/unix -I objs \ -o objs/src/core/ngx_resolver.o \ src/core/ngx_resolver.c c++ -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I../boringssl/include -x c -Wno-deprecated-declarations -I src/core -I src/event -I src/event/modules -I src/event/quic -I src/os/unix -I objs \ -o objs/src/core/ngx_open_file_cache.o \ src/core/ngx_open_file_cache.c c++ -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I../boringssl/include -x c -Wno-deprecated-declarations -I src/core -I src/event -I src/event/modules -I src/event/quic -I src/os/unix -I objs \ -o objs/src/core/ngx_crypt.o \ src/core/ngx_crypt.c c++ -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I../boringssl/include -x c -Wno-deprecated-declarations -I src/core -I src/event -I src/event/modules -I src/event/quic -I src/os/unix -I objs \ -o objs/src/core/ngx_proxy_protocol.o \ src/core/ngx_proxy_protocol.c c++ -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I../boringssl/include -x c -Wno-deprecated-declarations -I src/core -I src/event -I src/event/modules -I src/event/quic -I src/os/unix -I objs \ -o objs/src/core/ngx_syslog.o \ src/core/ngx_syslog.c c++ -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I../boringssl/include -x c -Wno-deprecated-declarations -I src/core -I src/event -I src/event/modules -I src/event/quic -I src/os/unix -I objs \ -o objs/src/event/ngx_event.o \ src/event/ngx_event.c c++ -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I../boringssl/include -x c -Wno-deprecated-declarations -I src/core -I src/event -I src/event/modules -I src/event/quic -I src/os/unix -I objs \ -o objs/src/event/ngx_event_timer.o \ src/event/ngx_event_timer.c c++ -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I../boringssl/include -x c -Wno-deprecated-declarations -I src/core -I src/event -I src/event/modules -I src/event/quic -I src/os/unix -I objs \ -o objs/src/event/ngx_event_posted.o \ src/event/ngx_event_posted.c c++ -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I../boringssl/include -x c -Wno-deprecated-declarations -I src/core -I src/event -I src/event/modules -I src/event/quic -I src/os/unix -I objs \ -o objs/src/event/ngx_event_accept.o \ src/event/ngx_event_accept.c c++ -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I../boringssl/include -x c -Wno-deprecated-declarations -I src/core -I src/event -I src/event/modules -I src/event/quic -I src/os/unix -I objs \ -o objs/src/event/ngx_event_udp.o \ src/event/ngx_event_udp.c c++ -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I../boringssl/include -x c -Wno-deprecated-declarations -I src/core -I src/event -I src/event/modules -I src/event/quic -I src/os/unix -I objs \ -o objs/src/event/ngx_event_connect.o \ src/event/ngx_event_connect.c c++ -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I../boringssl/include -x c -Wno-deprecated-declarations -I src/core -I src/event -I src/event/modules -I src/event/quic -I src/os/unix -I objs \ -o objs/src/event/ngx_event_pipe.o \ src/event/ngx_event_pipe.c c++ -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I../boringssl/include -x c -Wno-deprecated-declarations -I src/core -I src/event -I src/event/modules -I src/event/quic -I src/os/unix -I objs \ -o objs/src/os/unix/ngx_time.o \ src/os/unix/ngx_time.c c++ -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I../boringssl/include -x c -Wno-deprecated-declarations -I src/core -I src/event -I src/event/modules -I src/event/quic -I src/os/unix -I objs \ -o objs/src/os/unix/ngx_errno.o \ src/os/unix/ngx_errno.c c++ -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I../boringssl/include -x c -Wno-deprecated-declarations -I src/core -I src/event -I src/event/modules -I src/event/quic -I src/os/unix -I objs \ -o objs/src/os/unix/ngx_alloc.o \ src/os/unix/ngx_alloc.c c++ -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I../boringssl/include -x c -Wno-deprecated-declarations -I src/core -I src/event -I src/event/modules -I src/event/quic -I src/os/unix -I objs \ -o objs/src/os/unix/ngx_files.o \ src/os/unix/ngx_files.c c++ -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I../boringssl/include -x c -Wno-deprecated-declarations -I src/core -I src/event -I src/event/modules -I src/event/quic -I src/os/unix -I objs \ -o objs/src/os/unix/ngx_socket.o \ src/os/unix/ngx_socket.c c++ -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I../boringssl/include -x c -Wno-deprecated-declarations -I src/core -I src/event -I src/event/modules -I src/event/quic -I src/os/unix -I objs \ -o objs/src/os/unix/ngx_recv.o \ src/os/unix/ngx_recv.c c++ -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I../boringssl/include -x c -Wno-deprecated-declarations -I src/core -I src/event -I src/event/modules -I src/event/quic -I src/os/unix -I objs \ -o objs/src/os/unix/ngx_readv_chain.o \ src/os/unix/ngx_readv_chain.c c++ -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I../boringssl/include -x c -Wno-deprecated-declarations -I src/core -I src/event -I src/event/modules -I src/event/quic -I src/os/unix -I objs \ -o objs/src/os/unix/ngx_udp_recv.o \ src/os/unix/ngx_udp_recv.c c++ -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I../boringssl/include -x c -Wno-deprecated-declarations -I src/core -I src/event -I src/event/modules -I src/event/quic -I src/os/unix -I objs \ -o objs/src/os/unix/ngx_send.o \ src/os/unix/ngx_send.c c++ -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I../boringssl/include -x c -Wno-deprecated-declarations -I src/core -I src/event -I src/event/modules -I src/event/quic -I src/os/unix -I objs \ -o objs/src/os/unix/ngx_writev_chain.o \ src/os/unix/ngx_writev_chain.c c++ -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I../boringssl/include -x c -Wno-deprecated-declarations -I src/core -I src/event -I src/event/modules -I src/event/quic -I src/os/unix -I objs \ -o objs/src/os/unix/ngx_udp_send.o \ src/os/unix/ngx_udp_send.c c++ -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I../boringssl/include -x c -Wno-deprecated-declarations -I src/core -I src/event -I src/event/modules -I src/event/quic -I src/os/unix -I objs \ -o objs/src/os/unix/ngx_udp_sendmsg_chain.o \ src/os/unix/ngx_udp_sendmsg_chain.c c++ -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I../boringssl/include -x c -Wno-deprecated-declarations -I src/core -I src/event -I src/event/modules -I src/event/quic -I src/os/unix -I objs \ -o objs/src/os/unix/ngx_channel.o \ src/os/unix/ngx_channel.c c++ -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I../boringssl/include -x c -Wno-deprecated-declarations -I src/core -I src/event -I src/event/modules -I src/event/quic -I src/os/unix -I objs \ -o objs/src/os/unix/ngx_shmem.o \ src/os/unix/ngx_shmem.c c++ -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I../boringssl/include -x c -Wno-deprecated-declarations -I src/core -I src/event -I src/event/modules -I src/event/quic -I src/os/unix -I objs \ -o objs/src/os/unix/ngx_process.o \ src/os/unix/ngx_process.c c++ -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I../boringssl/include -x c -Wno-deprecated-declarations -I src/core -I src/event -I src/event/modules -I src/event/quic -I src/os/unix -I objs \ -o objs/src/os/unix/ngx_daemon.o \ src/os/unix/ngx_daemon.c c++ -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I../boringssl/include -x c -Wno-deprecated-declarations -I src/core -I src/event -I src/event/modules -I src/event/quic -I src/os/unix -I objs \ -o objs/src/os/unix/ngx_setaffinity.o \ src/os/unix/ngx_setaffinity.c c++ -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I../boringssl/include -x c -Wno-deprecated-declarations -I src/core -I src/event -I src/event/modules -I src/event/quic -I src/os/unix -I objs \ -o objs/src/os/unix/ngx_setproctitle.o \ src/os/unix/ngx_setproctitle.c c++ -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I../boringssl/include -x c -Wno-deprecated-declarations -I src/core -I src/event -I src/event/modules -I src/event/quic -I src/os/unix -I objs \ -o objs/src/os/unix/ngx_posix_init.o \ src/os/unix/ngx_posix_init.c c++ -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I../boringssl/include -x c -Wno-deprecated-declarations -I src/core -I src/event -I src/event/modules -I src/event/quic -I src/os/unix -I objs \ -o objs/src/os/unix/ngx_user.o \ src/os/unix/ngx_user.c c++ -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I../boringssl/include -x c -Wno-deprecated-declarations -I src/core -I src/event -I src/event/modules -I src/event/quic -I src/os/unix -I objs \ -o objs/src/os/unix/ngx_dlopen.o \ src/os/unix/ngx_dlopen.c c++ -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I../boringssl/include -x c -Wno-deprecated-declarations -I src/core -I src/event -I src/event/modules -I src/event/quic -I src/os/unix -I objs \ -o objs/src/os/unix/ngx_process_cycle.o \ src/os/unix/ngx_process_cycle.c c++ -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I../boringssl/include -x c -Wno-deprecated-declarations -I src/core -I src/event -I src/event/modules -I src/event/quic -I src/os/unix -I objs \ -o objs/src/os/unix/ngx_linux_init.o \ src/os/unix/ngx_linux_init.c c++ -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I../boringssl/include -x c -Wno-deprecated-declarations -I src/core -I src/event -I src/event/modules -I src/event/quic -I src/os/unix -I objs \ -o objs/src/event/modules/ngx_epoll_module.o \ src/event/modules/ngx_epoll_module.c c++ -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I../boringssl/include -x c -Wno-deprecated-declarations -I src/core -I src/event -I src/event/modules -I src/event/quic -I src/os/unix -I objs \ -o objs/src/os/unix/ngx_linux_sendfile_chain.o \ src/os/unix/ngx_linux_sendfile_chain.c c++ -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I../boringssl/include -x c -Wno-deprecated-declarations -I src/core -I src/event -I src/event/modules -I src/event/quic -I src/os/unix -I objs \ -o objs/src/core/ngx_bpf.o \ src/core/ngx_bpf.c c++ -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I../boringssl/include -x c -Wno-deprecated-declarations -I src/core -I src/event -I src/event/modules -I src/event/quic -I src/os/unix -I objs \ -o objs/src/event/ngx_event_openssl.o \ src/event/ngx_event_openssl.c c++ -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I../boringssl/include -x c -Wno-deprecated-declarations -I src/core -I src/event -I src/event/modules -I src/event/quic -I src/os/unix -I objs \ -o objs/src/event/ngx_event_openssl_cache.o \ src/event/ngx_event_openssl_cache.c c++ -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I../boringssl/include -x c -Wno-deprecated-declarations -I src/core -I src/event -I src/event/modules -I src/event/quic -I src/os/unix -I objs \ -o objs/src/event/ngx_event_openssl_stapling.o \ src/event/ngx_event_openssl_stapling.c c++ -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I../boringssl/include -x c -Wno-deprecated-declarations -I src/core -I src/event -I src/event/modules -I src/event/quic -I src/os/unix -I objs \ -o objs/src/event/quic/ngx_event_quic.o \ src/event/quic/ngx_event_quic.c In file included from src/event/quic/ngx_event_quic_connection.h:29, from src/event/quic/ngx_event_quic.c:10: src/event/quic/ngx_event_quic_openssl_compat.h:23:6: error: redeclaration of ‘enum ssl_encryption_level_t’ 23 | enum ssl_encryption_level_t { | ^~~~~~~~~~~~~~~~~~~~~~ In file included from src/event/ngx_event_openssl.h:17, from src/core/ngx_core.h:86, from src/event/quic/ngx_event_quic.c:8: ../boringssl/include/openssl/ssl.h:3855:6: note: originally defined here 3855 | enum ssl_encryption_level_t BORINGSSL_ENUM_INT { | ^~~~~~~~~~~~~~~~~~~~~~ src/event/quic/ngx_event_quic_openssl_compat.h:24:5: error: redeclaration of enumerator ‘ssl_encryption_initial’ 24 | ssl_encryption_initial = 0, | ^~~~~~~~~~~~~~~~~~~~~~ ../boringssl/include/openssl/ssl.h:3856:3: note: previous definition of ‘ssl_encryption_initial’ with type ‘enum ssl_encryption_level_t’ 3856 | ssl_encryption_initial = 0, | ^~~~~~~~~~~~~~~~~~~~~~ src/event/quic/ngx_event_quic_openssl_compat.h:25:5: error: redeclaration of enumerator ‘ssl_encryption_early_data’ 25 | ssl_encryption_early_data, | ^~~~~~~~~~~~~~~~~~~~~~~~~ ../boringssl/include/openssl/ssl.h:3857:3: note: previous definition of ‘ssl_encryption_early_data’ with type ‘enum ssl_encryption_level_t’ 3857 | ssl_encryption_early_data = 1, | ^~~~~~~~~~~~~~~~~~~~~~~~~ src/event/quic/ngx_event_quic_openssl_compat.h:26:5: error: redeclaration of enumerator ‘ssl_encryption_handshake’ 26 | ssl_encryption_handshake, | ^~~~~~~~~~~~~~~~~~~~~~~~ ../boringssl/include/openssl/ssl.h:3858:3: note: previous definition of ‘ssl_encryption_handshake’ with type ‘enum ssl_encryption_level_t’ 3858 | ssl_encryption_handshake = 2, | ^~~~~~~~~~~~~~~~~~~~~~~~ src/event/quic/ngx_event_quic_openssl_compat.h:27:5: error: redeclaration of enumerator ‘ssl_encryption_application’ 27 | ssl_encryption_application | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ../boringssl/include/openssl/ssl.h:3859:3: note: previous definition of ‘ssl_encryption_application’ with type ‘enum ssl_encryption_level_t’ 3859 | ssl_encryption_application = 3, | ^~~~~~~~~~~~~~~~~~~~~~~~~~ src/event/quic/ngx_event_quic_openssl_compat.h:31:16: error: redefinition of ‘struct ssl_quic_method_st’ 31 | typedef struct ssl_quic_method_st { | ^~~~~~~~~~~~~~~~~~ ../boringssl/include/openssl/ssl.h:3863:8: note: originally defined here 3863 | struct ssl_quic_method_st { | ^~~~~~~~~~~~~~~~~~ src/event/quic/ngx_event_quic_openssl_compat.h:43:3: error: conflicting types for ‘SSL_QUIC_METHOD’; have ‘struct ssl_quic_method_st’ 43 | } SSL_QUIC_METHOD; | ^~~~~~~~~~~~~~~ In file included from ../boringssl/include/openssl/ssl.h:20: ../boringssl/include/openssl/base.h:351:35: note: previous declaration of ‘SSL_QUIC_METHOD’ with type ‘SSL_QUIC_METHOD’ {aka ‘struct ssl_quic_method_st’} 351 | typedef struct ssl_quic_method_st SSL_QUIC_METHOD; | ^~~~~~~~~~~~~~~ src/event/quic/ngx_event_quic_openssl_compat.h:48:5: error: conflicting types for ‘SSL_set_quic_method’; have ‘int(SSL *, const SSL_QUIC_METHOD *)’ {aka ‘int(struct ssl_st *, const struct ssl_quic_method_st *)’} 48 | int SSL_set_quic_method(SSL *ssl, const SSL_QUIC_METHOD *quic_method); | ^~~~~~~~~~~~~~~~~~~ ../boringssl/include/openssl/ssl.h:3977:20: note: previous declaration of ‘SSL_set_quic_method’ with type ‘int(SSL *, const SSL_QUIC_METHOD *)’ {aka ‘int(struct ssl_st *, const struct ssl_quic_method_st *)’} 3977 | OPENSSL_EXPORT int SSL_set_quic_method(SSL *ssl, | ^~~~~~~~~~~~~~~~~~~ make[1]: *** [objs/Makefile:1050: objs/src/event/quic/ngx_event_quic.o] Error 1 make[1]: Leaving directory '/root/nginx' make: *** [Makefile:10: build] Error 2 root at vultr ~/nginx # -------------- next part -------------- An HTML attachment was scrubbed... URL: From osa at freebsd.org.ru Wed May 14 09:24:30 2025 From: osa at freebsd.org.ru (Sergey A. Osokin) Date: Wed, 14 May 2025 12:24:30 +0300 Subject: Compiling Nginx with BoringSSL results in an error In-Reply-To: <41B7C294-8DA0-4307-8848-E8B269C9F1E0@gmail.com> References: <41B7C294-8DA0-4307-8848-E8B269C9F1E0@gmail.com> Message-ID: Hi there, hope you're doing well. Thanks for the report! On Wed, May 14, 2025 at 10:34:05AM +0800, 杨金泽 wrote: > It seems that BoringSSL has updated some of its interfaces, causing the > following issues during the compilation of Nginx. Is there currently any > solution to resolve this problem? Or are there other libraries that can > perfectly replace BoringSSL? The commands and error messages are as > follows: I've just tried to build nginx on FreeBSD 14.2-RELEASE-p3 with a recent snapshot of boringssl, and that it just works, here's the proof link. https://people.freebsd.org/~osa/nginx-devel-1.28.0_2.log It's unclear from your email: - what is the nginx version you were trying to build; - what is the boringssl version/tag; Also, please follow the netiquette rules for mailing lists, https://www.openbsd.org/mail.html, and keep your emails in plain text with 72 characters per line. Thank you. -- Sergey A. Osokin From osa at freebsd.org.ru Wed May 14 09:31:35 2025 From: osa at freebsd.org.ru (Sergey A. Osokin) Date: Wed, 14 May 2025 12:31:35 +0300 Subject: Issue with SSE and fcgiwrap in nginx (RESTCONF) In-Reply-To: References: Message-ID: Hi Rostyslav, hope you're doing well. Thanks for the report! On Tue, May 13, 2025 at 04:39:20PM -0700, Rostyslav Zalevskyy wrote: > Hello NGINX team, > > I'm working on a RESTCONF server that streams data via SSE. > > When using Apache2 with mod_fcgid, everything works fine: > multiple clients can connect to /restconf/streams, and each gets a stream. > > However, when switching to nginx + fcgiwrap, only the first connection > works. > All other connections hang or cause nginx to become unresponsive until the > first SSE stream is closed. [...] Is there a chance to build nginx with a debugging log as described on the following page, https://nginx.org/en/docs/debugging_log.html and tracing fcgi requests. Please expect a lot of messages in the nginx error.log file. Thank you. -- Sergey A. Osokin From yjz at r2wind.org Wed May 14 09:45:42 2025 From: yjz at r2wind.org (JINZE YANG) Date: Wed, 14 May 2025 17:45:42 +0800 Subject: Compiling Nginx with BoringSSL results in an error In-Reply-To: References: <41B7C294-8DA0-4307-8848-E8B269C9F1E0@gmail.com> Message-ID: <5D6EE15F-01AB-4A99-82FE-101BE5906434@r2wind.org> Hello, Today, I pulled the latest branch from GitHub. Below are the corresponding commits: boringssl: 89973806bc2ef652189e157f2736a7d32229c404 nginx: f3542500b6d74e3e88fc84b88144afe67882d1fa Someone mentioned that this might be related to the GCC version. It seems GCC 13 does not have issues, but I have not yet had the chance to verify this. Best regards, JINZE YANG > 2025年5月14日 17:24,Sergey A. Osokin 写道: > > Hi there, > hope you're doing well. > > Thanks for the report! > > On Wed, May 14, 2025 at 10:34:05AM +0800, 杨金泽 wrote: >> It seems that BoringSSL has updated some of its interfaces, causing the >> following issues during the compilation of Nginx. Is there currently any >> solution to resolve this problem? Or are there other libraries that can >> perfectly replace BoringSSL? The commands and error messages are as >> follows: > > I've just tried to build nginx on FreeBSD 14.2-RELEASE-p3 with a recent > snapshot of boringssl, and that it just works, here's the proof link. > https://people.freebsd.org/~osa/nginx-devel-1.28.0_2.log > > It's unclear from your email: > - what is the nginx version you were trying to build; > - what is the boringssl version/tag; > > Also, please follow the netiquette rules for mailing lists, > https://www.openbsd.org/mail.html, and keep your emails in plain text > with 72 characters per line. > > Thank you. > > -- > Sergey A. Osokin > _______________________________________________ > nginx mailing list > nginx at nginx.org > https://mailman.nginx.org/mailman/listinfo/nginx -------------- next part -------------- An HTML attachment was scrubbed... URL: From yjz at r2wind.org Wed May 14 09:51:34 2025 From: yjz at r2wind.org (JINZE YANG) Date: Wed, 14 May 2025 17:51:34 +0800 Subject: Compiling Nginx with BoringSSL results in an error In-Reply-To: <5D6EE15F-01AB-4A99-82FE-101BE5906434@r2wind.org> References: <41B7C294-8DA0-4307-8848-E8B269C9F1E0@gmail.com> <5D6EE15F-01AB-4A99-82FE-101BE5906434@r2wind.org> Message-ID: <1171302B-7736-47F3-AB91-4AC81CAD9D5E@r2wind.org> Sorry, I used the wrong email format. I will be more careful next time. By the way, another person successfully compiled using GCC version 13 on Alpine. ------- Best regards, JINZE YANG > 2025年5月14日 17:45,JINZE YANG 写道: > > Hello, > Today, I pulled the latest branch from GitHub. Below > are the corresponding commits: > boringssl: 89973806bc2ef652189e157f2736a7d32229c404 > nginx: f3542500b6d74e3e88fc84b88144afe67882d1fa > Someone mentioned that this might be related to the GCC version. It > seems GCC 13 does not have issues, but I have not yet had the chance > to verify this. > Best regards, > JINZE YANG > >> 2025年5月14日 17:24,Sergey A. Osokin 写道: >> >> Hi there, >> hope you're doing well. >> >> Thanks for the report! >> >> On Wed, May 14, 2025 at 10:34:05AM +0800, 杨金泽 wrote: >>> It seems that BoringSSL has updated some of its interfaces, causing the >>> following issues during the compilation of Nginx. Is there currently any >>> solution to resolve this problem? Or are there other libraries that can >>> perfectly replace BoringSSL? The commands and error messages are as >>> follows: >> >> I've just tried to build nginx on FreeBSD 14.2-RELEASE-p3 with a recent >> snapshot of boringssl, and that it just works, here's the proof link. >> https://people.freebsd.org/~osa/nginx-devel-1.28.0_2.log >> >> It's unclear from your email: >> - what is the nginx version you were trying to build; >> - what is the boringssl version/tag; >> >> Also, please follow the netiquette rules for mailing lists, >> https://www.openbsd.org/mail.html, and keep your emails in plain text >> with 72 characters per line. >> >> Thank you. >> >> -- >> Sergey A. Osokin >> _______________________________________________ >> nginx mailing list >> nginx at nginx.org >> https://mailman.nginx.org/mailman/listinfo/nginx > -------------- next part -------------- An HTML attachment was scrubbed... URL: From osa at freebsd.org.ru Wed May 14 11:31:25 2025 From: osa at freebsd.org.ru (Sergey A. Osokin) Date: Wed, 14 May 2025 14:31:25 +0300 Subject: Compiling Nginx with BoringSSL results in an error In-Reply-To: <5D6EE15F-01AB-4A99-82FE-101BE5906434@r2wind.org> References: <41B7C294-8DA0-4307-8848-E8B269C9F1E0@gmail.com> <5D6EE15F-01AB-4A99-82FE-101BE5906434@r2wind.org> Message-ID: On Wed, May 14, 2025 at 05:45:42PM +0800, JINZE YANG via nginx wrote: > Hello, > Today, I pulled the latest branch from GitHub. Below > are the corresponding commits: > boringssl: 89973806bc2ef652189e157f2736a7d32229c404 > nginx: f3542500b6d74e3e88fc84b88144afe67882d1fa > Someone mentioned that this might be related to the GCC version. It > seems GCC 13 does not have issues, but I have not yet had the chance > to verify this. > Best regards, > JINZE YANG I want to let you know, that I've just successfully built: - version 1.28.0 - boringssl with google-boringssl-0.0.0.0.2025.05.13.01-8997380_GH0.tar.gz (recent version on GH, https://github.com/google/boringssl/commits/main/) - Alpine Linux v3.21 - gcc version 14.2.0 (Alpine 14.2.0) Here's the proof: % LD_LIBRARY_PATH=../boringssl/build objs/nginx -V nginx version: nginx/1.28.0 built by gcc 14.2.0 (Alpine 14.2.0) built with OpenSSL 1.1.1 (compatible; BoringSSL) (running with BoringSSL) TLS SNI support enabled configure arguments: --with-debug --with-http_v3_module --with-cc-opt=-I../boringssl/include --with-ld-opt='-L../boringssl/build -lstdc++' Please follow these instructions, https://nginx.org/en/docs/quic.html. Note that boringssl needs to be built with shared libraries. Thank you. -- Sergey A. Osokin From rostyslav.z at yumaworks.com Wed May 14 23:59:20 2025 From: rostyslav.z at yumaworks.com (Rostyslav Zalevskyy) Date: Wed, 14 May 2025 16:59:20 -0700 Subject: Issue with SSE and fcgiwrap in nginx (RESTCONF) In-Reply-To: References: Message-ID: Hi Sergey, Thank you for the prompt reply! On Wed, May 14, 2025 at 2:31 AM Sergey A. Osokin wrote: > > [...] > > Is there a chance to build nginx with a debugging log as described on > the following page, https://nginx.org/en/docs/debugging_log.html > and tracing fcgi requests. Please expect a lot of messages in > the nginx error.log file. > I'm sharing the requested logs as attachments: - restconf_nginx_error.log - restconf_nginx_access.log - terminal.log - restconf-test.sh (a test script for reproducing the issue) I would also like to share the steps to reproduce the issue: Steps to reproduce: 1. I created a simple script with an infinite loop, see attached *restconf-test.sh* 2. in the previously attached *NGINX-restconf* conf file , update *line 33* to specify the full path to the restconf-test.sh fastcgi_param SCRIPT_FILENAME /YOUR_REAL_PATH_TO/restconf-test.sh; 3. Restart nginx and run this in the first terminal: *curl -v http://localhost/restconf/streams * 4. Then run the same command in a second terminal: *curl -v http://localhost/restconf/streams * At this point, the second connection hangs until the first one is closed. Let me know if you need anything else to help with debugging. Thank you, -Rostyslav -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: restconf_nginx_access.log Type: text/x-log Size: 200 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: restconf_nginx_error.log Type: text/x-log Size: 30356 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: terminal.log Type: text/x-log Size: 2697 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: restconf-test.sh Type: application/x-shellscript Size: 146 bytes Desc: not available URL: From yjz at r2wind.org Thu May 15 02:40:54 2025 From: yjz at r2wind.org (JINZE YANG) Date: Thu, 15 May 2025 10:40:54 +0800 Subject: Compiling Nginx with BoringSSL results in an error In-Reply-To: References: <41B7C294-8DA0-4307-8848-E8B269C9F1E0@gmail.com> <5D6EE15F-01AB-4A99-82FE-101BE5906434@r2wind.org> Message-ID: <22567820-1751-4DFF-82D3-14034D074A79@r2wind.org> Hello, After testing, when compiling BoringSSL, on the test machine with GCC 12, you need to execute the command `sed -i 's/-Werror/-Werror -Wno-array-bounds/' CMakeLists.txt` for it to compile successfully. However, no issues were encountered during compilation with GCC 13. ------ Best regards, JINZE YANG > 2025年5月14日 19:31,Sergey A. Osokin 写道: > > On Wed, May 14, 2025 at 05:45:42PM +0800, JINZE YANG via nginx wrote: >> Hello, >> Today, I pulled the latest branch from GitHub. Below >> are the corresponding commits: >> boringssl: 89973806bc2ef652189e157f2736a7d32229c404 >> nginx: f3542500b6d74e3e88fc84b88144afe67882d1fa >> Someone mentioned that this might be related to the GCC version. It >> seems GCC 13 does not have issues, but I have not yet had the chance >> to verify this. >> Best regards, >> JINZE YANG > > I want to let you know, that I've just successfully built: > - version 1.28.0 > - boringssl with google-boringssl-0.0.0.0.2025.05.13.01-8997380_GH0.tar.gz > (recent version on GH, https://github.com/google/boringssl/commits/main/) > - Alpine Linux v3.21 > - gcc version 14.2.0 (Alpine 14.2.0) > > Here's the proof: > % LD_LIBRARY_PATH=../boringssl/build objs/nginx -V > nginx version: nginx/1.28.0 > built by gcc 14.2.0 (Alpine 14.2.0) > built with OpenSSL 1.1.1 (compatible; BoringSSL) (running with BoringSSL) > TLS SNI support enabled > configure arguments: --with-debug --with-http_v3_module --with-cc-opt=-I../boringssl/include --with-ld-opt='-L../boringssl/build -lstdc++' > > Please follow these instructions, https://nginx.org/en/docs/quic.html. > Note that boringssl needs to be built with shared libraries. > > Thank you. > > -- > Sergey A. Osokin From yjz at r2wind.org Thu May 15 02:40:54 2025 From: yjz at r2wind.org (JINZE YANG) Date: Thu, 15 May 2025 10:40:54 +0800 Subject: Compiling Nginx with BoringSSL results in an error In-Reply-To: References: <41B7C294-8DA0-4307-8848-E8B269C9F1E0@gmail.com> <5D6EE15F-01AB-4A99-82FE-101BE5906434@r2wind.org> Message-ID: <22567820-1751-4DFF-82D3-14034D074A79@r2wind.org> Hello, After testing, when compiling BoringSSL, on the test machine with GCC 12, you need to execute the command `sed -i 's/-Werror/-Werror -Wno-array-bounds/' CMakeLists.txt` for it to compile successfully. However, no issues were encountered during compilation with GCC 13. ------ Best regards, JINZE YANG > 2025年5月14日 19:31,Sergey A. Osokin 写道: > > On Wed, May 14, 2025 at 05:45:42PM +0800, JINZE YANG via nginx wrote: >> Hello, >> Today, I pulled the latest branch from GitHub. Below >> are the corresponding commits: >> boringssl: 89973806bc2ef652189e157f2736a7d32229c404 >> nginx: f3542500b6d74e3e88fc84b88144afe67882d1fa >> Someone mentioned that this might be related to the GCC version. It >> seems GCC 13 does not have issues, but I have not yet had the chance >> to verify this. >> Best regards, >> JINZE YANG > > I want to let you know, that I've just successfully built: > - version 1.28.0 > - boringssl with google-boringssl-0.0.0.0.2025.05.13.01-8997380_GH0.tar.gz > (recent version on GH, https://github.com/google/boringssl/commits/main/) > - Alpine Linux v3.21 > - gcc version 14.2.0 (Alpine 14.2.0) > > Here's the proof: > % LD_LIBRARY_PATH=../boringssl/build objs/nginx -V > nginx version: nginx/1.28.0 > built by gcc 14.2.0 (Alpine 14.2.0) > built with OpenSSL 1.1.1 (compatible; BoringSSL) (running with BoringSSL) > TLS SNI support enabled > configure arguments: --with-debug --with-http_v3_module --with-cc-opt=-I../boringssl/include --with-ld-opt='-L../boringssl/build -lstdc++' > > Please follow these instructions, https://nginx.org/en/docs/quic.html. > Note that boringssl needs to be built with shared libraries. > > Thank you. > > -- > Sergey A. Osokin From osa at freebsd.org.ru Thu May 15 10:07:50 2025 From: osa at freebsd.org.ru (Sergey A. Osokin) Date: Thu, 15 May 2025 13:07:50 +0300 Subject: Issue with SSE and fcgiwrap in nginx (RESTCONF) In-Reply-To: References: Message-ID: Hi Rostyslav, On Wed, May 14, 2025 at 04:59:20PM -0700, Rostyslav Zalevskyy wrote: > On Wed, May 14, 2025 at 2:31 AM Sergey A. Osokin wrote: > > > [...] > > > > Is there a chance to build nginx with a debugging log as described on > > the following page, https://nginx.org/en/docs/debugging_log.html > > and tracing fcgi requests. Please expect a lot of messages in > > the nginx error.log file. > > I'm sharing the requested logs as attachments: > - restconf_nginx_error.log > - restconf_nginx_access.log > - terminal.log > - restconf-test.sh (a test script for reproducing the issue) [...] Is there any interesting records in log files on the restconf server side? Also, I've found there's the nginx, version 1.18.0, there. Would you mind to reproduce the issue with more recent stable version 1.28.0? Please visit the following URI to get details, https://nginx.org/en/linux_packages.html#Ubuntu Thank you. -- Sergey A. Osokin From rostyslav.z at yumaworks.com Thu May 15 23:24:36 2025 From: rostyslav.z at yumaworks.com (Rostyslav Zalevskyy) Date: Thu, 15 May 2025 16:24:36 -0700 Subject: Issue with SSE and fcgiwrap in nginx (RESTCONF) In-Reply-To: References: Message-ID: Hi Sergey On Thu, May 15, 2025 at 3:08 AM Sergey A. Osokin wrote: > > Also, I've found there's the nginx, version 1.18.0, there. > Would you mind to reproduce the issue with more recent stable version > 1.28.0? > Please visit the following URI to get details, > https://nginx.org/en/linux_packages.html#Ubuntu > > I have upgraded to nginx v1.28.0 and reproduced the issue using nginx-debug; the behavior remains the same. *Attached logs:* *server.log.txt* - server side, showing that nginx does not execute the original restconf script for the second connection while the first one is still active; *restconf_nginx_access.log* & *restconf_nginx_error.log* - logs from the original restconf script; *restconf_nginx_access2.log* & *restconf_nginx_error2.log* - logs from the reproduction with the simple restconf-test.sh script (as previously described in steps to reproduce); *terminal2.log* - output from the restconf-test.sh reproduction. In both cases, nginx does not execute restconf-test.sh for the second connection while the first is still active. Thank you, Rostyslav -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- netconfd-pro init OK, ready for sessions Running netconfd-pro server rostyslav-2025-05-15.09.47-THD-13fcf (24.8.0-T) Binding to AF_LOCAL socket /var/run/netconfd-pro/ncxserver.sock CX thread: Listening for NCX connect requests on socket 7 Enter agt_ses_new_session for transport 'netconf-ssh', fd 9 ses_msg: new out buff 0x7b20e4003230 for s 3 New session 3 created OK RX thread created for session 3 ses_accept_input on session 3 ses read OK (438) on session 3 ses: accept buffer ssh/1.0 (438) ses_msg: allocate msg 0x7b20dc000b70 ses_msg: new in buff 0x7b20dc000bd0 for s 3 agt_ses msg ready for session 3 agt_top: got node agt_top: start dispatch yuma-ncx:ncx-connect agt_connect: got node for session 3 agt_connect: got valid version attr agt_connect: got valid magic attr agt_connect: transport='netconf-http' agt_connect: protocol='restconf' agt: skip allowed-user check for 'restconf'; not configured agt_connect: no message-id provided in ncx-connect agt_connect: msg ok agt_sys: skipping notification for RESTCONF session agt_audit: skip record for client session agt_cb: Enter run_session_hook Skipping pthread read lock for events GET agt_restcmn: Request Launch Point is 'events' agt_restcmn: begin validate method agt_restcmn: end validate method agt_restcmn: begin validate Accept header agt_restcmn: end validate Event Stream Accept header agt_restcmn: GET /restconf/streams for 3=restconf at 127.0.0.1 [2025-05-15T22:10:37Z] agt_restconf: Got method GET on request_uri '/restconf/streams' agt_restconf: Got request_target_obj 'yumaworks-restconf:streams' agt_restconf: 'Accept' header set to 'text/event-stream' agt_not: Started live subscription 1 on stream 'NETCONF' for session '3' ses: set SSE encoding mode for session 3 ses_msg: send 1.0 buff:119 for s:3 trace_buff: Content-Type: text/event-stream Status: 200 OK Cache-Control: no-cache Pragma: no-cache Connection: keep-alive agt_top: end dispatch yuma-ncx:ncx-connect ses_msg: free msg 0x7b20dc000b70 for session 3 ## NO INCOMMING from the second terminal(stream) -------------- next part -------------- A non-text attachment was scrubbed... Name: restconf_nginx_access.log Type: text/x-log Size: 202 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: restconf_nginx_error2.log Type: text/x-log Size: 342861 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: restconf_nginx_access2.log Type: text/x-log Size: 307 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: restconf_nginx_error.log Type: text/x-log Size: 35022 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: terminal2.log Type: text/x-log Size: 6226 bytes Desc: not available URL: From osa at freebsd.org.ru Sun May 18 23:58:51 2025 From: osa at freebsd.org.ru (Sergey A. Osokin) Date: Mon, 19 May 2025 02:58:51 +0300 Subject: Issue with SSE and fcgiwrap in nginx (RESTCONF) In-Reply-To: References: Message-ID: Hi Rostyslav, thanks for the update. On Thu, May 15, 2025 at 04:24:36PM -0700, Rostyslav Zalevskyy wrote: > On Thu, May 15, 2025 at 3:08 AM Sergey A. Osokin wrote: > > > Also, I've found there's the nginx, version 1.18.0, there. > > Would you mind to reproduce the issue with more recent stable version > > 1.28.0? > > Please visit the following URI to get details, > > https://nginx.org/en/linux_packages.html#Ubuntu > > > I have upgraded to nginx v1.28.0 and reproduced the issue using nginx-debug; > the behavior remains the same. Could you please: - share the `/etc/nginx/nginx.conf' configuration file; - describe how do you run `fcgiwrap', please provide as much as much details as you can; do not forget to share its configuration file as well. Also, are you using `spawn-fcgi'? If so, please provide arguments to launch the `fcgiwrap'. Thank you. -- Sergey A. Osokin From rostyslav.z at yumaworks.com Mon May 19 17:55:03 2025 From: rostyslav.z at yumaworks.com (Rostyslav Zalevskyy) Date: Mon, 19 May 2025 10:55:03 -0700 Subject: Issue with SSE and fcgiwrap in nginx (RESTCONF) In-Reply-To: References: Message-ID: Hi Sergey, Could you please: > > - share the `/etc/nginx/nginx.conf' configuration file; > - describe how do you run `fcgiwrap', please provide as much > as much details as you can; do not forget to share its > configuration file as well. > > Also, are you using `spawn-fcgi'? If so, please provide arguments > to launch the `fcgiwrap'. > Here are the attached files I could find: - /etc/nginx/nginx.conf - /etc/init.d/fcgiwrap - /lib/systemd/system/fcgiwrap.service Actually, all of these files are using the default config; I have not made any manual changes. I only followed the docs here: https://docs.yumaworks.com/en/latest/install/restconf.html#nginx-support so I don't have any custom config. Regarding spawn-fcgi, I cannot find its files. Not sure where there are. I just installed it as the docs mentioned: sudo apt-get install nginx fcgiwrap nginx-doc spawn-fcgi Here is the output from systemctl and the package versions: rostyslav at Rostyslav-i9-dev:~$ sudo apt-get install nginx fcgiwrap nginx-doc spawn-fcgi [sudo] password for rostyslav: Reading package lists... Done Building dependency tree... Done Reading state information... Done fcgiwrap is already the newest version (1.1.0-12). spawn-fcgi is already the newest version (1.6.4-2). nginx-doc is already the newest version (1.18.0-6ubuntu14.6). nginx is already the newest version (1.28.0-1~jammy). 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. rostyslav at Rostyslav-i9-dev:~$ systemctl status sp speech-dispatcherd.service speech-dispatcher.service spice-vdagentd.service spice-vdagentd.socket spice-vdagent.service rostyslav at Rostyslav-i9-dev:~$ systemctl status fcgiwrap ● fcgiwrap.service - Simple CGI Server Loaded: loaded (/lib/systemd/system/fcgiwrap.service; indirect; vendor preset: enabled) Active: active (running) since Thu 2025-05-15 13:39:17 PDT; 3 days ago TriggeredBy: ● fcgiwrap.socket Main PID: 3843322 (fcgiwrap) Tasks: 3 (limit: 76880) Memory: 1.0M CPU: 1.535s CGroup: /system.slice/fcgiwrap.service ├─ 108130 /bin/bash /var/www/yang-api/restconf-test.sh ├─ 108479 sleep 2 └─3843322 /usr/sbin/fcgiwrap -f May 15 13:39:17 Rostyslav-i9-dev systemd[1]: Started Simple CGI Server. rostyslav at Rostyslav-i9-dev:~$ systemctl status spawn-fcgi Unit spawn-fcgi.service could not be found. rostyslav at Rostyslav-i9-dev:~$ Thank you, Rostyslav -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: fcgiwrap.service Type: text/x-dbus-service Size: 273 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: fcgiwrap Type: application/octet-stream Size: 7231 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: nginx.conf Type: application/octet-stream Size: 644 bytes Desc: not available URL: