[Pkg-javascript-devel] Bug#1097473: nodejs: ftbfs with GCC-15

Matthias Klose doko at debian.org
Mon Feb 17 17:40:09 GMT 2025


Package: src:nodejs
Version: 20.18.3+dfsg-1
Severity: important
Tags: sid forky
User: debian-gcc at lists.debian.org
Usertags: ftbfs-gcc-15

[This bug is NOT targeted to the upcoming trixie release]

Please keep this issue open in the bug tracker for the package it
was filed for.  If a fix in another package is required, please
file a bug for the other package (or clone), and add a block in this
package. Please keep the issue open until the package can be built in
a follow-up test rebuild.

The package fails to build in a test rebuild on at least amd64 with
gcc-15/g++-15, but succeeds to build with gcc-14/g++-14. The
severity of this report will be raised before the forky release.

The full build log can be found at:
http://qa-logs.debian.net/2025/02/16/amd64exp/nodejs_20.18.3+dfsg-1_unstable_gccexp.log.gz
The last lines of the build log are at the end of this report.

To build with GCC 15, either set CC=gcc-15 CXX=g++-15 explicitly,
or install the gcc, g++, gfortran, ... packages from experimental.

  apt-get -t=experimental install g++ 

GCC 15 now defaults to the C23/C++23 standards, exposing many FTBFS.
Other Common build failures are new warnings resulting in build failures
with -Werror turned on, or new/dropped symbols in Debian symbols files.
For other C/C++ related build failures see the porting guide at
http://gcc.gnu.org/gcc-15/porting_to.html

[...]
      |                                               ^~~~~~~~~~~~~~~~~~~~
../src/crypto/crypto_common.cc: In function ‘v8::MaybeLocal<v8::Object> node::crypto::{anonymous}::GetPubKey(node::Environment*, const RSA*)’:
../src/crypto/crypto_common.cc:451:28: warning: ‘int i2d_RSA_PUBKEY(const RSA*, unsigned char**)’ is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
  451 |   int size = i2d_RSA_PUBKEY(rsa, nullptr);
      |              ~~~~~~~~~~~~~~^~~~~~~~~~~~~~
In file included from /usr/include/openssl/objects.h:21,
                 from /usr/include/openssl/evp.h:44,
                 from ../src/env.h:53:
/usr/include/openssl/x509.h:730:1: note: declared here
  730 | DECLARE_ASN1_ENCODE_FUNCTIONS_only_attr(OSSL_DEPRECATEDIN_3_0,RSA, RSA_PUBKEY)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/crypto/crypto_common.cc:461:26: warning: ‘int i2d_RSA_PUBKEY(const RSA*, unsigned char**)’ is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
  461 |   CHECK_GE(i2d_RSA_PUBKEY(rsa, &serialized), 0);
      |            ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~
../src/util.h:160:44: note: in definition of macro ‘UNLIKELY’
  160 | #define UNLIKELY(expr) __builtin_expect(!!(expr), 0)
      |                                            ^~~~
../src/util.h:183:24: note: in expansion of macro ‘CHECK’
  183 | #define CHECK_GE(a, b) CHECK((a) >= (b))
      |                        ^~~~~
../src/crypto/crypto_common.cc:461:3: note: in expansion of macro ‘CHECK_GE’
  461 |   CHECK_GE(i2d_RSA_PUBKEY(rsa, &serialized), 0);
      |   ^~~~~~~~
/usr/include/openssl/x509.h:730:1: note: declared here
  730 | DECLARE_ASN1_ENCODE_FUNCTIONS_only_attr(OSSL_DEPRECATEDIN_3_0,RSA, RSA_PUBKEY)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/crypto/crypto_common.cc: In function ‘v8::MaybeLocal<v8::Object> node::crypto::GetEphemeralKey(node::Environment*, const SSLPointer&)’:
../src/crypto/crypto_common.cc:1122:56: warning: ‘const ec_key_st* EVP_PKEY_get0_EC_KEY(const EVP_PKEY*)’ is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
 1122 |           OSSL3_CONST EC_KEY* ec = EVP_PKEY_get0_EC_KEY(key.get());
      |                                    ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~
/usr/include/openssl/evp.h:1389:25: note: declared here
 1389 | const struct ec_key_st *EVP_PKEY_get0_EC_KEY(const EVP_PKEY *pkey);
      |                         ^~~~~~~~~~~~~~~~~~~~
../src/crypto/crypto_common.cc:1123:62: warning: ‘const EC_GROUP* EC_KEY_get0_group(const EC_KEY*)’ is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
 1123 |           int nid = EC_GROUP_get_curve_name(EC_KEY_get0_group(ec));
      |                                             ~~~~~~~~~~~~~~~~~^~~~
/usr/include/openssl/ec.h:1053:39: note: declared here
 1053 | OSSL_DEPRECATEDIN_3_0 const EC_GROUP *EC_KEY_get0_group(const EC_KEY *key);
      |                                       ^~~~~~~~~~~~~~~~~
../src/crypto/crypto_common.cc: In function ‘v8::MaybeLocal<v8::Object> node::crypto::X509ToObject(node::Environment*, X509*)’:
../src/crypto/crypto_common.cc:1288:32: warning: ‘const rsa_st* EVP_PKEY_get0_RSA(const EVP_PKEY*)’ is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
 1288 |         rsa = EVP_PKEY_get0_RSA(pkey);
      |               ~~~~~~~~~~~~~~~~~^~~~~~
/usr/include/openssl/evp.h:1363:22: note: declared here
 1363 | const struct rsa_st *EVP_PKEY_get0_RSA(const EVP_PKEY *pkey);
      |                      ^~~~~~~~~~~~~~~~~
../src/crypto/crypto_common.cc:1291:34: warning: ‘const ec_key_st* EVP_PKEY_get0_EC_KEY(const EVP_PKEY*)’ is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
 1291 |         ec = EVP_PKEY_get0_EC_KEY(pkey);
      |              ~~~~~~~~~~~~~~~~~~~~^~~~~~
/usr/include/openssl/evp.h:1389:25: note: declared here
 1389 | const struct ec_key_st *EVP_PKEY_get0_EC_KEY(const EVP_PKEY *pkey);
      |                         ^~~~~~~~~~~~~~~~~~~~
../src/crypto/crypto_common.cc:1299:17: warning: ‘void RSA_get0_key(const RSA*, const BIGNUM**, const BIGNUM**, const BIGNUM**)’ is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
 1299 |     RSA_get0_key(rsa, &n, &e, nullptr);
      |     ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
/usr/include/openssl/rsa.h:228:28: note: declared here
  228 | OSSL_DEPRECATEDIN_3_0 void RSA_get0_key(const RSA *r,
      |                            ^~~~~~~~~~~~
../src/crypto/crypto_common.cc:1316:46: warning: ‘const EC_GROUP* EC_KEY_get0_group(const EC_KEY*)’ is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
 1316 |     const EC_GROUP* group = EC_KEY_get0_group(ec);
      |                             ~~~~~~~~~~~~~~~~~^~~~
/usr/include/openssl/ec.h:1053:39: note: declared here
 1053 | OSSL_DEPRECATEDIN_3_0 const EC_GROUP *EC_KEY_get0_group(const EC_KEY *key);
      |                                       ^~~~~~~~~~~~~~~~~
rm a02e9b53ab3fa6d2036c6a280a9c7ff7611f341a.intermediate 020b5562b4ba5761930274b01901bb877902b798.intermediate 64a554f7fd2d40c6e39ce15a8a06c0d7875b09fe.intermediate d67e7a98630b6386fd72571aa2c04898a1d30185.intermediate
make[1]: *** [Makefile:135: node] Error 2
make[1]: Leaving directory '/build/reproducible-path/nodejs-20.18.3+dfsg'
dh_auto_build: error: make -j8 returned exit code 2
make: *** [debian/rules:233: binary] Error 25
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2



More information about the Pkg-javascript-devel mailing list