Public bug reported: Imported from Debian bug http://bugs.debian.org/1138323:
Package: nodejs Version: 22.22.2+dfsg+~cs22.19.15-3 Severity: normal Tags: sid control: affects -1 src:openssl User: [email protected] Usertags: openssl-4.0 OpenSSL 4.0 is in experimental. This package fails to build against it: | 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 ** Affects: nodejs (Ubuntu) Importance: Undecided Status: New ** Affects: nodejs (Debian) Importance: Undecided Status: New ** Bug watch added: Debian Bug tracker #1138323 https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1138323 ** Changed in: nodejs (Debian) Remote watch: None => Debian Bug tracker #1138323 -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/2154870 Title: nodejs: FTBFS with openssl 4.0 To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/nodejs/+bug/2154870/+subscriptions -- ubuntu-bugs mailing list [email protected] https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
