OpenSSL related build failures

bayberry.uninspired694 at aceecat.org bayberry.uninspired694 at aceecat.org
Sat Nov 1 22:57:57 UTC 2025


Hello friends,

trying to build freenginx 1.19.2 from source, I get the following errors:

cc -c -pipe  -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g  -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs \
	-o objs/src/event/ngx_event_openssl.o \
	src/event/ngx_event_openssl.c
src/event/ngx_event_openssl.c: In function ‘ngx_ssl_load_certificate_key’:
src/event/ngx_event_openssl.c:729:9: error: ‘ENGINE_by_id’ is deprecated: Since OpenSSL 3.0 [-Werror=deprecated-declarations]
  729 |         engine = ENGINE_by_id((char *) p);
      |         ^~~~~~
In file included from src/event/ngx_event_openssl.h:22,
                 from src/core/ngx_core.h:84,
                 from src/event/ngx_event_openssl.c:9:
/usr/include/openssl/engine.h:336:31: note: declared here
  336 | OSSL_DEPRECATEDIN_3_0 ENGINE *ENGINE_by_id(const char *id);
      |                               ^~~~~~~~~~~~
src/event/ngx_event_openssl.c:738:9: error: ‘ENGINE_load_private_key’ is deprecated: Since OpenSSL 3.0 [-Werror=deprecated-declarations]
  738 |         pkey = ENGINE_load_private_key(engine, (char *) last, 0, 0);
      |         ^~~~
/usr/include/openssl/engine.h:638:11: note: declared here
  638 | EVP_PKEY *ENGINE_load_private_key(ENGINE *e, const char *key_id,
      |           ^~~~~~~~~~~~~~~~~~~~~~~
src/event/ngx_event_openssl.c:742:13: error: ‘ENGINE_free’ is deprecated: Since OpenSSL 3.0 [-Werror=deprecated-declarations]
  742 |             ENGINE_free(engine);
      |             ^~~~~~~~~~~
/usr/include/openssl/engine.h:493:27: note: declared here
  493 | OSSL_DEPRECATEDIN_3_0 int ENGINE_free(ENGINE *e);
      |                           ^~~~~~~~~~~
src/event/ngx_event_openssl.c:746:9: error: ‘ENGINE_free’ is deprecated: Since OpenSSL 3.0 [-Werror=deprecated-declarations]
  746 |         ENGINE_free(engine);
      |         ^~~~~~~~~~~
/usr/include/openssl/engine.h:493:27: note: declared here
  493 | OSSL_DEPRECATEDIN_3_0 int ENGINE_free(ENGINE *e);
      |                           ^~~~~~~~~~~
src/event/ngx_event_openssl.c: In function ‘ngx_ssl_dhparam’:
src/event/ngx_event_openssl.c:1345:5: error: ‘PEM_read_bio_DHparams’ is deprecated: Since OpenSSL 3.0 [-Werror=deprecated-declarations]
 1345 |     dh = PEM_read_bio_DHparams(bio, NULL, NULL, NULL);
      |     ^~
In file included from /usr/include/openssl/ssl.h:36,
                 from src/event/ngx_event_openssl.h:15:
/usr/include/openssl/pem.h:469:1: note: declared here
  469 | DECLARE_PEM_rw_attr(OSSL_DEPRECATEDIN_3_0, DHparams, DH)
      | ^~~~~~~~~~~~~~~~~~~
src/event/ngx_event_openssl.c:1355:5: error: ‘DH_free’ is deprecated: Since OpenSSL 3.0 [-Werror=deprecated-declarations]
 1355 |     DH_free(dh);
      |     ^~~~~~~
In file included from /usr/include/openssl/dsa.h:51,
                 from /usr/include/openssl/x509.h:37,
                 from /usr/include/openssl/ssl.h:31:
/usr/include/openssl/dh.h:204:28: note: declared here
  204 | OSSL_DEPRECATEDIN_3_0 void DH_free(DH *dh);
      |                            ^~~~~~~
src/event/ngx_event_openssl.c: In function ‘ngx_ssl_error’:
src/event/ngx_event_openssl.c:3100:13: error: ‘ERR_peek_error_line_data’ is deprecated: Since OpenSSL 3.0 [-Werror=deprecated-declarations]
 3100 |             n = ERR_peek_error_line_data(NULL, NULL, &data, &flags);
      |             ^
In file included from src/event/ngx_event_openssl.h:16:
/usr/include/openssl/err.h:437:15: note: declared here
  437 | unsigned long ERR_peek_error_line_data(const char **file, int *line,
      |               ^~~~~~~~~~~~~~~~~~~~~~~~
src/event/ngx_event_openssl.c: In function ‘ngx_ssl_session_ticket_key_callback’:
src/event/ngx_event_openssl.c:4010:9: error: ‘HMAC_Init_ex’ is deprecated: Since OpenSSL 3.0 [-Werror=deprecated-declarations]
 4010 |         if (HMAC_Init_ex(hctx, key[0].hmac_key, size, digest, NULL) != 1) {
      |         ^~
In file included from /usr/include/openssl/ssl.h:37:
/usr/include/openssl/hmac.h:43:27: note: declared here
   43 | OSSL_DEPRECATEDIN_3_0 int HMAC_Init_ex(HMAC_CTX *ctx, const void *key, int len,
      |                           ^~~~~~~~~~~~
src/event/ngx_event_openssl.c:4054:9: error: ‘HMAC_Init_ex’ is deprecated: Since OpenSSL 3.0 [-Werror=deprecated-declarations]
 4054 |         if (HMAC_Init_ex(hctx, key[i].hmac_key, size, digest, NULL) != 1) {
      |         ^~
/usr/include/openssl/hmac.h:43:27: note: declared here
   43 | OSSL_DEPRECATEDIN_3_0 int HMAC_Init_ex(HMAC_CTX *ctx, const void *key, int len,
      |                           ^~~~~~~~~~~~
src/event/ngx_event_openssl.c: In function ‘ngx_openssl_engine’:
src/event/ngx_event_openssl.c:5188:5: error: ‘ENGINE_by_id’ is deprecated: Since OpenSSL 3.0 [-Werror=deprecated-declarations]
 5188 |     engine = ENGINE_by_id((char *) value[1].data);
      |     ^~~~~~
/usr/include/openssl/engine.h:336:31: note: declared here
  336 | OSSL_DEPRECATEDIN_3_0 ENGINE *ENGINE_by_id(const char *id);
      |                               ^~~~~~~~~~~~
src/event/ngx_event_openssl.c:5196:5: error: ‘ENGINE_set_default’ is deprecated: Since OpenSSL 3.0 [-Werror=deprecated-declarations]
 5196 |     if (ENGINE_set_default(engine, ENGINE_METHOD_ALL) == 0) {
      |     ^~
/usr/include/openssl/engine.h:708:27: note: declared here
  708 | OSSL_DEPRECATEDIN_3_0 int ENGINE_set_default(ENGINE *e, unsigned int flags);
      |                           ^~~~~~~~~~~~~~~~~~
src/event/ngx_event_openssl.c:5201:9: error: ‘ENGINE_free’ is deprecated: Since OpenSSL 3.0 [-Werror=deprecated-declarations]
 5201 |         ENGINE_free(engine);
      |         ^~~~~~~~~~~
/usr/include/openssl/engine.h:493:27: note: declared here
  493 | OSSL_DEPRECATEDIN_3_0 int ENGINE_free(ENGINE *e);
      |                           ^~~~~~~~~~~
src/event/ngx_event_openssl.c:5206:5: error: ‘ENGINE_free’ is deprecated: Since OpenSSL 3.0 [-Werror=deprecated-declarations]
 5206 |     ENGINE_free(engine);
      |     ^~~~~~~~~~~
/usr/include/openssl/engine.h:493:27: note: declared here
  493 | OSSL_DEPRECATEDIN_3_0 int ENGINE_free(ENGINE *e);
      |                           ^~~~~~~~~~~
cc1: all warnings being treated as errors
make[1]: *** [objs/Makefile:848: objs/src/event/ngx_event_openssl.o] Error 1
make[1]: Leaving directory '/var/local/git/nginx'
make: *** [Makefile:8: build] Error 2

relevant environmental info:

# dpkg --status libssl-dev
Version: 3.0.17-1~deb12u3

# dpkg --status gcc
Version: 4:12.2.0-3

(edited for clarity)

and this is how I run configure:

/var/local/git/nginx/auto/configure \
  --prefix=/usr/local \
  --conf-path=/usr/local/etc/nginx/nginx.conf \
  --error-log-path=/var/spool/nginx/log/error.log \
  --pid-path=/var/spool/nginx/pid \
  --lock-path=/var/spool/nginx/lock \
  --user=www-data \
  --group=www-data \
  --with-http_ssl_module \
  --with-http_gunzip_module \
  --with-http_auth_request_module \
  --with-http_dav_module \
  --http-log-path=/var/spool/nginx/access.log \
  --http-client-body-temp-path=/var/spool/nginx/body \
  --http-proxy-temp-path=/var/spool/nginx/proxy \
  --http-fastcgi-temp-path=/var/spool/nginx/fastcgi \
  --http-uwsgi-temp-path=/var/spool/nginx/uwsgi \
  --http-scgi-temp-path=/var/spool/nginx/scgi

help?

-- 
Ian


More information about the nginx mailing list