-
Notifications
You must be signed in to change notification settings - Fork 29.8k
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
make test-v8
is broken on Node.js v8.x
#21433
Comments
This patch seems to fix it: diff --git a/deps/v8/gypfiles/standalone.gypi b/deps/v8/gypfiles/standalone.gypi
index 63930d8..d47e8c3 100644
--- a/deps/v8/gypfiles/standalone.gypi
+++ b/deps/v8/gypfiles/standalone.gypi
@@ -93,16 +93,16 @@
['OS=="linux" and use_sysroot==1', {
'conditions': [
['target_arch=="arm"', {
- 'sysroot%': '<!(cd <(DEPTH) && pwd -P)/build/linux/debian_jessie_arm-sysroot',
+ 'sysroot%': '<!(cd <(DEPTH) && pwd -P)/build/linux/debian_sid_arm-sysroot',
}],
['target_arch=="x64"', {
- 'sysroot%': '<!(cd <(DEPTH) && pwd -P)/build/linux/debian_jessie_amd64-sysroot',
+ 'sysroot%': '<!(cd <(DEPTH) && pwd -P)/build/linux/debian_sid_amd64-sysroot',
}],
['target_arch=="ia32"', {
- 'sysroot%': '<!(cd <(DEPTH) && pwd -P)/build/linux/debian_jessie_i386-sysroot',
+ 'sysroot%': '<!(cd <(DEPTH) && pwd -P)/build/linux/debian_sid_i386-sysroot',
}],
['target_arch=="mipsel"', {
- 'sysroot%': '<!(cd <(DEPTH) && pwd -P)/build/linux/debian_jessie_mips-sysroot',
+ 'sysroot%': '<!(cd <(DEPTH) && pwd -P)/build/linux/debian_sid_mips-sysroot',
}],
],
}], # OS=="linux" and use_sysroot==1 But I'm not sure if this is the right approach. |
This could have something to do with changes to chromium's build infrastructure, |
Yeah, that's what I thought. Although |
@hashseed can you comment or pull in somebody from google who can comment on what we should do? |
Or I guess @ofrobots maybe you can also find somebody at Google who can comment/help seems to be an issue with a change in the google setup/tooling |
@mmarchini as a short term fix we could update the job to apply your patch but I'd not want to to stay in place for too long. |
I'd rather wait for comments or submit a PR with the patch to nodejs/node, otherwise, this will be yet-another-patch hanging in the node-test-commit-v8-linux machines. |
@hashseed @natorion any thoughts on this question from @mhdawson: #21433 (comment) |
V8 and Chrome uses its own checkout of clang from gclient to build. Something must have changed there. A while ago I posted some instructions in the discussion starting here, and with some help was able to make it work reasonably well in the end. Maybe someone can use that to reimplement |
@hashseed, its still works for master and 10.x so going forward I think its ok, its just that what used to work for 8.x no longer does. |
@hashseed I copied the
However, as @mhdawson said, why did the old mechanism stop working for |
I honestly don't know. @mmarchini's fix may be correct. |
@hashseed do you know somebody in the google/chrome team that might be able to give us some confirmation that it's the right way to go? |
@mmarchini #21494 looks reasonable to me. |
On Node.js v8.x, gn will pass a sysroot parameter to clang to use a downloaded sysroot files while running `make test-v8`. Recently, chromium build tools switched to use Debian sid sysroot files instead of Debian jessie. This patch updates our V8 GYP files to conform with those changes. Ref: nodejs#21433 PR-URL: nodejs#21494 Refs: nodejs#21433 Reviewed-By: Ben Noordhuis <[email protected]> Reviewed-By: Ali Ijaz Sheikh <[email protected]> Reviewed-By: Richard Lau <[email protected]> Reviewed-By: Ujjwal Sharma <[email protected]> Reviewed-By: Matteo Collina <[email protected]> Reviewed-By: Michael Dawson <[email protected]>
On Node.js v8.x, gn will pass a sysroot parameter to clang to use a downloaded sysroot files while running `make test-v8`. Recently, chromium build tools switched to use Debian sid sysroot files instead of Debian jessie. This patch updates our V8 GYP files to conform with those changes. Ref: nodejs#21433 PR-URL: nodejs#21494 Refs: nodejs#21433 Reviewed-By: Ben Noordhuis <[email protected]> Reviewed-By: Ali Ijaz Sheikh <[email protected]> Reviewed-By: Richard Lau <[email protected]> Reviewed-By: Ujjwal Sharma <[email protected]> Reviewed-By: Matteo Collina <[email protected]> Reviewed-By: Michael Dawson <[email protected]>
On Node.js v8.x, gn will pass a sysroot parameter to clang to use a downloaded sysroot files while running `make test-v8`. Recently, chromium build tools switched to use Debian sid sysroot files instead of Debian jessie. This patch updates our V8 GYP files to conform with those changes. Ref: #21433 PR-URL: #21494 Refs: #21433 Reviewed-By: Ben Noordhuis <[email protected]> Reviewed-By: Ali Ijaz Sheikh <[email protected]> Reviewed-By: Richard Lau <[email protected]> Reviewed-By: Ujjwal Sharma <[email protected]> Reviewed-By: Matteo Collina <[email protected]> Reviewed-By: Michael Dawson <[email protected]>
#21494 has been merged. Should this be closed? @mmarchini @hashseed @ofrobots |
Yes. |
Ah wait. I mistook this as |
But AFAIK it works on our CI e.g. https://ci.nodejs.org/job/node-test-commit-v8-linux/1887/
|
So I'm going to close this, @mmarchini feel free to reopen if I'm wrong. |
make test-v8
is not working on Linux (x64) for any v8.x version. clang thinks standard libraries are "missing". From our V8 CI:What is actually happening: clang can't find any standard library because the flag
--sysroot
is set to/path/to/node/deps/v8/build/linux/debian_jessie_amd64-sysroot
when it should be set either unset or set to/path/to/node/deps/v8/build/linux/debian_sid_amd64-sysroot
. Since/path/to/node/deps/v8/build/linux/debian_jessie_amd64-sysroot
don't exist, clang can't find any standard library.I think the flag is being set on
./deps/v8/gypfiles/standalone.gypi
:I'm not sure why this just started to happen now, but it is blocking all V8 PRs to v8.x-staging.
Any help to solve this would be really appreciated.
/cc @targos @nodejs/v8 @nodejs/build-files
Ref: #21334
The text was updated successfully, but these errors were encountered: