[Pkg-javascript-devel] Bug#1138323: nodejs: FTBFS with openssl 4.0
Jérémy Lal
kapouer at melix.org
Sat May 30 17:54:25 BST 2026
Le sam. 30 mai 2026, 17:54, Sebastian Andrzej Siewior <
sebastian at breakpoint.cc> a écrit :
> Package: nodejs
> Version: 22.22.2+dfsg+~cs22.19.15-3
> Severity: normal
> Tags: sid
> control: affects -1 src:openssl
> User: pkg-openssl-devel at lists.alioth.debian.org
> Usertags: openssl-4.0
>
> OpenSSL 4.0 is in experimental. This package fails to build against it:
>
Next node 24.16 will fix this.
>
> | 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
> | In file included from ../deps/ncrypto/ncrypto.cc:1:
> | ../deps/ncrypto/ncrypto.h:208:59: warning: ‘void
> HMAC_CTX_free(HMAC_CTX*)’ is deprecated: Since OpenSSL 3.0
> [-Wdeprecated-declarations]
> | 208 | using HMACCtxPointer = DeleteFnPtr<HMAC_CTX, HMAC_CTX_free>;
> | | ^
> | In file included from ../deps/ncrypto/ncrypto.h:10:
> | /usr/include/openssl/hmac.h:35:28: note: declared here
> | 35 | OSSL_DEPRECATEDIN_3_0 void HMAC_CTX_free(HMAC_CTX *ctx);
> | | ^~~~~~~~~~~~~
> | ../deps/ncrypto/ncrypto.h:211:45: warning: ‘void RSA_free(RSA*)’ is
> deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
> | 211 | using RSAPointer = DeleteFnPtr<RSA, RSA_free>;
> | | ^
> | In file included from ../deps/ncrypto/ncrypto.h:12:
> | /usr/include/openssl/rsa.h:302:28: note: declared here
> | 302 | OSSL_DEPRECATEDIN_3_0 void RSA_free(RSA *r);
> | | ^~~~~~~~
> | ../deps/ncrypto/ncrypto.h:658:26: warning: ‘void DH_free(DH*)’ is
> deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
> | 658 | DeleteFnPtr<DH, DH_free> dh_;
> | | ^
> | In file included from ../deps/ncrypto/ncrypto.h:5:
> | /usr/include/openssl/dh.h:211:28: note: declared here
> | 211 | OSSL_DEPRECATEDIN_3_0 void DH_free(DH *dh);
> | | ^~~~~~~
> | ../deps/ncrypto/ncrypto.h:948:34: warning: ‘void
> EC_KEY_free(EC_KEY*)’ is deprecated: Since OpenSSL 3.0
> [-Wdeprecated-declarations]
> | 948 | DeleteFnPtr<EC_KEY, EC_KEY_free> key_;
> | | ^
> | In file included from ../deps/ncrypto/ncrypto.h:7:
> | /usr/include/openssl/ec.h:1022:28: note: declared here
> | 1022 | OSSL_DEPRECATEDIN_3_0 void EC_KEY_free(EC_KEY *key);
> | | ^~~~~~~~~~~
> | ../deps/ncrypto/ncrypto.cc: In member function ‘int
> ncrypto::BignumPointer::isPrime(int, PrimeCheckCallback) const’:
> | ../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]
> | 330 | return BN_is_prime_ex(get(), nchecks, ctx.get(), cb.get());
> | | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> | In file included from ../deps/ncrypto/ncrypto.h:4:
> | /usr/include/openssl/bn.h:379:5: note: declared here
> | 379 | int BN_is_prime_ex(const BIGNUM *p, int nchecks, BN_CTX *ctx,
> BN_GENCB *cb);
> | | ^~~~~~~~~~~~~~
> | ../deps/ncrypto/ncrypto.cc: In function ‘bool
> ncrypto::{anonymous}::PrintGeneralName(const ncrypto::BIOPointer&, const
> GENERAL_NAME*)’:
> | ../deps/ncrypto/ncrypto.cc:646:57: error: invalid use of incomplete type
> ‘ASN1_IA5STRING’ {aka ‘struct asn1_string_st’}
> | 646 | PrintAltName(out, reinterpret_cast<const char*>(name->data),
> name->length);
> | | ^~
> | In file included from /usr/include/openssl/crypto.h:38,
> | from /usr/include/openssl/bio.h:32,
> | from ../deps/ncrypto/ncrypto.h:3:
> | /usr/include/openssl/types.h:57:16: note: forward declaration of
> ‘ASN1_IA5STRING’ {aka ‘struct asn1_string_st’}
> | 57 | typedef struct asn1_string_st ASN1_INTEGER;
> | | ^~~~~~~~~~~~~~
> | ../deps/ncrypto/ncrypto.cc:646:70: error: invalid use of incomplete type
> ‘ASN1_IA5STRING’ {aka ‘struct asn1_string_st’}
> | 646 | PrintAltName(out, reinterpret_cast<const char*>(name->data),
> name->length);
> | |
> ^~
> | /usr/include/openssl/types.h:57:16: note: forward declaration of
> ‘ASN1_IA5STRING’ {aka ‘struct asn1_string_st’}
> | 57 | typedef struct asn1_string_st ASN1_INTEGER;
> | | ^~~~~~~~~~~~~~
> | ../deps/ncrypto/ncrypto.cc:650:57: error: invalid use of incomplete type
> ‘ASN1_IA5STRING’ {aka ‘struct asn1_string_st’}
> | 650 | PrintAltName(out, reinterpret_cast<const char*>(name->data),
> name->length);
> | | ^~
> | /usr/include/openssl/types.h:57:16: note: forward declaration of
> ‘ASN1_IA5STRING’ {aka ‘struct asn1_string_st’}
> | 57 | typedef struct asn1_string_st ASN1_INTEGER;
> | | ^~~~~~~~~~~~~~
> | ../deps/ncrypto/ncrypto.cc:650:70: error: invalid use of incomplete type
> ‘ASN1_IA5STRING’ {aka ‘struct asn1_string_st’}
> | 650 | PrintAltName(out, reinterpret_cast<const char*>(name->data),
> name->length);
> | |
> ^~
> | /usr/include/openssl/types.h:57:16: note: forward declaration of
> ‘ASN1_IA5STRING’ {aka ‘struct asn1_string_st’}
> | 57 | typedef struct asn1_string_st ASN1_INTEGER;
> | | ^~~~~~~~~~~~~~
> | ../deps/ncrypto/ncrypto.cc:658:57: error: invalid use of incomplete type
> ‘ASN1_IA5STRING’ {aka ‘struct asn1_string_st’}
> | 658 | PrintAltName(out, reinterpret_cast<const char*>(name->data),
> name->length);
> | | ^~
> | /usr/include/openssl/types.h:57:16: note: forward declaration of
> ‘ASN1_IA5STRING’ {aka ‘struct asn1_string_st’}
> | 57 | typedef struct asn1_string_st ASN1_INTEGER;
> | | ^~~~~~~~~~~~~~
> | ../deps/ncrypto/ncrypto.cc:658:70: error: invalid use of incomplete type
> ‘ASN1_IA5STRING’ {aka ‘struct asn1_string_st’}
> | 658 | PrintAltName(out, reinterpret_cast<const char*>(name->data),
> name->length);
> | |
> ^~
> | /usr/include/openssl/types.h:57:16: note: forward declaration of
> ‘ASN1_IA5STRING’ {aka ‘struct asn1_string_st’}
> | 57 | typedef struct asn1_string_st ASN1_INTEGER;
> | | ^~~~~~~~~~~~~~
> | ../deps/ncrypto/ncrypto.cc:691:32: error: invalid use of incomplete type
> ‘const ASN1_OCTET_STRING’ {aka ‘const struct asn1_string_st’}
> | 691 | const unsigned char* b = ip->data;
> | | ^~
> | /usr/include/openssl/types.h:57:16: note: forward declaration of
> ‘ASN1_OCTET_STRING’ {aka ‘struct asn1_string_st’}
> | 57 | typedef struct asn1_string_st ASN1_INTEGER;
> | | ^~~~~~~~~~~~~~
> | ../deps/ncrypto/ncrypto.cc:692:11: error: invalid use of incomplete type
> ‘const ASN1_OCTET_STRING’ {aka ‘const struct asn1_string_st’}
> | 692 | if (ip->length == 4) {
> | | ^~
> | /usr/include/openssl/types.h:57:16: note: forward declaration of
> ‘ASN1_OCTET_STRING’ {aka ‘struct asn1_string_st’}
> | 57 | typedef struct asn1_string_st ASN1_INTEGER;
> | | ^~~~~~~~~~~~~~
> | ../deps/ncrypto/ncrypto.cc:694:18: error: invalid use of incomplete type
> ‘const ASN1_OCTET_STRING’ {aka ‘const struct asn1_string_st’}
> | 694 | } else if (ip->length == 16) {
> | | ^~
> | /usr/include/openssl/types.h:57:16: note: forward declaration of
> ‘ASN1_OCTET_STRING’ {aka ‘struct asn1_string_st’}
> | 57 | typedef struct asn1_string_st ASN1_INTEGER;
> | | ^~~~~~~~~~~~~~
> | ../deps/ncrypto/ncrypto.cc:701:54: error: invalid use of incomplete type
> ‘const ASN1_OCTET_STRING’ {aka ‘const struct asn1_string_st’}
> | 701 | BIO_printf(out.get(), "<invalid length=%d>", ip->length);
> | | ^~
> | /usr/include/openssl/types.h:57:16: note: forward declaration of
> ‘ASN1_OCTET_STRING’ {aka ‘struct asn1_string_st’}
> | 57 | typedef struct asn1_string_st ASN1_INTEGER;
> | | ^~~~~~~~~~~~~~
> | ../deps/ncrypto/ncrypto.cc:751:56: error: invalid use of incomplete type
> ‘struct asn1_string_st’
> | 751 | reinterpret_cast<const char*>(name->data),
> | | ^~
> | /usr/include/openssl/types.h:57:16: note: forward declaration of
> ‘struct asn1_string_st’
> | 57 | typedef struct asn1_string_st ASN1_INTEGER;
> | | ^~~~~~~~~~~~~~
> | ../deps/ncrypto/ncrypto.cc:752:26: error: invalid use of incomplete type
> ‘struct asn1_string_st’
> | 752 | name->length,
> | | ^~
> | /usr/include/openssl/types.h:57:16: note: forward declaration of
> ‘struct asn1_string_st’
> | 57 | typedef struct asn1_string_st ASN1_INTEGER;
> | | ^~~~~~~~~~~~~~
> | ../deps/ncrypto/ncrypto.cc:758:56: error: invalid use of incomplete type
> ‘struct asn1_string_st’
> | 758 | reinterpret_cast<const char*>(name->data),
> | | ^~
> | /usr/include/openssl/types.h:57:16: note: forward declaration of
> ‘struct asn1_string_st’
> | 57 | typedef struct asn1_string_st ASN1_INTEGER;
> | | ^~~~~~~~~~~~~~
> | ../deps/ncrypto/ncrypto.cc:759:26: error: invalid use of incomplete type
> ‘struct asn1_string_st’
> | 759 | name->length,
> | | ^~
> | /usr/include/openssl/types.h:57:16: note: forward declaration of
> ‘struct asn1_string_st’
> | 57 | typedef struct asn1_string_st ASN1_INTEGER;
> | | ^~~~~~~~~~~~~~
> | ../deps/ncrypto/ncrypto.cc: In function ‘bool
> ncrypto::SafeX509SubjectAltNamePrint(const BIOPointer&, X509_EXTENSION*)’:
> | ../deps/ncrypto/ncrypto.cc:781:8: warning: unused variable ‘ret’
> [-Wunused-variable]
> | 781 | auto ret = OBJ_obj2nid(X509_EXTENSION_get_object(ext));
> | | ^~~
> | ../deps/ncrypto/ncrypto.cc: In function ‘bool
> ncrypto::SafeX509InfoAccessPrint(const BIOPointer&, X509_EXTENSION*)’:
> | ../deps/ncrypto/ncrypto.cc:804:8: warning: unused variable ‘ret’
> [-Wunused-variable]
> | 804 | auto ret = OBJ_obj2nid(X509_EXTENSION_get_object(ext));
> | | ^~~
> | ../deps/ncrypto/ncrypto.cc: In member function ‘ncrypto::BIOPointer
> ncrypto::X509View::getSubjectAltName() const’:
> | ../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]
> | 903 | !SafeX509SubjectAltNamePrint(bio, X509_get_ext(cert_,
> index))) {
> | |
> ~~~~~~~~~~~~^~~~~~~~~~~~~~
> | | |
> | | const
> X509_EXTENSION* {aka const X509_extension_st*}
> | ../deps/ncrypto/ncrypto.cc:780:73: note: initializing argument 2 of
> ‘bool ncrypto::SafeX509SubjectAltNamePrint(const BIOPointer&,
> X509_EXTENSION*)’
> | 780 | bool SafeX509SubjectAltNamePrint(const BIOPointer& out,
> X509_EXTENSION* ext) {
> | |
> ~~~~~~~~~~~~~~~~^~~
> | ../deps/ncrypto/ncrypto.cc: In member function ‘ncrypto::BIOPointer
> ncrypto::X509View::getInfoAccess() const’:
> | ../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]
> | 929 | if (!SafeX509InfoAccessPrint(bio, X509_get_ext(cert_, index)))
> {
> | | ~~~~~~~~~~~~^~~~~~~~~~~~~~
> | | |
> | | const
> X509_EXTENSION* {aka const X509_extension_st*}
> …
>
> Full buildlog
>
> https://breakpoint.cc/openssl-rebuild/logs-4/attempted/nodejs_22.22.2+dfsg+~cs22.19.15-3_amd64-2026-04-19T10:58:58Z
>
> Sebastian
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://alioth-lists.debian.net/pipermail/pkg-javascript-devel/attachments/20260530/bd0e0d79/attachment.htm>
More information about the Pkg-javascript-devel
mailing list