Created attachment 860634 [details] errors.log this is with latest =sys-devel/gcc-13.0.1_pre20230421 on amd64, I had to attach all errors in one textfile because it exceeded the bugzilla limit for postings. So please see the attached file for all errors, here are a few samples: /usr/lib/gcc/x86_64-pc-linux-gnu/13/include/g++-v13/type_traits:1417:30: error: invalid use of incomplete type ‘class v8::internal::Cell’ [-fpermissive] ../deps/v8/src/codegen/tnode.h:262:72: error: ‘value’ is not a member of ‘std::is_convertible<v8::internal::Cell, v8::internal::Object>’ /usr/lib/gcc/x86_64-pc-linux-gnu/13/include/g++-v13/type_traits:1417:30: error: invalid use of incomplete type ‘class v8::internal::Cell’ [-fpermissive] ‘v8::internal::AsyncFunctionBuiltinsAssembler::LoadObjectField<v8::internal::JSPromise>(v8::internal::TNode<v8::internal::JSAsyncFunctionObject>&, const int&)’ ../deps/v8/src/codegen/tnode.h:262:72: error: ‘value’ is not a member of ‘std::is_convertible<v8::internal::JSGeneratorObject, v8::internal::Object>’ /usr/lib/gcc/x86_64-pc-linux-gnu/13/include/g++-v13/type_traits:1417:30: error: invalid use of incomplete type ‘class v8::internal::JSPromise’ [-fpermissive] ../deps/v8/src/codegen/tnode.h:262:72: error: ‘value’ is not a member of ‘std::is_convertible<v8::internal::JSPromise, v8::internal::Object>’ ../deps/v8/src/builtins/builtins-async-function-gen.cc:119:25: error: no matching function for call to ‘v8::internal::AsyncFunctionEnterAssembler::StoreMapNoWriteBarrier(v8::internal::TNode<v8::internal::JSPromise>&, v8::internal::TNode<v8::internal::Map>&)’ ../deps/v8/src/builtins/builtins-async-function-gen.cc:120:24: error: cannot convert ‘TNode<v8::internal::JSPromise>’ to ‘TNode<v8::internal::HeapObject>’ ../deps/v8/src/builtins/builtins-async-function-gen.cc:122:24: error: cannot convert ‘TNode<v8::internal::JSPromise>’ to ‘TNode<v8::internal::HeapObject>’ ../deps/v8/src/builtins/builtins-async-function-gen.cc:185:56: error: no matching function for call to ‘v8::internal::AsyncFunctionRejectAssembler::LoadObjectField<v8::internal::JSPromise>(v8::internal::TNode<v8::internal::JSAsyncFunctionObject>&, const int&)’ ../deps/v8/src/codegen/code-stub-assembler.h:1168:39: error: no type named ‘type’ in ‘struct std::enable_if<false, int>’ ../deps/v8/src/codegen/code-stub-assembler.h:1174:39: error: no type named ‘type’ in ‘struct std::enable_if<false, int>’ ../deps/v8/src/codegen/code-stub-assembler.h:1190:39: error: no type named ‘type’ in ‘struct std::enable_if<false, int>’ /usr/lib/gcc/x86_64-pc-linux-gnu/13/include/g++-v13/type_traits:1417:30: error: invalid use of incomplete type ‘class v8::internal::Cell’ [-fpermissive] ../deps/v8/src/codegen/tnode.h:262:72: error: ‘value’ is not a member of ‘std::is_convertible<v8::internal::Cell, v8::internal::Object>’ ../deps/v8/src/builtins/builtins-async-function-gen.cc:197:9: error: no matching function for call to ‘v8::internal::AsyncFunctionRejectAssembler::Return(v8::internal::TNode<v8::internal::JSPromise>&)’ ../deps/v8/src/codegen/tnode.h:262:72: error: ‘value’ is not a member of ‘std::is_convertible<v8::internal::JSGeneratorObject, v8::internal::Object>’ ../deps/v8/src/builtins/builtins-async-generator-gen.cc:28:32: error: no matching function for call to ‘v8::internal::{anonymous}::AsyncGeneratorBuiltinsAssembler::LoadObjectField<v8::internal::Smi>(const v8::internal::TNode<v8::internal::JSGeneratorObject>&, const int&)’ ../deps/v8/src/codegen/tnode.h:262:72: error: ‘value’ is not a member of ‘std::is_convertible<v8::internal::JSPromise, v8::internal::Object>’ ../deps/v8/src/codegen/tnode.h:262:72: error: ‘value’ is not a member of ‘std::is_convertible<v8::internal::JSPromise, v8::internal::Object>’ ../deps/v8/src/builtins/builtins-async-generator-gen.cc:544:9: error: no matching function for call to ‘v8::internal::AsyncGeneratorResolveAssembler::Return(const v8::internal::TNode<v8::internal::JSPromise>&)’
Created attachment 860635 [details] compressed build log
Created attachment 860636 [details] output from emerge --info
Any idea if newer nodejs is ok?
emerge -pv =nodejs-14.21.3 These are the packages that would be merged, in order: Calculating dependencies... done! Dependency resolution took 2.50 s. [ebuild R ] net-libs/nodejs-14.21.3:0/14::gentoo USE="ssl system-ssl -debug -doc -icu -inspector -lto -npm -pax-kernel -snapshot -system-icu -systemtap -test" CPU_FLAGS_X86="sse2" 0 KiB
Right, I'm asking about newer major versions.
I am not able to reproduce with that exact version of nodeJS. However my system uses OpenSSL 3.0 (nodeJS 16 handles this) so the build here is probably failing a bit earlier than on your side (GCC complains about FIPS_mode() not being in scope). Are you able to upgrade?
nodejs-{18.15.0,18.6.0,99999999} are affected as well.
[binary R ] net-libs/nodejs-18.16.0-1:0/18::gentoo USE="icu inspector npm snapshot ssl system-icu system-ssl -debug -doc -lto -pax-kernel -systemtap -test" CPU_FLAGS_X86="sse2" 0 KiB is OK for me. Is snapshot the distinguishing factor or something else?
[binary R ] net-libs/nodejs-18.16.0-2:0/18::gentoo USE="icu inspector lto npm snapshot ssl system-icu system-ssl -debug -doc -pax-kernel -systemtap -test" CPU_FLAGS_X86="sse2" 0 KiB same here (just built that package, and apparently I had built it once before based on that -2, most likely also with GCC 13)
I don't see any patches in fedora or opensuse for this and both of them are using gcc 13. I don't get why me nor Arsen can't repro this yet.
(In reply to Stephan Hartmann from comment #7) > nodejs-{18.15.0,18.6.0,99999999} are affected as well. would you mind to share the logs and emerge -pv with us?
there are significant less errors with the gcc-13 v8 patch (chromium-112-gcc-13-0023-gcc-incomplete-type-v8-subtype.patch) from latest chromium-112-gcc-13 patchset: ../deps/v8/src/codegen/tnode.h:261:12: error: ‘disjunction’ is not a member of ‘std’ ../deps/v8/src/codegen/tnode.h:261:45: error: expected primary-expression before ‘,’ token ../deps/v8/src/codegen/tnode.h:262:24: error: invalid use of ‘::’ ../deps/v8/src/codegen/tnode.h:262:29: error: expected ‘;’ at end of member declaration ../deps/v8/src/codegen/tnode.h:262:40: error: expected unqualified-id before ‘<’ token ../deps/v8/src/codegen/tnode.h:261:12: error: ‘disjunction’ is not a member of ‘std’ ../deps/v8/src/codegen/tnode.h:261:45: error: expected primary-expression before ‘,’ token ../deps/v8/src/codegen/tnode.h:262:24: error: invalid use of ‘::’ ../deps/v8/src/codegen/tnode.h:262:29: error: expected ‘;’ at end of member declaration ../deps/v8/src/codegen/tnode.h:262:40: error: expected unqualified-id before ‘<’ token ../deps/v8/src/codegen/tnode.h:261:12: error: ‘disjunction’ is not a member of ‘std’ ../deps/v8/src/codegen/tnode.h:261:45: error: expected primary-expression before ‘,’ token ../deps/v8/src/codegen/tnode.h:262:24: error: invalid use of ‘::’ ../deps/v8/src/codegen/tnode.h:262:29: error: expected ‘;’ at end of member declaration ../deps/v8/src/codegen/tnode.h:262:40: error: expected unqualified-id before ‘<’ token ../deps/v8/src/codegen/tnode.h:261:12: error: ‘disjunction’ is not a member of ‘std’ ../deps/v8/src/codegen/tnode.h:261:45: error: expected primary-expression before ‘,’ token ../deps/v8/src/codegen/tnode.h:262:24: error: invalid use of ‘::’ ../deps/v8/src/codegen/tnode.h:262:29: error: expected ‘;’ at end of member declaration ../deps/v8/src/codegen/tnode.h:262:40: error: expected unqualified-id before ‘<’ token ../deps/v8/src/codegen/tnode.h:261:12: error: ‘disjunction’ is not a member of ‘std’ ../deps/v8/src/codegen/tnode.h:261:45: error: expected primary-expression before ‘,’ token ../deps/v8/src/codegen/tnode.h:262:24: error: invalid use of ‘::’ ../deps/v8/src/codegen/tnode.h:262:29: error: expected ‘;’ at end of member declaration ../deps/v8/src/codegen/tnode.h:262:40: error: expected unqualified-id before ‘<’ token
FYI, nodejs 14.x.x is very close to end-of-life. I recommend moving to a newer version. See the following for more information: https://github.com/nodejs/release#release-schedule http://www.endoflife.date/nodejs
(In reply to tt_1 from comment #12) > there are significant less errors with the gcc-13 v8 patch > (chromium-112-gcc-13-0023-gcc-incomplete-type-v8-subtype.patch) from latest > chromium-112-gcc-13 patchset: > > ../deps/v8/src/codegen/tnode.h:261:12: error: ‘disjunction’ is not a member > of ‘std’ > ../deps/v8/src/codegen/tnode.h:261:45: error: expected primary-expression > before ‘,’ token > ../deps/v8/src/codegen/tnode.h:262:24: error: invalid use of ‘::’ > ../deps/v8/src/codegen/tnode.h:262:29: error: expected ‘;’ at end of member > declaration > ../deps/v8/src/codegen/tnode.h:262:40: error: expected unqualified-id before > ‘<’ token > ../deps/v8/src/codegen/tnode.h:261:12: error: ‘disjunction’ is not a member > of ‘std’ > ../deps/v8/src/codegen/tnode.h:261:45: error: expected primary-expression > before ‘,’ token > ../deps/v8/src/codegen/tnode.h:262:24: error: invalid use of ‘::’ > ../deps/v8/src/codegen/tnode.h:262:29: error: expected ‘;’ at end of member > declaration > ../deps/v8/src/codegen/tnode.h:262:40: error: expected unqualified-id before > ‘<’ token > ../deps/v8/src/codegen/tnode.h:261:12: error: ‘disjunction’ is not a member > of ‘std’ > ../deps/v8/src/codegen/tnode.h:261:45: error: expected primary-expression > before ‘,’ token > ../deps/v8/src/codegen/tnode.h:262:24: error: invalid use of ‘::’ > ../deps/v8/src/codegen/tnode.h:262:29: error: expected ‘;’ at end of member > declaration > ../deps/v8/src/codegen/tnode.h:262:40: error: expected unqualified-id before > ‘<’ token > ../deps/v8/src/codegen/tnode.h:261:12: error: ‘disjunction’ is not a member > of ‘std’ > ../deps/v8/src/codegen/tnode.h:261:45: error: expected primary-expression > before ‘,’ token > ../deps/v8/src/codegen/tnode.h:262:24: error: invalid use of ‘::’ > ../deps/v8/src/codegen/tnode.h:262:29: error: expected ‘;’ at end of member > declaration > ../deps/v8/src/codegen/tnode.h:262:40: error: expected unqualified-id before > ‘<’ token > ../deps/v8/src/codegen/tnode.h:261:12: error: ‘disjunction’ is not a member > of ‘std’ > ../deps/v8/src/codegen/tnode.h:261:45: error: expected primary-expression > before ‘,’ token > ../deps/v8/src/codegen/tnode.h:262:24: error: invalid use of ‘::’ > ../deps/v8/src/codegen/tnode.h:262:29: error: expected ‘;’ at end of member > declaration > ../deps/v8/src/codegen/tnode.h:262:40: error: expected unqualified-id before > ‘<’ token Missing #include <type_traits>?
The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=35bb41a62e67f0c3f1dd98085de6667867152467 commit 35bb41a62e67f0c3f1dd98085de6667867152467 Author: William Hubbs <williamh@gentoo.org> AuthorDate: 2023-04-27 02:21:45 +0000 Commit: William Hubbs <williamh@gentoo.org> CommitDate: 2023-04-27 02:26:01 +0000 net-libs/nodejs: fix gcc 13 compilation error Bug: https://bugs.gentoo.org/904878 Signed-off-by: William Hubbs <williamh@gentoo.org> net-libs/nodejs/nodejs-16.20.0.ebuild | 4 ++++ net-libs/nodejs/nodejs-18.16.0.ebuild | 4 ++++ 2 files changed, 8 insertions(+)
Hi, please test with 16.x, 18.x and 20.x. Report back and let me know if those versions compile. Thanks, William
The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=55d41af70c102c202b46f8568ab0b6c06da4b2f2 commit 55d41af70c102c202b46f8568ab0b6c06da4b2f2 Author: William Hubbs <williamh@gentoo.org> AuthorDate: 2023-05-05 15:14:20 +0000 Commit: William Hubbs <williamh@gentoo.org> CommitDate: 2023-05-05 15:16:14 +0000 net-libs/nodejs: drop 14.21.3 Closes: https://bugs.gentoo.org/904878 Signed-off-by: William Hubbs <williamh@gentoo.org> net-libs/nodejs/Manifest | 1 - .../nodejs/files/nodejs-13.8.0-paxmarking.patch | 111 ---------- .../files/nodejs-14.15.0-fix_ppc64_crashes.patch | 33 --- .../files/nodejs-14.19.0-global-npm-config.patch | 20 -- net-libs/nodejs/files/nodejs-gcc-13.patch | 27 --- net-libs/nodejs/nodejs-14.21.3.ebuild | 240 --------------------- 6 files changed, 432 deletions(-)