<div dir="auto"><div><br><br><div class="gmail_quote gmail_quote_container"><div dir="ltr" class="gmail_attr">Le sam. 30 mai 2026, 17:54, Sebastian Andrzej Siewior <<a href="mailto:sebastian@breakpoint.cc">sebastian@breakpoint.cc</a>> a écrit :<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Package: nodejs<br>
Version: 22.22.2+dfsg+~cs22.19.15-3<br>
Severity: normal<br>
Tags: sid<br>
control: affects -1 src:openssl<br>
User: <a href="mailto:pkg-openssl-devel@lists.alioth.debian.org" target="_blank" rel="noreferrer">pkg-openssl-devel@lists.alioth.debian.org</a><br>
Usertags: openssl-4.0<br>
<br>
OpenSSL 4.0 is in experimental. This package fails to build against it:<br></blockquote></div></div><div dir="auto"><br></div><div dir="auto">Next node 24.16 will fix this.</div><div dir="auto"><div class="gmail_quote gmail_quote_container"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
| g++ -o /build/reproducible-path/nodejs-22.22.2+dfsg+~cs22.19.15/out/Release/obj.target/ncrypto/deps/ncrypto/ncrypto.o ../deps/ncrypto/ncrypto.cc '-D_GLIBCXX_USE_CXX11_ABI=1' '-D_FILE_OFFSET_BITS=64' '-DNODE_OPENSSL_CONF_NAME=nodejs_conf' '-DNODE_OPENSSL_CERT_STORE' '-DICU_NO_USER_DATA_OVERRIDE' '-DNODE_SHARED_BUILTIN_CJS_MODULE_LEXER_LEXER_PATH=/usr/share/nodejs/cjs-module-lexer/lexer.js' '-DNODE_SHARED_BUILTIN_CJS_MODULE_LEXER_DIST_LEXER_PATH=/usr/share/nodejs/cjs-module-lexer/dist/lexer.js' '-DNODE_SHARED_BUILTIN_UNDICI_UNDICI_PATH=/usr/share/nodejs/undici/undici-fetch.js' '-DNODE_SHARED_BUILTIN_ACORN_PATH=/usr/share/nodejs/acorn/dist/acorn.js' '-DNODE_SHARED_BUILTIN_ACORN_WALK_PATH=/usr/share/nodejs/acorn-walk/dist/walk.js' '-D__STDC_FORMAT_MACROS' -I../deps/ncrypto -pthread -Wall -Wextra -Wno-unused-parameter -fPIC -m64 -O3 -fno-omit-frame-pointer -fno-rtti -fno-exceptions -fno-strict-aliasing -std=gnu++20 -MMD -MF /build/reproducible-path/nodejs-22.22.2+dfsg+~cs22.19.15/out/Release/.deps//build/reproducible-path/nodejs-22.22.2+dfsg+~cs22.19.15/out/Release/obj.target/ncrypto/deps/ncrypto/ncrypto.o.d.raw -fPIC -g -fPIC -g -c<br>
| In file included from ../deps/ncrypto/ncrypto.cc:1:<br>
| ../deps/ncrypto/ncrypto.h:208:59: warning: ‘void HMAC_CTX_free(HMAC_CTX*)’ is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]<br>
| 208 | using HMACCtxPointer = DeleteFnPtr<HMAC_CTX, HMAC_CTX_free>;<br>
| | ^<br>
| In file included from ../deps/ncrypto/ncrypto.h:10:<br>
| /usr/include/openssl/hmac.h:35:28: note: declared here<br>
| 35 | OSSL_DEPRECATEDIN_3_0 void HMAC_CTX_free(HMAC_CTX *ctx);<br>
| | ^~~~~~~~~~~~~<br>
| ../deps/ncrypto/ncrypto.h:211:45: warning: ‘void RSA_free(RSA*)’ is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]<br>
| 211 | using RSAPointer = DeleteFnPtr<RSA, RSA_free>;<br>
| | ^<br>
| In file included from ../deps/ncrypto/ncrypto.h:12:<br>
| /usr/include/openssl/rsa.h:302:28: note: declared here<br>
| 302 | OSSL_DEPRECATEDIN_3_0 void RSA_free(RSA *r);<br>
| | ^~~~~~~~<br>
| ../deps/ncrypto/ncrypto.h:658:26: warning: ‘void DH_free(DH*)’ is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]<br>
| 658 | DeleteFnPtr<DH, DH_free> dh_;<br>
| | ^<br>
| In file included from ../deps/ncrypto/ncrypto.h:5:<br>
| /usr/include/openssl/dh.h:211:28: note: declared here<br>
| 211 | OSSL_DEPRECATEDIN_3_0 void DH_free(DH *dh);<br>
| | ^~~~~~~<br>
| ../deps/ncrypto/ncrypto.h:948:34: warning: ‘void EC_KEY_free(EC_KEY*)’ is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]<br>
| 948 | DeleteFnPtr<EC_KEY, EC_KEY_free> key_;<br>
| | ^<br>
| In file included from ../deps/ncrypto/ncrypto.h:7:<br>
| /usr/include/openssl/ec.h:1022:28: note: declared here<br>
| 1022 | OSSL_DEPRECATEDIN_3_0 void EC_KEY_free(EC_KEY *key);<br>
| | ^~~~~~~~~~~<br>
| ../deps/ncrypto/ncrypto.cc: In member function ‘int ncrypto::BignumPointer::isPrime(int, PrimeCheckCallback) const’:<br>
| ../deps/ncrypto/ncrypto.cc:330:24: warning: ‘int BN_is_prime_ex(const BIGNUM*, int, BN_CTX*, BN_GENCB*)’ is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]<br>
| 330 | return BN_is_prime_ex(get(), nchecks, ctx.get(), cb.get());<br>
| | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br>
| In file included from ../deps/ncrypto/ncrypto.h:4:<br>
| /usr/include/openssl/bn.h:379:5: note: declared here<br>
| 379 | int BN_is_prime_ex(const BIGNUM *p, int nchecks, BN_CTX *ctx, BN_GENCB *cb);<br>
| | ^~~~~~~~~~~~~~<br>
| ../deps/ncrypto/ncrypto.cc: In function ‘bool ncrypto::{anonymous}::PrintGeneralName(const ncrypto::BIOPointer&, const GENERAL_NAME*)’:<br>
| ../deps/ncrypto/ncrypto.cc:646:57: error: invalid use of incomplete type ‘ASN1_IA5STRING’ {aka ‘struct asn1_string_st’}<br>
| 646 | PrintAltName(out, reinterpret_cast<const char*>(name->data), name->length);<br>
| | ^~<br>
| In file included from /usr/include/openssl/crypto.h:38,<br>
| from /usr/include/openssl/bio.h:32,<br>
| from ../deps/ncrypto/ncrypto.h:3:<br>
| /usr/include/openssl/types.h:57:16: note: forward declaration of ‘ASN1_IA5STRING’ {aka ‘struct asn1_string_st’}<br>
| 57 | typedef struct asn1_string_st ASN1_INTEGER;<br>
| | ^~~~~~~~~~~~~~<br>
| ../deps/ncrypto/ncrypto.cc:646:70: error: invalid use of incomplete type ‘ASN1_IA5STRING’ {aka ‘struct asn1_string_st’}<br>
| 646 | PrintAltName(out, reinterpret_cast<const char*>(name->data), name->length);<br>
| | ^~<br>
| /usr/include/openssl/types.h:57:16: note: forward declaration of ‘ASN1_IA5STRING’ {aka ‘struct asn1_string_st’}<br>
| 57 | typedef struct asn1_string_st ASN1_INTEGER;<br>
| | ^~~~~~~~~~~~~~<br>
| ../deps/ncrypto/ncrypto.cc:650:57: error: invalid use of incomplete type ‘ASN1_IA5STRING’ {aka ‘struct asn1_string_st’}<br>
| 650 | PrintAltName(out, reinterpret_cast<const char*>(name->data), name->length);<br>
| | ^~<br>
| /usr/include/openssl/types.h:57:16: note: forward declaration of ‘ASN1_IA5STRING’ {aka ‘struct asn1_string_st’}<br>
| 57 | typedef struct asn1_string_st ASN1_INTEGER;<br>
| | ^~~~~~~~~~~~~~<br>
| ../deps/ncrypto/ncrypto.cc:650:70: error: invalid use of incomplete type ‘ASN1_IA5STRING’ {aka ‘struct asn1_string_st’}<br>
| 650 | PrintAltName(out, reinterpret_cast<const char*>(name->data), name->length);<br>
| | ^~<br>
| /usr/include/openssl/types.h:57:16: note: forward declaration of ‘ASN1_IA5STRING’ {aka ‘struct asn1_string_st’}<br>
| 57 | typedef struct asn1_string_st ASN1_INTEGER;<br>
| | ^~~~~~~~~~~~~~<br>
| ../deps/ncrypto/ncrypto.cc:658:57: error: invalid use of incomplete type ‘ASN1_IA5STRING’ {aka ‘struct asn1_string_st’}<br>
| 658 | PrintAltName(out, reinterpret_cast<const char*>(name->data), name->length);<br>
| | ^~<br>
| /usr/include/openssl/types.h:57:16: note: forward declaration of ‘ASN1_IA5STRING’ {aka ‘struct asn1_string_st’}<br>
| 57 | typedef struct asn1_string_st ASN1_INTEGER;<br>
| | ^~~~~~~~~~~~~~<br>
| ../deps/ncrypto/ncrypto.cc:658:70: error: invalid use of incomplete type ‘ASN1_IA5STRING’ {aka ‘struct asn1_string_st’}<br>
| 658 | PrintAltName(out, reinterpret_cast<const char*>(name->data), name->length);<br>
| | ^~<br>
| /usr/include/openssl/types.h:57:16: note: forward declaration of ‘ASN1_IA5STRING’ {aka ‘struct asn1_string_st’}<br>
| 57 | typedef struct asn1_string_st ASN1_INTEGER;<br>
| | ^~~~~~~~~~~~~~<br>
| ../deps/ncrypto/ncrypto.cc:691:32: error: invalid use of incomplete type ‘const ASN1_OCTET_STRING’ {aka ‘const struct asn1_string_st’}<br>
| 691 | const unsigned char* b = ip->data;<br>
| | ^~<br>
| /usr/include/openssl/types.h:57:16: note: forward declaration of ‘ASN1_OCTET_STRING’ {aka ‘struct asn1_string_st’}<br>
| 57 | typedef struct asn1_string_st ASN1_INTEGER;<br>
| | ^~~~~~~~~~~~~~<br>
| ../deps/ncrypto/ncrypto.cc:692:11: error: invalid use of incomplete type ‘const ASN1_OCTET_STRING’ {aka ‘const struct asn1_string_st’}<br>
| 692 | if (ip->length == 4) {<br>
| | ^~<br>
| /usr/include/openssl/types.h:57:16: note: forward declaration of ‘ASN1_OCTET_STRING’ {aka ‘struct asn1_string_st’}<br>
| 57 | typedef struct asn1_string_st ASN1_INTEGER;<br>
| | ^~~~~~~~~~~~~~<br>
| ../deps/ncrypto/ncrypto.cc:694:18: error: invalid use of incomplete type ‘const ASN1_OCTET_STRING’ {aka ‘const struct asn1_string_st’}<br>
| 694 | } else if (ip->length == 16) {<br>
| | ^~<br>
| /usr/include/openssl/types.h:57:16: note: forward declaration of ‘ASN1_OCTET_STRING’ {aka ‘struct asn1_string_st’}<br>
| 57 | typedef struct asn1_string_st ASN1_INTEGER;<br>
| | ^~~~~~~~~~~~~~<br>
| ../deps/ncrypto/ncrypto.cc:701:54: error: invalid use of incomplete type ‘const ASN1_OCTET_STRING’ {aka ‘const struct asn1_string_st’}<br>
| 701 | BIO_printf(out.get(), "<invalid length=%d>", ip->length);<br>
| | ^~<br>
| /usr/include/openssl/types.h:57:16: note: forward declaration of ‘ASN1_OCTET_STRING’ {aka ‘struct asn1_string_st’}<br>
| 57 | typedef struct asn1_string_st ASN1_INTEGER;<br>
| | ^~~~~~~~~~~~~~<br>
| ../deps/ncrypto/ncrypto.cc:751:56: error: invalid use of incomplete type ‘struct asn1_string_st’<br>
| 751 | reinterpret_cast<const char*>(name->data),<br>
| | ^~<br>
| /usr/include/openssl/types.h:57:16: note: forward declaration of ‘struct asn1_string_st’<br>
| 57 | typedef struct asn1_string_st ASN1_INTEGER;<br>
| | ^~~~~~~~~~~~~~<br>
| ../deps/ncrypto/ncrypto.cc:752:26: error: invalid use of incomplete type ‘struct asn1_string_st’<br>
| 752 | name->length,<br>
| | ^~<br>
| /usr/include/openssl/types.h:57:16: note: forward declaration of ‘struct asn1_string_st’<br>
| 57 | typedef struct asn1_string_st ASN1_INTEGER;<br>
| | ^~~~~~~~~~~~~~<br>
| ../deps/ncrypto/ncrypto.cc:758:56: error: invalid use of incomplete type ‘struct asn1_string_st’<br>
| 758 | reinterpret_cast<const char*>(name->data),<br>
| | ^~<br>
| /usr/include/openssl/types.h:57:16: note: forward declaration of ‘struct asn1_string_st’<br>
| 57 | typedef struct asn1_string_st ASN1_INTEGER;<br>
| | ^~~~~~~~~~~~~~<br>
| ../deps/ncrypto/ncrypto.cc:759:26: error: invalid use of incomplete type ‘struct asn1_string_st’<br>
| 759 | name->length,<br>
| | ^~<br>
| /usr/include/openssl/types.h:57:16: note: forward declaration of ‘struct asn1_string_st’<br>
| 57 | typedef struct asn1_string_st ASN1_INTEGER;<br>
| | ^~~~~~~~~~~~~~<br>
| ../deps/ncrypto/ncrypto.cc: In function ‘bool ncrypto::SafeX509SubjectAltNamePrint(const BIOPointer&, X509_EXTENSION*)’:<br>
| ../deps/ncrypto/ncrypto.cc:781:8: warning: unused variable ‘ret’ [-Wunused-variable]<br>
| 781 | auto ret = OBJ_obj2nid(X509_EXTENSION_get_object(ext));<br>
| | ^~~<br>
| ../deps/ncrypto/ncrypto.cc: In function ‘bool ncrypto::SafeX509InfoAccessPrint(const BIOPointer&, X509_EXTENSION*)’:<br>
| ../deps/ncrypto/ncrypto.cc:804:8: warning: unused variable ‘ret’ [-Wunused-variable]<br>
| 804 | auto ret = OBJ_obj2nid(X509_EXTENSION_get_object(ext));<br>
| | ^~~<br>
| ../deps/ncrypto/ncrypto.cc: In member function ‘ncrypto::BIOPointer ncrypto::X509View::getSubjectAltName() const’:<br>
| ../deps/ncrypto/ncrypto.cc:903:53: error: invalid conversion from ‘const X509_EXTENSION*’ {aka ‘const X509_extension_st*’} to ‘X509_EXTENSION*’ {aka ‘X509_extension_st*’} [-fpermissive]<br>
| 903 | !SafeX509SubjectAltNamePrint(bio, X509_get_ext(cert_, index))) {<br>
| | ~~~~~~~~~~~~^~~~~~~~~~~~~~<br>
| | |<br>
| | const X509_EXTENSION* {aka const X509_extension_st*}<br>
| ../deps/ncrypto/ncrypto.cc:780:73: note: initializing argument 2 of ‘bool ncrypto::SafeX509SubjectAltNamePrint(const BIOPointer&, X509_EXTENSION*)’<br>
| 780 | bool SafeX509SubjectAltNamePrint(const BIOPointer& out, X509_EXTENSION* ext) {<br>
| | ~~~~~~~~~~~~~~~~^~~<br>
| ../deps/ncrypto/ncrypto.cc: In member function ‘ncrypto::BIOPointer ncrypto::X509View::getInfoAccess() const’:<br>
| ../deps/ncrypto/ncrypto.cc:929:49: error: invalid conversion from ‘const X509_EXTENSION*’ {aka ‘const X509_extension_st*’} to ‘X509_EXTENSION*’ {aka ‘X509_extension_st*’} [-fpermissive]<br>
| 929 | if (!SafeX509InfoAccessPrint(bio, X509_get_ext(cert_, index))) {<br>
| | ~~~~~~~~~~~~^~~~~~~~~~~~~~<br>
| | |<br>
| | const X509_EXTENSION* {aka const X509_extension_st*}<br>
…<br>
<br>
Full buildlog<br>
<a href="https://breakpoint.cc/openssl-rebuild/logs-4/attempted/nodejs_22.22.2+dfsg+~cs22.19.15-3_amd64-2026-04-19T10:58:58Z" rel="noreferrer noreferrer" target="_blank">https://breakpoint.cc/openssl-rebuild/logs-4/attempted/nodejs_22.22.2+dfsg+~cs22.19.15-3_amd64-2026-04-19T10:58:58Z</a><br>
<br>
Sebastian<br>
</blockquote></div></div></div>