Created attachment 698685 [details] build.log x86_64-pc-linux-gnu-g++ -o /var/tmp/portage/net-libs/nodejs-15.11.0/work/node-v15.11.0/out/Release/obj.target/v8_base_without_compiler/deps/v8/src/objects/js-list-format.o ../deps/v8/src/objects/js-list-format.cc '-DNODE_OPENSSL_CERT_STORE' '-DV8_GYP_BUILD' '-DV8_TYPED_ARRAY_MAX_SIZE_IN_HEAP=64' '-D__STDC_FORMAT_MACROS' '-DV8_TARGET_ARCH_X64' '-DV8_EMBEDDER_STRING="-node.27"' '-DENABLE_DISASSEMBLER' '-DV8_PROMISE_INTERNAL_FIELD_COUNT=1' '-DENABLE_MINOR_MC' '-DOBJECT_PRINT' '-DV8_INTL_SUPPORT' '-DV8_CONCURRENT_MARKING' '-DV8_ENABLE_LAZY_SOURCE_POSITIONS' '-DV8_USE_SIPHASH' '-DDISABLE_UNTRUSTED_CODE_MITIGATIONS' '-DV8_WIN64_UNWINDING_INFO' '-DV8_ENABLE_REGEXP_INTERPRETER_THREADED_DISPATCH' '-DV8_SNAPSHOT_COMPRESSION' '-DICU_UTIL_DATA_IMPL=ICU_UTIL_DATA_STATIC' -I../deps/v8 -I../deps/v8/include -I/var/tmp/portage/net-libs/nodejs-15.11.0/work/node-v15.11.0/out/Release/obj/gen/inspector-generated-output-root -I../deps/v8/third_party/inspector_protocol -I/var/tmp/portage/net-libs/nodejs-15.11.0/work/node-v15.11.0/out/Release/obj/gen/torque-output-root -I/var/tmp/portage/net-libs/nodejs-15.11.0/work/node-v15.11.0/out/Release/obj/gen/generate-bytecode-output-root -I../deps/v8/third_party/zlib -I../deps/v8/third_party/zlib/google -pthread -Wno-unused-parameter -m64 -Wno-return-type -fno-strict-aliasing -m64 -fno-omit-frame-pointer -fdata-sections -ffunction-sections -O3 -fno-rtti -fno-exceptions -std=gnu++1y -march=native -mtune=native -O2 -pipe -c ../deps/v8/src/objects/js-list-format.cc: In static member function ‘static v8::internal::MaybeHandle<v8::internal::JSListFormat> v8::internal::JSListFormat::New(v8::internal::Isolate*, v8::internal::Handle<v8::internal::Map>, v8::internal::Handle<v8::internal::Object>, v8::internal::Handle<v8::internal::Object>)’: ../deps/v8/src/objects/js-list-format.cc:146:67: error: ‘static icu::ListFormatter* icu::ListFormatter::createInstance(const icu::Locale&, const char*, UErrorCode&)’ is private within this context 146 | icu_locale, GetIcuStyleString(style_enum, type_enum), status); | ^ In file included from ../deps/v8/src/objects/js-list-format.cc:25: /usr/include/unicode/listformatter.h:267:27: note: declared private here 267 | static ListFormatter* createInstance(const Locale& locale, const char* style, UErrorCode& errorCode); | ^~~~~~~~~~~~~~ make: *** [tools/v8_gypfiles/v8_base_without_compiler.target.mk:709: /var/tmp/portage/net-libs/nodejs-15.11.0/work/node-v15.11.0/out/Release/obj.target/v8_base_without_compiler/deps/v8/src/objects/js-list-format.o] Error 1 rm 05f8594c41a8681962f62209a187149c43006593.intermediate 5d75a7287fc4f2c6b19ba11507a636496a81f891.intermediate make: Leaving directory '/var/tmp/portage/net-libs/nodejs-15.11.0/work/node-v15.11.0/out' sultan found a working fix at: https://chromium-review.googlesource.com/c/v8/v8/+/2477751
The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=75c8059bb0bc595deff3cadcc1195e1ffdf0f385 commit 75c8059bb0bc595deff3cadcc1195e1ffdf0f385 Author: Marek Szuba <marecki@gentoo.org> AuthorDate: 2021-04-20 17:17:14 +0000 Commit: Marek Szuba <marecki@gentoo.org> CommitDate: 2021-04-20 17:48:40 +0000 net-libs/nodejs: support dev-libs/icu-69.1 The version of V8 bundled with all versions of NodeJS currently in the tree calls ListFormatter::createInstance() in a way that is both marked as internal in icu-68 and absent from icu-69. Apply a fix originally developed from Chromium which switches to a style marked as stable since icu-67, meaning it works with both versions of dev-libs/icu currently in the tree (confirmed by building 12.22.1 against both, with USE=icu of course). Closes: https://bugs.gentoo.org/781287 Signed-off-by: Marek Szuba <marecki@gentoo.org> .../nodejs/files/nodejs-12.22.1-v8_icu69.patch | 85 ++++++++++++++++++++++ .../nodejs/files/nodejs-14.16.1-v8_icu69.patch | 84 +++++++++++++++++++++ net-libs/nodejs/nodejs-12.22.1.ebuild | 1 + net-libs/nodejs/nodejs-14.16.1.ebuild | 1 + net-libs/nodejs/nodejs-15.14.0.ebuild | 1 + 5 files changed, 172 insertions(+)