-
Notifications
You must be signed in to change notification settings - Fork 71
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Build failure on most Linux systems #77
Comments
I've made some progress by adding: diff --git a/deps/v8/src/base/compiler-specific.h b/deps/v8/src/base/compiler-specific.h
index c4c7d2a78c..cea38d6937 100644
--- a/deps/v8/src/base/compiler-specific.h
+++ b/deps/v8/src/base/compiler-specific.h
@@ -94,7 +94,8 @@
// Allowing the use of noexcept by removing the keyword on older compilers that
// do not support adding noexcept to default members.
-#if ((V8_GNUC_PREREQ(4, 9, 0) && !defined(V8_TARGET_ARCH_MIPS) && \
+#if (__cpp_exceptions && \
+ (V8_GNUC_PREREQ(4, 9, 0) && !defined(V8_TARGET_ARCH_MIPS) && \
!defined(V8_TARGET_ARCH_MIPS64) && !defined(V8_TARGET_ARCH_PPC) && \
!defined(V8_TARGET_ARCH_PPC64)) || \
(defined(__clang__) && __cplusplus > 201300L)) since we run with |
@refack sure, but you don't need to. You can start |
Well it's compiling, so https://chromium-review.googlesource.com/c/v8/v8/+/1215222 |
Hi, I tried to reproduce this issue but it compiles on my machine. |
It's not a gcc bug. It related to the function's exception specification that is generated for default members. If gcc decides to generate a default member without noexcept and we specify this member as noexcept the specification does not longer match. Therefore, we get an error. |
@vulder thank for reviewing this. I'll try to supply as much info on the platforms where this fails:
toolset:
The command line is:
|
thx for the Infos: I see that you have gcc-5 installed and not 6 but before mentioned 6, does it work for you on 6 or do you get the same error? |
Did you try building I picked one machine that failed, I'm not sure we have GCC 6 in our CI mix, and ATM our CI server is vvveerrryyy slow https://ci.nodejs.org/job/node-test-commit-linux/21235. For easier repro I've pre-processed the file: Locally with GCC7 on the pre-processed file I get:
|
I'm the one who mentioned GCC 6. It was because one of the failing CI run was on |
thanks, the file helped. It's what I expected. |
Ok, sadly my first idea did not work -.- foo.cpp is just a smaller test that hopefully triggers the behavior. |
Your preprocessed file compiles, P.S. this is GCC 5 (on our CI cluster). Locally with GCC7 it works.
|
Landed upstream as https://chromium-review.googlesource.com/c/v8/v8/+/1219632 (by @vulder) |
There seems to be something in V8's code that GCC 6 can't handle.
@nodejs/v8-update
CI run: https://ci.nodejs.org/job/node-test-commit-node-v8/98/
Error output:
The text was updated successfully, but these errors were encountered: