From nmilas at noa.gr Tue Sep 3 14:43:04 2024 From: nmilas at noa.gr (Nikolaos Milas) Date: Tue, 3 Sep 2024 17:43:04 +0300 Subject: Compilation of brotli for nginx fails since version 1.27.0 on Rocky Linux 8 Message-ID: Hello, I have been regularly upgrading nginx with brotli for a long time without issues, compiling brotli from source with the process you can see below. Now, since version 1.27.0, brotli compilation fails with the error: /usr/bin/ld: cannot find -lbrotlienc /usr/bin/ld: cannot find -lbrotlicommon Can anyone suggest a solution? Here is the whole output from my last effort: [root at vdev1 ~]# dnf --enablerepo=nginx-stable,nginx-mainline update nginx stable repo 9.6 kB/s | 2.9 kB 00:00 nginx stable repo 100 kB/s | 69 kB 00:00 nginx mainline repo 29 kB/s | 2.9 kB 00:00 nginx mainline repo 203 kB/s | 151 kB 00:00 Dependencies resolved. =========================================================================================================================================================================================== Package Architecture Version Repository Size =========================================================================================================================================================================================== Upgrading: nginx x86_64 1:1.27.1-1.el8.ngx nginx-mainline 963 k nginx-debuginfo x86_64 1:1.27.1-1.el8.ngx nginx-mainline 2.7 M Transaction Summary =========================================================================================================================================================================================== Upgrade 2 Packages Total download size: 3.6 M Is this ok [y/N]: y Downloading Packages: (1/2): nginx-1.27.1-1.el8.ngx.x86_64.rpm 1.2 MB/s | 963 kB 00:00 (2/2): nginx-debuginfo-1.27.1-1.el8.ngx.x86_64.rpm 2.3 MB/s | 2.7 MB 00:01 ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Total 3.1 MB/s | 3.6 MB 00:01 Running transaction check Transaction check succeeded. Running transaction test Transaction test succeeded. Running transaction Preparing : 1/1 Running scriptlet: nginx-debuginfo-1:1.27.1-1.el8.ngx.x86_64 1/1 Upgrading : nginx-debuginfo-1:1.27.1-1.el8.ngx.x86_64 1/4 Running scriptlet: nginx-1:1.27.1-1.el8.ngx.x86_64 2/4 Upgrading : nginx-1:1.27.1-1.el8.ngx.x86_64 2/4 Running scriptlet: nginx-1:1.27.1-1.el8.ngx.x86_64 2/4 Cleanup : nginx-debuginfo-1:1.27.0-2.el8.ngx.x86_64 3/4 Running scriptlet: nginx-1:1.27.0-2.el8.ngx.x86_64 4/4 Cleanup : nginx-1:1.27.0-2.el8.ngx.x86_64 4/4 Running scriptlet: nginx-1:1.27.0-2.el8.ngx.x86_64 4/4 Verifying : nginx-1:1.27.1-1.el8.ngx.x86_64 1/4 Verifying : nginx-1:1.27.0-2.el8.ngx.x86_64 2/4 Verifying : nginx-debuginfo-1:1.27.1-1.el8.ngx.x86_64 3/4 Verifying : nginx-debuginfo-1:1.27.0-2.el8.ngx.x86_64 4/4 Upgraded: nginx-1:1.27.1-1.el8.ngx.x86_64 nginx-debuginfo-1:1.27.1-1.el8.ngx.x86_64 Complete! [root at vdev1 ~]# [root at vdev1 ~]# [root at vdev1 ~]# [root at vdev1 ~]# su nginxbuild1 [nginxbuild1 at vdev1 root]$ cd [nginxbuild1 at vdev1 ~]$ [nginxbuild1 at vdev1 ~]$ git clone https://github.com/google/ngx_brotli.git Cloning into 'ngx_brotli'... remote: Enumerating objects: 237, done. remote: Counting objects: 100% (37/37), done. remote: Compressing objects: 100% (16/16), done. remote: Total 237 (delta 24), reused 21 (delta 21), pack-reused 200 (from 1) Receiving objects: 100% (237/237), 79.51 KiB | 822.00 KiB/s, done. Resolving deltas: 100% (114/114), done. [nginxbuild1 at vdev1 ~]$ [nginxbuild1 at vdev1 ~]$ [nginxbuild1 at vdev1 ~]$ cd ngx_brotli && git submodule update --init && cd ~ Submodule 'deps/brotli' (https://github.com/google/brotli.git) registered for path 'deps/brotli' Cloning into '/home/nginxbuild1/ngx_brotli/deps/brotli'... Submodule path 'deps/brotli': checked out 'ed738e842d2fbdf2d6459e39267a633c4a9b2f5d' [nginxbuild1 at vdev1 ~]$ wget https://nginx.org/download/nginx-1.27.1.tar.gz && tar zxvf nginx-1.27.1.tar.gz --2024-08-30 21:46:35-- https://nginx.org/download/nginx-1.27.1.tar.gz Resolving nginx.org (nginx.org)... 3.125.197.172, 52.58.199.22, 2a05:d014:5c0:2601::6, ... Connecting to nginx.org (nginx.org)|3.125.197.172|:443... connected. HTTP request sent, awaiting response... 200 OK Length: 1245244 (1.2M) [application/octet-stream] Saving to: ‘nginx-1.27.1.tar.gz’ nginx-1.27.1.tar.gz 100%[===================================================================================================>] 1.19M 5.12MB/s in 0.2s 2024-08-30 21:46:37 (5.12 MB/s) - ‘nginx-1.27.1.tar.gz’ saved [1245244/1245244] nginx-1.27.1/ nginx-1.27.1/man/ nginx-1.27.1/LICENSE nginx-1.27.1/configure nginx-1.27.1/auto/ nginx-1.27.1/CHANGES nginx-1.27.1/CHANGES.ru nginx-1.27.1/html/ nginx-1.27.1/contrib/ nginx-1.27.1/README nginx-1.27.1/conf/ nginx-1.27.1/src/ nginx-1.27.1/src/misc/ nginx-1.27.1/src/core/ nginx-1.27.1/src/mail/ nginx-1.27.1/src/stream/ nginx-1.27.1/src/http/ nginx-1.27.1/src/os/ nginx-1.27.1/src/event/ nginx-1.27.1/src/event/ngx_event_connectex.c nginx-1.27.1/src/event/ngx_event_accept.c nginx-1.27.1/src/event/ngx_event_posted.h nginx-1.27.1/src/event/ngx_event_acceptex.c nginx-1.27.1/src/event/ngx_event_udp.c nginx-1.27.1/src/event/ngx_event_openssl_stapling.c nginx-1.27.1/src/event/ngx_event_connect.c nginx-1.27.1/src/event/ngx_event.h nginx-1.27.1/src/event/ngx_event_timer.h nginx-1.27.1/src/event/ngx_event_openssl.c nginx-1.27.1/src/event/ngx_event_pipe.c nginx-1.27.1/src/event/ngx_event_posted.c nginx-1.27.1/src/event/ngx_event.c nginx-1.27.1/src/event/ngx_event_openssl.h nginx-1.27.1/src/event/ngx_event_timer.c nginx-1.27.1/src/event/ngx_event_connect.h nginx-1.27.1/src/event/ngx_event_udp.h nginx-1.27.1/src/event/modules/ nginx-1.27.1/src/event/quic/ nginx-1.27.1/src/event/ngx_event_pipe.h nginx-1.27.1/src/event/quic/ngx_event_quic_ssl.c nginx-1.27.1/src/event/quic/ngx_event_quic_connid.c nginx-1.27.1/src/event/quic/ngx_event_quic.c nginx-1.27.1/src/event/quic/ngx_event_quic_migration.h nginx-1.27.1/src/event/quic/ngx_event_quic_ack.h nginx-1.27.1/src/event/quic/ngx_event_quic_udp.c nginx-1.27.1/src/event/quic/ngx_event_quic_protection.c nginx-1.27.1/src/event/quic/ngx_event_quic_tokens.h nginx-1.27.1/src/event/quic/ngx_event_quic_socket.c nginx-1.27.1/src/event/quic/ngx_event_quic_openssl_compat.h nginx-1.27.1/src/event/quic/ngx_event_quic_output.h nginx-1.27.1/src/event/quic/ngx_event_quic_streams.h nginx-1.27.1/src/event/quic/ngx_event_quic_bpf_code.c nginx-1.27.1/src/event/quic/ngx_event_quic_transport.c nginx-1.27.1/src/event/quic/ngx_event_quic_frames.c nginx-1.27.1/src/event/quic/ngx_event_quic_connection.h nginx-1.27.1/src/event/quic/ngx_event_quic_migration.c nginx-1.27.1/src/event/quic/ngx_event_quic.h nginx-1.27.1/src/event/quic/ngx_event_quic_connid.h nginx-1.27.1/src/event/quic/ngx_event_quic_ssl.h nginx-1.27.1/src/event/quic/ngx_event_quic_protection.h nginx-1.27.1/src/event/quic/ngx_event_quic_ack.c nginx-1.27.1/src/event/quic/bpf/ nginx-1.27.1/src/event/quic/ngx_event_quic_frames.h nginx-1.27.1/src/event/quic/ngx_event_quic_transport.h nginx-1.27.1/src/event/quic/ngx_event_quic_openssl_compat.c nginx-1.27.1/src/event/quic/ngx_event_quic_socket.h nginx-1.27.1/src/event/quic/ngx_event_quic_bpf.c nginx-1.27.1/src/event/quic/ngx_event_quic_streams.c nginx-1.27.1/src/event/quic/ngx_event_quic_output.c nginx-1.27.1/src/event/quic/ngx_event_quic_tokens.c nginx-1.27.1/src/event/quic/bpf/makefile nginx-1.27.1/src/event/quic/bpf/ngx_quic_reuseport_helper.c nginx-1.27.1/src/event/quic/bpf/bpfgen.sh nginx-1.27.1/src/event/modules/ngx_epoll_module.c nginx-1.27.1/src/event/modules/ngx_iocp_module.h nginx-1.27.1/src/event/modules/ngx_win32_poll_module.c nginx-1.27.1/src/event/modules/ngx_kqueue_module.c nginx-1.27.1/src/event/modules/ngx_win32_select_module.c nginx-1.27.1/src/event/modules/ngx_iocp_module.c nginx-1.27.1/src/event/modules/ngx_select_module.c nginx-1.27.1/src/event/modules/ngx_eventport_module.c nginx-1.27.1/src/event/modules/ngx_devpoll_module.c nginx-1.27.1/src/event/modules/ngx_poll_module.c nginx-1.27.1/src/os/unix/ nginx-1.27.1/src/os/win32/ nginx-1.27.1/src/os/win32/nginx.ico nginx-1.27.1/src/os/win32/ngx_time.c nginx-1.27.1/src/os/win32/ngx_wsarecv_chain.c nginx-1.27.1/src/os/win32/ngx_alloc.c nginx-1.27.1/src/os/win32/ngx_win32_init.c nginx-1.27.1/src/os/win32/nginx_icon16.xpm nginx-1.27.1/src/os/win32/ngx_dlopen.h nginx-1.27.1/src/os/win32/ngx_files.c nginx-1.27.1/src/os/win32/ngx_event_log.c nginx-1.27.1/src/os/win32/ngx_socket.c nginx-1.27.1/src/os/win32/ngx_win32_config.h nginx-1.27.1/src/os/win32/ngx_user.h nginx-1.27.1/src/os/win32/ngx_errno.c nginx-1.27.1/src/os/win32/ngx_process_cycle.h nginx-1.27.1/src/os/win32/ngx_wsasend.c nginx-1.27.1/src/os/win32/ngx_process.h nginx-1.27.1/src/os/win32/ngx_shmem.c nginx-1.27.1/src/os/win32/ngx_thread.c nginx-1.27.1/src/os/win32/ngx_stat.c nginx-1.27.1/src/os/win32/ngx_service.c nginx-1.27.1/src/os/win32/nginx_icon48.xpm nginx-1.27.1/src/os/win32/ngx_os.h nginx-1.27.1/src/os/win32/ngx_wsasend_chain.c nginx-1.27.1/src/os/win32/nginx.rc nginx-1.27.1/src/os/win32/ngx_dlopen.c nginx-1.27.1/src/os/win32/ngx_alloc.h nginx-1.27.1/src/os/win32/ngx_time.h nginx-1.27.1/src/os/win32/ngx_udp_wsarecv.c nginx-1.27.1/src/os/win32/ngx_errno.h nginx-1.27.1/src/os/win32/ngx_atomic.h nginx-1.27.1/src/os/win32/ngx_user.c nginx-1.27.1/src/os/win32/ngx_socket.h nginx-1.27.1/src/os/win32/ngx_files.h nginx-1.27.1/src/os/win32/ngx_thread.h nginx-1.27.1/src/os/win32/ngx_shmem.h nginx-1.27.1/src/os/win32/ngx_process.c nginx-1.27.1/src/os/win32/ngx_process_cycle.c nginx-1.27.1/src/os/win32/ngx_wsarecv.c nginx-1.27.1/src/os/win32/nginx_icon32.xpm nginx-1.27.1/src/os/unix/ngx_udp_send.c nginx-1.27.1/src/os/unix/ngx_freebsd_sendfile_chain.c nginx-1.27.1/src/os/unix/ngx_time.c nginx-1.27.1/src/os/unix/ngx_recv.c nginx-1.27.1/src/os/unix/ngx_solaris_sendfilev_chain.c nginx-1.27.1/src/os/unix/ngx_writev_chain.c nginx-1.27.1/src/os/unix/ngx_alloc.c nginx-1.27.1/src/os/unix/ngx_darwin_init.c nginx-1.27.1/src/os/unix/ngx_dlopen.h nginx-1.27.1/src/os/unix/ngx_linux.h nginx-1.27.1/src/os/unix/ngx_files.c nginx-1.27.1/src/os/unix/ngx_socket.c nginx-1.27.1/src/os/unix/ngx_readv_chain.c nginx-1.27.1/src/os/unix/ngx_thread_id.c nginx-1.27.1/src/os/unix/ngx_darwin_config.h nginx-1.27.1/src/os/unix/ngx_sunpro_atomic_sparc64.h nginx-1.27.1/src/os/unix/ngx_gcc_atomic_sparc64.h nginx-1.27.1/src/os/unix/ngx_user.h nginx-1.27.1/src/os/unix/ngx_errno.c nginx-1.27.1/src/os/unix/ngx_process_cycle.h nginx-1.27.1/src/os/unix/ngx_process.h nginx-1.27.1/src/os/unix/ngx_shmem.c nginx-1.27.1/src/os/unix/ngx_sunpro_amd64.il nginx-1.27.1/src/os/unix/ngx_freebsd.h nginx-1.27.1/src/os/unix/ngx_gcc_atomic_ppc.h nginx-1.27.1/src/os/unix/ngx_darwin_sendfile_chain.c nginx-1.27.1/src/os/unix/ngx_sunpro_x86.il nginx-1.27.1/src/os/unix/ngx_os.h nginx-1.27.1/src/os/unix/ngx_sunpro_sparc64.il nginx-1.27.1/src/os/unix/ngx_linux_config.h nginx-1.27.1/src/os/unix/ngx_setaffinity.h nginx-1.27.1/src/os/unix/ngx_linux_init.c nginx-1.27.1/src/os/unix/ngx_setproctitle.c nginx-1.27.1/src/os/unix/ngx_file_aio_read.c nginx-1.27.1/src/os/unix/ngx_channel.c nginx-1.27.1/src/os/unix/ngx_solaris_config.h nginx-1.27.1/src/os/unix/ngx_dlopen.c nginx-1.27.1/src/os/unix/ngx_gcc_atomic_x86.h nginx-1.27.1/src/os/unix/ngx_alloc.h nginx-1.27.1/src/os/unix/ngx_posix_init.c nginx-1.27.1/src/os/unix/ngx_time.h nginx-1.27.1/src/os/unix/ngx_posix_config.h nginx-1.27.1/src/os/unix/ngx_solaris_init.c nginx-1.27.1/src/os/unix/ngx_darwin.h nginx-1.27.1/src/os/unix/ngx_errno.h nginx-1.27.1/src/os/unix/ngx_udp_recv.c nginx-1.27.1/src/os/unix/ngx_atomic.h nginx-1.27.1/src/os/unix/ngx_user.c nginx-1.27.1/src/os/unix/ngx_send.c nginx-1.27.1/src/os/unix/ngx_socket.h nginx-1.27.1/src/os/unix/ngx_linux_sendfile_chain.c nginx-1.27.1/src/os/unix/ngx_solaris.h nginx-1.27.1/src/os/unix/ngx_files.h nginx-1.27.1/src/os/unix/ngx_setaffinity.c nginx-1.27.1/src/os/unix/ngx_linux_aio_read.c nginx-1.27.1/src/os/unix/ngx_thread.h nginx-1.27.1/src/os/unix/ngx_freebsd_config.h nginx-1.27.1/src/os/unix/ngx_shmem.h nginx-1.27.1/src/os/unix/ngx_process.c nginx-1.27.1/src/os/unix/ngx_process_cycle.c nginx-1.27.1/src/os/unix/ngx_thread_cond.c nginx-1.27.1/src/os/unix/ngx_channel.h nginx-1.27.1/src/os/unix/ngx_thread_mutex.c nginx-1.27.1/src/os/unix/ngx_setproctitle.h nginx-1.27.1/src/os/unix/ngx_daemon.c nginx-1.27.1/src/os/unix/ngx_gcc_atomic_amd64.h nginx-1.27.1/src/os/unix/ngx_freebsd_init.c nginx-1.27.1/src/os/unix/ngx_udp_sendmsg_chain.c nginx-1.27.1/src/http/ngx_http_header_filter_module.c nginx-1.27.1/src/http/ngx_http_huff_decode.c nginx-1.27.1/src/http/ngx_http_core_module.h nginx-1.27.1/src/http/ngx_http_variables.h nginx-1.27.1/src/http/ngx_http_huff_encode.c nginx-1.27.1/src/http/ngx_http_special_response.c nginx-1.27.1/src/http/ngx_http.c nginx-1.27.1/src/http/ngx_http_write_filter_module.c nginx-1.27.1/src/http/ngx_http_upstream.h nginx-1.27.1/src/http/ngx_http_request_body.c nginx-1.27.1/src/http/ngx_http_postpone_filter_module.c nginx-1.27.1/src/http/ngx_http_script.c nginx-1.27.1/src/http/ngx_http_upstream_round_robin.c nginx-1.27.1/src/http/ngx_http_cache.h nginx-1.27.1/src/http/ngx_http_file_cache.c nginx-1.27.1/src/http/ngx_http_request.c nginx-1.27.1/src/http/v2/ nginx-1.27.1/src/http/ngx_http_variables.c nginx-1.27.1/src/http/ngx_http_core_module.c nginx-1.27.1/src/http/v3/ nginx-1.27.1/src/http/ngx_http_upstream.c nginx-1.27.1/src/http/ngx_http.h nginx-1.27.1/src/http/ngx_http_upstream_round_robin.h nginx-1.27.1/src/http/ngx_http_config.h nginx-1.27.1/src/http/ngx_http_script.h nginx-1.27.1/src/http/modules/ nginx-1.27.1/src/http/ngx_http_parse.c nginx-1.27.1/src/http/ngx_http_copy_filter_module.c nginx-1.27.1/src/http/ngx_http_request.h nginx-1.27.1/src/http/modules/ngx_http_scgi_module.c nginx-1.27.1/src/http/modules/ngx_http_dav_module.c nginx-1.27.1/src/http/modules/ngx_http_log_module.c nginx-1.27.1/src/http/modules/ngx_http_gzip_filter_module.c nginx-1.27.1/src/http/modules/ngx_http_range_filter_module.c nginx-1.27.1/src/http/modules/ngx_http_ssl_module.c nginx-1.27.1/src/http/modules/ngx_http_geo_module.c nginx-1.27.1/src/http/modules/ngx_http_grpc_module.c nginx-1.27.1/src/http/modules/ngx_http_image_filter_module.c nginx-1.27.1/src/http/modules/ngx_http_charset_filter_module.c nginx-1.27.1/src/http/modules/ngx_http_upstream_random_module.c nginx-1.27.1/src/http/modules/ngx_http_realip_module.c nginx-1.27.1/src/http/modules/ngx_http_upstream_hash_module.c nginx-1.27.1/src/http/modules/ngx_http_secure_link_module.c nginx-1.27.1/src/http/modules/ngx_http_autoindex_module.c nginx-1.27.1/src/http/modules/ngx_http_memcached_module.c nginx-1.27.1/src/http/modules/ngx_http_ssi_filter_module.c nginx-1.27.1/src/http/modules/ngx_http_flv_module.c nginx-1.27.1/src/http/modules/perl/ nginx-1.27.1/src/http/modules/ngx_http_xslt_filter_module.c nginx-1.27.1/src/http/modules/ngx_http_slice_filter_module.c nginx-1.27.1/src/http/modules/ngx_http_sub_filter_module.c nginx-1.27.1/src/http/modules/ngx_http_browser_module.c nginx-1.27.1/src/http/modules/ngx_http_not_modified_filter_module.c nginx-1.27.1/src/http/modules/ngx_http_try_files_module.c nginx-1.27.1/src/http/modules/ngx_http_index_module.c nginx-1.27.1/src/http/modules/ngx_http_auth_basic_module.c nginx-1.27.1/src/http/modules/ngx_http_rewrite_module.c nginx-1.27.1/src/http/modules/ngx_http_ssl_module.h nginx-1.27.1/src/http/modules/ngx_http_referer_module.c nginx-1.27.1/src/http/modules/ngx_http_empty_gif_module.c nginx-1.27.1/src/http/modules/ngx_http_mirror_module.c nginx-1.27.1/src/http/modules/ngx_http_access_module.c nginx-1.27.1/src/http/modules/ngx_http_upstream_ip_hash_module.c nginx-1.27.1/src/http/modules/ngx_http_mp4_module.c nginx-1.27.1/src/http/modules/ngx_http_limit_req_module.c nginx-1.27.1/src/http/modules/ngx_http_limit_conn_module.c nginx-1.27.1/src/http/modules/ngx_http_addition_filter_module.c nginx-1.27.1/src/http/modules/ngx_http_split_clients_module.c nginx-1.27.1/src/http/modules/ngx_http_auth_request_module.c nginx-1.27.1/src/http/modules/ngx_http_degradation_module.c nginx-1.27.1/src/http/modules/ngx_http_fastcgi_module.c nginx-1.27.1/src/http/modules/ngx_http_gzip_static_module.c nginx-1.27.1/src/http/modules/ngx_http_upstream_zone_module.c nginx-1.27.1/src/http/modules/ngx_http_geoip_module.c nginx-1.27.1/src/http/modules/ngx_http_ssi_filter_module.h nginx-1.27.1/src/http/modules/ngx_http_random_index_module.c nginx-1.27.1/src/http/modules/ngx_http_userid_filter_module.c nginx-1.27.1/src/http/modules/ngx_http_headers_filter_module.c nginx-1.27.1/src/http/modules/ngx_http_uwsgi_module.c nginx-1.27.1/src/http/modules/ngx_http_map_module.c nginx-1.27.1/src/http/modules/ngx_http_gunzip_filter_module.c nginx-1.27.1/src/http/modules/ngx_http_proxy_module.c nginx-1.27.1/src/http/modules/ngx_http_upstream_least_conn_module.c nginx-1.27.1/src/http/modules/ngx_http_upstream_keepalive_module.c nginx-1.27.1/src/http/modules/ngx_http_static_module.c nginx-1.27.1/src/http/modules/ngx_http_chunked_filter_module.c nginx-1.27.1/src/http/modules/ngx_http_stub_status_module.c nginx-1.27.1/src/http/modules/perl/ngx_http_perl_module.c nginx-1.27.1/src/http/modules/perl/nginx.pm nginx-1.27.1/src/http/modules/perl/typemap nginx-1.27.1/src/http/modules/perl/Makefile.PL nginx-1.27.1/src/http/modules/perl/ngx_http_perl_module.h nginx-1.27.1/src/http/modules/perl/nginx.xs nginx-1.27.1/src/http/v3/ngx_http_v3.c nginx-1.27.1/src/http/v3/ngx_http_v3_table.h nginx-1.27.1/src/http/v3/ngx_http_v3_uni.c nginx-1.27.1/src/http/v3/ngx_http_v3_encode.c nginx-1.27.1/src/http/v3/ngx_http_v3_module.c nginx-1.27.1/src/http/v3/ngx_http_v3_parse.c nginx-1.27.1/src/http/v3/ngx_http_v3_request.c nginx-1.27.1/src/http/v3/ngx_http_v3.h nginx-1.27.1/src/http/v3/ngx_http_v3_table.c nginx-1.27.1/src/http/v3/ngx_http_v3_uni.h nginx-1.27.1/src/http/v3/ngx_http_v3_encode.h nginx-1.27.1/src/http/v3/ngx_http_v3_filter_module.c nginx-1.27.1/src/http/v3/ngx_http_v3_parse.h nginx-1.27.1/src/http/v2/ngx_http_v2.h nginx-1.27.1/src/http/v2/ngx_http_v2_encode.c nginx-1.27.1/src/http/v2/ngx_http_v2_module.c nginx-1.27.1/src/http/v2/ngx_http_v2_filter_module.c nginx-1.27.1/src/http/v2/ngx_http_v2_table.c nginx-1.27.1/src/http/v2/ngx_http_v2.c nginx-1.27.1/src/http/v2/ngx_http_v2_module.h nginx-1.27.1/src/stream/ngx_stream_limit_conn_module.c nginx-1.27.1/src/stream/ngx_stream_set_module.c nginx-1.27.1/src/stream/ngx_stream_access_module.c nginx-1.27.1/src/stream/ngx_stream_ssl_module.h nginx-1.27.1/src/stream/ngx_stream_upstream_random_module.c nginx-1.27.1/src/stream/ngx_stream_upstream_round_robin.h nginx-1.27.1/src/stream/ngx_stream_split_clients_module.c nginx-1.27.1/src/stream/ngx_stream_handler.c nginx-1.27.1/src/stream/ngx_stream_upstream_zone_module.c nginx-1.27.1/src/stream/ngx_stream.h nginx-1.27.1/src/stream/ngx_stream_variables.h nginx-1.27.1/src/stream/ngx_stream_upstream_least_conn_module.c nginx-1.27.1/src/stream/ngx_stream_pass_module.c nginx-1.27.1/src/stream/ngx_stream_core_module.c nginx-1.27.1/src/stream/ngx_stream_script.h nginx-1.27.1/src/stream/ngx_stream_upstream.h nginx-1.27.1/src/stream/ngx_stream_return_module.c nginx-1.27.1/src/stream/ngx_stream_map_module.c nginx-1.27.1/src/stream/ngx_stream_geo_module.c nginx-1.27.1/src/stream/ngx_stream_realip_module.c nginx-1.27.1/src/stream/ngx_stream_ssl_preread_module.c nginx-1.27.1/src/stream/ngx_stream_log_module.c nginx-1.27.1/src/stream/ngx_stream_ssl_module.c nginx-1.27.1/src/stream/ngx_stream_variables.c nginx-1.27.1/src/stream/ngx_stream.c nginx-1.27.1/src/stream/ngx_stream_upstream_round_robin.c nginx-1.27.1/src/stream/ngx_stream_geoip_module.c nginx-1.27.1/src/stream/ngx_stream_upstream_hash_module.c nginx-1.27.1/src/stream/ngx_stream_proxy_module.c nginx-1.27.1/src/stream/ngx_stream_write_filter_module.c nginx-1.27.1/src/stream/ngx_stream_script.c nginx-1.27.1/src/stream/ngx_stream_upstream.c nginx-1.27.1/src/mail/ngx_mail_auth_http_module.c nginx-1.27.1/src/mail/ngx_mail_realip_module.c nginx-1.27.1/src/mail/ngx_mail_imap_handler.c nginx-1.27.1/src/mail/ngx_mail.h nginx-1.27.1/src/mail/ngx_mail_smtp_handler.c nginx-1.27.1/src/mail/ngx_mail_parse.c nginx-1.27.1/src/mail/ngx_mail_ssl_module.c nginx-1.27.1/src/mail/ngx_mail_imap_module.c nginx-1.27.1/src/mail/ngx_mail_pop3_module.c nginx-1.27.1/src/mail/ngx_mail_smtp_module.c nginx-1.27.1/src/mail/ngx_mail_core_module.c nginx-1.27.1/src/mail/ngx_mail_proxy_module.c nginx-1.27.1/src/mail/ngx_mail.c nginx-1.27.1/src/mail/ngx_mail_imap_module.h nginx-1.27.1/src/mail/ngx_mail_pop3_handler.c nginx-1.27.1/src/mail/ngx_mail_ssl_module.h nginx-1.27.1/src/mail/ngx_mail_handler.c nginx-1.27.1/src/mail/ngx_mail_smtp_module.h nginx-1.27.1/src/mail/ngx_mail_pop3_module.h nginx-1.27.1/src/core/ngx_rwlock.h nginx-1.27.1/src/core/ngx_thread_pool.c nginx-1.27.1/src/core/ngx_shmtx.h nginx-1.27.1/src/core/ngx_regex.h nginx-1.27.1/src/core/ngx_log.c nginx-1.27.1/src/core/ngx_queue.c nginx-1.27.1/src/core/ngx_cpuinfo.c nginx-1.27.1/src/core/ngx_cycle.h nginx-1.27.1/src/core/ngx_module.c nginx-1.27.1/src/core/ngx_crc32.c nginx-1.27.1/src/core/ngx_palloc.c nginx-1.27.1/src/core/ngx_list.h nginx-1.27.1/src/core/ngx_slab.h nginx-1.27.1/src/core/ngx_times.h nginx-1.27.1/src/core/ngx_radix_tree.c nginx-1.27.1/src/core/ngx_output_chain.c nginx-1.27.1/src/core/ngx_murmurhash.c nginx-1.27.1/src/core/ngx_syslog.h nginx-1.27.1/src/core/ngx_parse.h nginx-1.27.1/src/core/ngx_open_file_cache.c nginx-1.27.1/src/core/ngx_string.c nginx-1.27.1/src/core/ngx_crc.h nginx-1.27.1/src/core/nginx.h nginx-1.27.1/src/core/ngx_bpf.h nginx-1.27.1/src/core/ngx_proxy_protocol.h nginx-1.27.1/src/core/ngx_parse_time.h nginx-1.27.1/src/core/ngx_array.c nginx-1.27.1/src/core/ngx_inet.c nginx-1.27.1/src/core/ngx_sha1.h nginx-1.27.1/src/core/ngx_rbtree.c nginx-1.27.1/src/core/ngx_file.c nginx-1.27.1/src/core/ngx_md5.h nginx-1.27.1/src/core/ngx_connection.h nginx-1.27.1/src/core/ngx_resolver.c nginx-1.27.1/src/core/ngx_buf.h nginx-1.27.1/src/core/ngx_crypt.c nginx-1.27.1/src/core/ngx_config.h nginx-1.27.1/src/core/ngx_conf_file.c nginx-1.27.1/src/core/ngx_hash.h nginx-1.27.1/src/core/ngx_crc32.h nginx-1.27.1/src/core/ngx_slab.c nginx-1.27.1/src/core/ngx_list.c nginx-1.27.1/src/core/ngx_palloc.h nginx-1.27.1/src/core/ngx_module.h nginx-1.27.1/src/core/ngx_core.h nginx-1.27.1/src/core/ngx_queue.h nginx-1.27.1/src/core/ngx_log.h nginx-1.27.1/src/core/ngx_cycle.c nginx-1.27.1/src/core/ngx_shmtx.c nginx-1.27.1/src/core/ngx_regex.c nginx-1.27.1/src/core/ngx_thread_pool.h nginx-1.27.1/src/core/ngx_rwlock.c nginx-1.27.1/src/core/ngx_open_file_cache.h nginx-1.27.1/src/core/ngx_string.h nginx-1.27.1/src/core/ngx_syslog.c nginx-1.27.1/src/core/ngx_murmurhash.h nginx-1.27.1/src/core/ngx_parse.c nginx-1.27.1/src/core/ngx_radix_tree.h nginx-1.27.1/src/core/ngx_times.c nginx-1.27.1/src/core/ngx_file.h nginx-1.27.1/src/core/ngx_resolver.h nginx-1.27.1/src/core/ngx_md5.c nginx-1.27.1/src/core/ngx_connection.c nginx-1.27.1/src/core/ngx_sha1.c nginx-1.27.1/src/core/ngx_inet.h nginx-1.27.1/src/core/ngx_array.h nginx-1.27.1/src/core/ngx_rbtree.h nginx-1.27.1/src/core/ngx_proxy_protocol.c nginx-1.27.1/src/core/ngx_parse_time.c nginx-1.27.1/src/core/nginx.c nginx-1.27.1/src/core/ngx_bpf.c nginx-1.27.1/src/core/ngx_conf_file.h nginx-1.27.1/src/core/ngx_hash.c nginx-1.27.1/src/core/ngx_crypt.h nginx-1.27.1/src/core/ngx_spinlock.c nginx-1.27.1/src/core/ngx_buf.c nginx-1.27.1/src/misc/ngx_google_perftools_module.c nginx-1.27.1/src/misc/ngx_cpp_test_module.cpp nginx-1.27.1/conf/fastcgi_params nginx-1.27.1/conf/scgi_params nginx-1.27.1/conf/fastcgi.conf nginx-1.27.1/conf/uwsgi_params nginx-1.27.1/conf/koi-win nginx-1.27.1/conf/mime.types nginx-1.27.1/conf/koi-utf nginx-1.27.1/conf/win-utf nginx-1.27.1/conf/nginx.conf nginx-1.27.1/contrib/vim/ nginx-1.27.1/contrib/README nginx-1.27.1/contrib/geo2nginx.pl nginx-1.27.1/contrib/unicode2nginx/ nginx-1.27.1/contrib/unicode2nginx/unicode-to-nginx.pl nginx-1.27.1/contrib/unicode2nginx/koi-utf nginx-1.27.1/contrib/unicode2nginx/win-utf nginx-1.27.1/contrib/vim/indent/ nginx-1.27.1/contrib/vim/ftplugin/ nginx-1.27.1/contrib/vim/ftdetect/ nginx-1.27.1/contrib/vim/syntax/ nginx-1.27.1/contrib/vim/syntax/nginx.vim nginx-1.27.1/contrib/vim/ftdetect/nginx.vim nginx-1.27.1/contrib/vim/ftplugin/nginx.vim nginx-1.27.1/contrib/vim/indent/nginx.vim nginx-1.27.1/html/index.html nginx-1.27.1/html/50x.html nginx-1.27.1/auto/stubs nginx-1.27.1/auto/init nginx-1.27.1/auto/options nginx-1.27.1/auto/types/ nginx-1.27.1/auto/install nginx-1.27.1/auto/define nginx-1.27.1/auto/have nginx-1.27.1/auto/endianness nginx-1.27.1/auto/nohave nginx-1.27.1/auto/module nginx-1.27.1/auto/include nginx-1.27.1/auto/have_headers nginx-1.27.1/auto/unix nginx-1.27.1/auto/threads nginx-1.27.1/auto/headers nginx-1.27.1/auto/make nginx-1.27.1/auto/lib/ nginx-1.27.1/auto/sources nginx-1.27.1/auto/os/ nginx-1.27.1/auto/feature nginx-1.27.1/auto/cc/ nginx-1.27.1/auto/modules nginx-1.27.1/auto/summary nginx-1.27.1/auto/cc/clang nginx-1.27.1/auto/cc/msvc nginx-1.27.1/auto/cc/sunc nginx-1.27.1/auto/cc/owc nginx-1.27.1/auto/cc/gcc nginx-1.27.1/auto/cc/ccc nginx-1.27.1/auto/cc/icc nginx-1.27.1/auto/cc/bcc nginx-1.27.1/auto/cc/name nginx-1.27.1/auto/cc/conf nginx-1.27.1/auto/cc/acc nginx-1.27.1/auto/os/freebsd nginx-1.27.1/auto/os/linux nginx-1.27.1/auto/os/darwin nginx-1.27.1/auto/os/solaris nginx-1.27.1/auto/os/win32 nginx-1.27.1/auto/os/conf nginx-1.27.1/auto/lib/libgd/ nginx-1.27.1/auto/lib/libatomic/ nginx-1.27.1/auto/lib/libxslt/ nginx-1.27.1/auto/lib/perl/ nginx-1.27.1/auto/lib/geoip/ nginx-1.27.1/auto/lib/zlib/ nginx-1.27.1/auto/lib/google-perftools/ nginx-1.27.1/auto/lib/make nginx-1.27.1/auto/lib/pcre/ nginx-1.27.1/auto/lib/openssl/ nginx-1.27.1/auto/lib/conf nginx-1.27.1/auto/lib/openssl/makefile.bcc nginx-1.27.1/auto/lib/openssl/makefile.msvc nginx-1.27.1/auto/lib/openssl/make nginx-1.27.1/auto/lib/openssl/conf nginx-1.27.1/auto/lib/pcre/makefile.bcc nginx-1.27.1/auto/lib/pcre/makefile.msvc nginx-1.27.1/auto/lib/pcre/make nginx-1.27.1/auto/lib/pcre/conf nginx-1.27.1/auto/lib/pcre/makefile.owc nginx-1.27.1/auto/lib/google-perftools/conf nginx-1.27.1/auto/lib/zlib/makefile.bcc nginx-1.27.1/auto/lib/zlib/makefile.msvc nginx-1.27.1/auto/lib/zlib/make nginx-1.27.1/auto/lib/zlib/conf nginx-1.27.1/auto/lib/zlib/makefile.owc nginx-1.27.1/auto/lib/geoip/conf nginx-1.27.1/auto/lib/perl/make nginx-1.27.1/auto/lib/perl/conf nginx-1.27.1/auto/lib/libxslt/conf nginx-1.27.1/auto/lib/libatomic/make nginx-1.27.1/auto/lib/libatomic/conf nginx-1.27.1/auto/lib/libgd/conf nginx-1.27.1/auto/types/typedef nginx-1.27.1/auto/types/value nginx-1.27.1/auto/types/uintptr_t nginx-1.27.1/auto/types/sizeof nginx-1.27.1/man/nginx.8 [nginxbuild1 at vdev1 ~]$ [nginxbuild1 at vdev1 ~]$ [nginxbuild1 at vdev1 ~]$ cd nginx-1.27.1 [nginxbuild1 at vdev1 nginx-1.27.1]$ ./configure --with-compat --add-dynamic-module=../ngx_brotli checking for OS + Linux 4.18.0-553.16.1.el8_10.x86_64 x86_64 checking for C compiler ... found + using GNU C compiler + gcc version: 8.5.0 20210514 (Red Hat 8.5.0-22) (GCC) checking for gcc -pipe switch ... 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 ... not found checking for nobody group ... 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() ... not found checking for dlopen() in libdl ... 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() ... not found checking for sys_nerr ... 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 ... not found checking for POSIX semaphores in libpthread ... 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 dynamic modules adding module in ../ngx_brotli + ngx_brotli was configured checking for PCRE2 library ... found checking for zlib library ... found creating objs/Makefile Configuration summary + using system PCRE2 library + OpenSSL library is not used + using system zlib library nginx path prefix: "/usr/local/nginx" nginx binary file: "/usr/local/nginx/sbin/nginx" nginx modules path: "/usr/local/nginx/modules" nginx configuration prefix: "/usr/local/nginx/conf" nginx configuration file: "/usr/local/nginx/conf/nginx.conf" nginx pid file: "/usr/local/nginx/logs/nginx.pid" nginx error log file: "/usr/local/nginx/logs/error.log" nginx http access log file: "/usr/local/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" [nginxbuild1 at vdev1 nginx-1.27.1]$ make modules make -f objs/Makefile modules make[1]: Entering directory '/home/nginxbuild1/nginx-1.27.1' cc -c -fPIC -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -Wno-deprecated-declarations -I src/core -I src/event -I src/event/modules -I src/event/quic -I src/os/unix -I ../ngx_brotli/deps/brotli/c/include -I objs -I src/http -I src/http/modules \ -o objs/addon/filter/ngx_http_brotli_filter_module.o \ ../ngx_brotli/filter/ngx_http_brotli_filter_module.c cc -c -fPIC -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -Wno-deprecated-declarations -I src/core -I src/event -I src/event/modules -I src/event/quic -I src/os/unix -I ../ngx_brotli/deps/brotli/c/include -I objs -I src/http -I src/http/modules \ -o objs/ngx_http_brotli_filter_module_modules.o \ objs/ngx_http_brotli_filter_module_modules.c cc -o objs/ngx_http_brotli_filter_module.so \ objs/addon/filter/ngx_http_brotli_filter_module.o \ objs/ngx_http_brotli_filter_module_modules.o \ -L../ngx_brotli/deps/brotli/c/../out -lbrotlienc -lbrotlicommon -lm \ -shared /usr/bin/ld: cannot find -lbrotlienc /usr/bin/ld: cannot find -lbrotlicommon collect2: error: ld returned 1 exit status make[1]: *** [objs/Makefile:1219: objs/ngx_http_brotli_filter_module.so] Error 1 make[1]: Leaving directory '/home/nginxbuild1/nginx-1.27.1' make: *** [Makefile:16: modules] Error 2 [nginxbuild1 at vdev1 nginx-1.27.1]$ [nginxbuild1 at vdev1 nginx-1.27.1]$ [nginxbuild1 at vdev1 nginx-1.27.1]$ cat /etc/redhat-release Rocky Linux release 8.10 (Green Obsidian) Thanks in advance, Nick -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: smime.p7s Type: application/pkcs7-signature Size: 4466 bytes Desc: S/MIME Cryptographic Signature URL: From nginx-4dk5spqe at compilenix.org Tue Sep 3 18:57:30 2024 From: nginx-4dk5spqe at compilenix.org (Kevin Weis) Date: Tue, 3 Sep 2024 20:57:30 +0200 Subject: Compilation of brotli for nginx fails since version 1.27.0 on Rocky Linux 8 In-Reply-To: References: Message-ID: <57c293b3-1f00-4675-8e46-3728038482ee@compilenix.org> Hey Nikolaos, I was able to reproduce your exact error and find a solution that should meet your needs, using the current Rocky Linux 8 container image from https://hub.docker.com/_/rockylinux with the image id of c79048e50f5f. My solution in short: Install the package `brotli-devel`. Here are the exact shell commands, which made your final `make modules` command succeed for me: docker run -it rockylinux:8 bash dnf makecache dnf install -y git wget gcc make pcre2-devel zlib-devel brotli-devel cd / && git clone https://github.com/google/ngx_brotli.git cd ngx_brotli && git submodule update --init && cd / wget https://nginx.org/download/nginx-1.27.1.tar.gz && tar zxvf nginx-1.27.1.tar.gz cd nginx-1.27.1 ./configure --with-compat --add-dynamic-module=../ngx_brotli make modules Hope this helps :) Kind regards, Kevin | CompileNix From nmilas at noa.gr Tue Sep 3 19:48:30 2024 From: nmilas at noa.gr (Nikolaos Milas) Date: Tue, 3 Sep 2024 22:48:30 +0300 Subject: Compilation of brotli for nginx fails since version 1.27.0 on Rocky Linux 8 In-Reply-To: <57c293b3-1f00-4675-8e46-3728038482ee@compilenix.org> References: <57c293b3-1f00-4675-8e46-3728038482ee@compilenix.org> Message-ID: On 3/9/2024 9:57 μ.μ., Kevin Weis via nginx wrote: > ... > I was able to reproduce your exact error and find a solution that > should meet your needs, using the current Rocky Linux 8 container > image from https://hub.docker.com/_/rockylinux with the image id of > c79048e50f5f. > > My solution in short: Install the package `brotli-devel`. > ... Hi Kevin, You are the man! Yes, it works this way! I am wondering (sorry if the question is naive): Since I am compiling from source, shouldn't the source code include all necessary modules? Why an OS package (brotli-devel) should be required? If the source code does not include some required modules, could / should we clone some additional code from brotli git to generate the modules instead of using brotli-devel package? I am asking because I fear (possibly falsely) that at some point brotli-devel and brotli source might belong to different software versions and thus the compilation might then be impossible or generate inoperative modules. Thanks a lot for your kind help. Cheers, Nick -------------- next part -------------- A non-text attachment was scrubbed... Name: smime.p7s Type: application/pkcs7-signature Size: 4466 bytes Desc: S/MIME Cryptographic Signature URL: From osa at freebsd.org.ru Tue Sep 3 20:38:53 2024 From: osa at freebsd.org.ru (Sergey A. Osokin) Date: Tue, 3 Sep 2024 23:38:53 +0300 Subject: Compilation of brotli for nginx fails since version 1.27.0 on Rocky Linux 8 In-Reply-To: References: <57c293b3-1f00-4675-8e46-3728038482ee@compilenix.org> Message-ID: Hi Nikolas, On Tue, Sep 03, 2024 at 10:48:30PM +0300, Nikolaos Milas via nginx wrote: > On 3/9/2024 9:57 μ.μ., Kevin Weis via nginx wrote: > > ... > > I was able to reproduce your exact error and find a solution that should > > meet your needs, using the current Rocky Linux 8 container image from > > https://hub.docker.com/_/rockylinux with the image id of c79048e50f5f. > > > > My solution in short: Install the package `brotli-devel`. > > ... > > You are the man! Yes, it works this way! Great! > I am wondering (sorry if the question is naive): Since I am compiling from > source, shouldn't the source code include all necessary modules? Why an OS > package (brotli-devel) should be required? > > If the source code does not include some required modules, could / should we > clone some additional code from brotli git to generate the modules instead > of using brotli-devel package? 1. The brotli modules isn't a part of official nginx distribution, so you may want to address that question to the module's vendor. 2. It's definitely true that the way you've tried to build the brotli module supports only to two native things: - pcre - openssl 3. For other native nginx modules, a build of nginx requires additional frameworks (headers and libraries) to build a module, as an example please the following the next page: https://nginx.org/en/docs/http/ngx_http_xslt_module.html Hope that helps. -- Sergey A. Osokin From arut at nginx.com Fri Sep 6 15:11:18 2024 From: arut at nginx.com (Roman Arutyunyan) Date: Fri, 6 Sep 2024 19:11:18 +0400 Subject: NGINX has moved to Github! Message-ID: <92D6937D-EE9B-4283-8DE1-AA95F8D80C0F@nginx.com> Hello from NGINX! Today we're thrilled to announce that the official NGINX Open Source development repository has moved from Mercurial to GitHub [1][2][3], where we will now start accepting contributions in the form of Pull Requests. Additionally, starting today, we will begin accepting bugs reports, feature requests and enhancements directly through GitHub, under the "Issues" tab. Moreover, we've moved our community forums to the GitHub "Discussions" area, where you will now be able to engage in conversation, ask, and answer questions. Important: to report a security vulnerability, please follow our security policy [4]. We understand that changes like these may require adjustment, so to give you more time, we will continue accepting patches and provide community support via mailing lists until December 31st, 2024. We believe these changes will serve to centralize, modernize and expand access to NGINX development and communities. They represent our continued commitment to open source, as outlined in the blog post [5]. Most of all, we can't wait to see all of your contributions, discussions and feedback, as we move into this next chapter for NGINX. [1] https://github.com/nginx/nginx [2] https://github.com/nginx/nginx-tests [3] https://github.com/nginx/nginx.org [4] https://github.com/nginx/nginx/blob/master/SECURITY.md [5] https://www.f5.com/company/blog/nginx/meetup-recap-nginxs-commitments-to-the-open-source-community On behalf of the NGINX Team, Roman Arutyunyan arut at nginx.com From paul at stormy.ca Fri Sep 6 19:48:17 2024 From: paul at stormy.ca (Paul) Date: Fri, 6 Sep 2024 15:48:17 -0400 Subject: NGINX has moved to Github! In-Reply-To: <92D6937D-EE9B-4283-8DE1-AA95F8D80C0F@nginx.com> References: <92D6937D-EE9B-4283-8DE1-AA95F8D80C0F@nginx.com> Message-ID: On 2024-09-06 11:11, Roman Arutyunyan wrote: > Hello from NGINX! > > Today we're thrilled to announce that the official NGINX Open Source development > repository has moved from Mercurial to GitHub [1][2][3], where we will now start > accepting contributions in the form of Pull Requests. Additionally, starting > today, we will begin accepting bugs reports, feature requests and enhancements > directly through GitHub, under the "Issues" tab. Moreover, we've moved our > community forums to the GitHub "Discussions" area, where you will now be able > to engage in conversation, ask, and answer questions. Does this mean that this list and/or your nginx.org dies on 31 December 2024? I have tried to follow F5 and nginx internal differences for some time. Maybe I should have seen the creation of freenginx as "writing on the wall." I, like some or many of my colleagues, will not migrate to github (maybe has some good points, but destroys your "named corporate" identity.) What is the position of major (Redhat, Canonical, etc) Linux distributions? Can we rely on continuing reliability? What "free" and/or "paid" licensing agreements are you planning? Many of us use nginx only as a reverse proxy. It's fast and efficient. I flat out refuse to get into politics, but your announcement is not re-assuring. Do we need (fast? before year end?) a fall-back position? Thanks -- Paul > > Important: to report a security vulnerability, please follow our security > policy [4]. > > We understand that changes like these may require adjustment, so to give you > more time, we will continue accepting patches and provide community support > via mailing lists until December 31st, 2024. > > We believe these changes will serve to centralize, modernize and expand access > to NGINX development and communities. They represent our continued commitment > to open source, as outlined in the blog post [5]. Most of all, we can't wait to > see all of your contributions, discussions and feedback, as we move into this > next chapter for NGINX. > > [1] https://github.com/nginx/nginx > [2] https://github.com/nginx/nginx-tests > [3] https://github.com/nginx/nginx.org > [4] https://github.com/nginx/nginx/blob/master/SECURITY.md > [5] https://www.f5.com/company/blog/nginx/meetup-recap-nginxs-commitments-to-the-open-source-community > > > On behalf of the NGINX Team, > > Roman Arutyunyan > arut at nginx.com > _______________________________________________ > nginx mailing list > nginx at nginx.org > https://mailman.nginx.org/mailman/listinfo/nginx > From srebecchi at kameleoon.com Fri Sep 20 16:04:38 2024 From: srebecchi at kameleoon.com (=?UTF-8?Q?S=C3=A9bastien_Rebecchi?=) Date: Fri, 20 Sep 2024 18:04:38 +0200 Subject: upstream limit Message-ID: Hello. Is there a limit on the number of servers that can be added in a upstream context? Best regards, Sébastien. -------------- next part -------------- An HTML attachment was scrubbed... URL: From mikydevel at yahoo.fr Sat Sep 28 18:34:42 2024 From: mikydevel at yahoo.fr (Mik J) Date: Sat, 28 Sep 2024 18:34:42 +0000 (UTC) Subject: Nginx behavior still working as is today ? References: <1983319565.5352247.1727548482149.ref@mail.yahoo.com> Message-ID: <1983319565.5352247.1727548482149@mail.yahoo.com> Hello, Someone pointed this out to me Maxim D.: The ​try_files directive changes URI of a request to the one matched on the file system, and subsequent attempt to split the URI into $fastcgi_script_name and $fastcgi_path_info results in empty path info - as there is no path info in the URI after try_files. That was 11 years ago, is it still true ? I use Nginx 1.24 Also, I have something like this server {         listen 80; ...         location / {           try_files $uri $uri/ /index.php$is_args$args; ... In that location bloc I have           location ~ ^(.+\.php)(.*)$ { ...               fastcgi_split_path_info ^(.+\.php)(/.*)$; I don't have any try_files in my location ~ ^(.+\.php)(.*)$ { but this bloc exist within location / { What rule applies ? - There shouldn't be any try_files in the same bloc ( location ~ ^(.+\.php)(.*)$ { ) for me ? - Or even no try_files in the parent bloc - Or even no try_files at all in the server bloc Thank you