You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Ninja not deployed to s390x and ppcle machines #1205
We've been working to get GN for PPC and s390x included in the google dev_tools but I see we've not made it in time to avoid problems.
I think for now we can install temporarily on the machines themselves.
Depending on how long we think getting them into dev_tools is going to take we may want to update the ansible scripts to build/install them, but I'd prefer they are pulled from the dev_tools like other platforms as that validates that v8 can be built more generally.
If it's just ninja I'd manually build it so that nodejs/node#19201 is unblocked. IMHO landing that and getting it tested will be very beneficial.
Any strong objections?
P.S. AFAICT it's also missing for ppc64le (is the deprecation complete?)
We had pre-built binaries that we had used for earlier testing, but they have glibc dependencies that prevent them from running on the community CI machines.
We are currently working on building on the CI machines as a temporary work around.
So we added gn and ninja binaries for PPC and there are still some issues as it is trying to use the x86 version of gn. @mmallick-ca will have a deeper look so that we can figure out how long we think it will take to fix it up.
We have built a set of gn/ninja binaries and used gn's command line options to generate the ninja files to build v8 on our test machines. Just need to try it out on the community machines and submit a pull-request for the changes that will be required in make-v8.sh. @mhdawson and I will be getting together upcoming Monday to try out the binaries and install some of the dependencies.
The s390x is now passing with medium term fix (adding pieces needed on build machine) until we get changes upstreamed. The same formula should would for PPC but we need to get some files and due to internal infra issue that may take a few days.
Is the goal to build node for s390/ppc with ninja, or also v8 with gn via --build-v8-with-gn?
For the latter we have a minor issue where ICU is built twice, once with the v8-monolith target, and once as part of node. If the ICU versions mismatch there are some funny crashes.
@hashseed, we are not doing any work on building node differently from the rest of the project.
All we want to get working here is that make test-v8 in the community CI passes again. This does build v8 with ninja from the v8 source in the node tree, but not node itself.
We have a medium term fix where @mhdawson has installed the appropriate gn/ninja binaries and other dependencies on the community machine. We are using a patch to make-v8.sh to invoke them appropriately. In the long term we have to teach v8-gen.py to generate the appropriate gn command. But for now this should enable v8 tests to run.
Last thing I should cover before closing this out is adding to the doc how to restore the files if necessary. We could add to ansible but not 100% sure its worth doing that since it is temporary. @gdams can you add considering that to your todo list?
@seishun, we still have a long way to go before gn is supported on our platforms. As @mmallick-ca I've manually copied files/tools onto the our ci machines and we dynamically patch make-v8 to make it run. We will work to contribute changes back to the google infra but that's likely to take quite a while.
If fixed the job to avoid trying to apply the patch on versions earlier that 10. Its required to build with gn.
It is in the package -> build-tools-ppc.tar.gz in www/ppc in the downloads served by the ci server. Same for s390. As metioned in #1205 (comment) we still have to doc that or add to ansible before closing this issue. I've asked @gdams to add to his todo list in the above comment.
Activity
MylesBorins commentedon Apr 3, 2018
Ping @nodejs/build @rvagg @mhdawson
This is blocking nodejs/node#19201
mmallick-ca commentedon Apr 3, 2018
We are looking into this, we will probably need a set of ansible scripts to pull and build from ninja source on these platforms.
MylesBorins commentedon Apr 3, 2018
mhdawson commentedon Apr 3, 2018
We've been working to get GN for PPC and s390x included in the google dev_tools but I see we've not made it in time to avoid problems.
I think for now we can install temporarily on the machines themselves.
Depending on how long we think getting them into dev_tools is going to take we may want to update the ansible scripts to build/install them, but I'd prefer they are pulled from the dev_tools like other platforms as that validates that v8 can be built more generally.
MylesBorins commentedon Apr 3, 2018
/cc @nodejs/v8-update
refack commentedon Apr 3, 2018
If it's just
ninjaI'd manually build it so that nodejs/node#19201 is unblocked. IMHO landing that and getting it tested will be very beneficial.Any strong objections?
P.S. AFAICT it's also missing for
ppc64le(is the deprecation complete?)refack commentedon Apr 3, 2018
P.S. AFAICT
ninjais only required to smoke test V8 with it's own test suite. V8 can still be built with node's scaffolding RE: https://ci.nodejs.org/job/node-test-commit/17391/mhdawson commentedon Apr 3, 2018
Its more than that, we believe we need GN as well and we are working on compiling that now.
mhdawson commentedon Apr 3, 2018
ppc64le is NOT deprecated, it was only the be version which is not part of this job as I've already removed it.
mhdawson commentedon Apr 3, 2018
We had pre-built binaries that we had used for earlier testing, but they have glibc dependencies that prevent them from running on the community CI machines.
We are currently working on building on the CI machines as a temporary work around.
refack commentedon Apr 3, 2018
In that case I'm assuming
GN/ninjawill be needed forppcle-ubuntu1404as well... (hopefully that's also taken care of 🤞 )appending title
[-]Ninja not in path of s390x machine[/-][+]Ninja not deployed to s390x and ppcle machines[/+]mhdawson commentedon Apr 3, 2018
Yes working on it for both PPC and s390
mhdawson commentedon Apr 4, 2018
So we added gn and ninja binaries for PPC and there are still some issues as it is trying to use the x86 version of gn. @mmallick-ca will have a deeper look so that we can figure out how long we think it will take to fix it up.
MylesBorins commentedon May 24, 2018
AFAICT this is still broken, any eta @mhdawson ?
mmallick-ca commentedon May 25, 2018
We have built a set of gn/ninja binaries and used gn's command line options to generate the ninja files to build v8 on our test machines. Just need to try it out on the community machines and submit a pull-request for the changes that will be required in make-v8.sh. @mhdawson and I will be getting together upcoming Monday to try out the binaries and install some of the dependencies.
mhdawson commentedon May 29, 2018
The s390x is now passing with medium term fix (adding pieces needed on build machine) until we get changes upstreamed. The same formula should would for PPC but we need to get some files and due to internal infra issue that may take a few days.
hashseed commentedon May 29, 2018
Is the goal to build node for s390/ppc with ninja, or also v8 with gn via
--build-v8-with-gn?For the latter we have a minor issue where ICU is built twice, once with the v8-monolith target, and once as part of node. If the ICU versions mismatch there are some funny crashes.
mhdawson commentedon May 29, 2018
@hashseed, we are not doing any work on building node differently from the rest of the project.
All we want to get working here is that
make test-v8in the community CI passes again. This does build v8 with ninja from the v8 source in the node tree, but not node itself.mmallick-ca commentedon Jun 7, 2018
We have a medium term fix where @mhdawson has installed the appropriate gn/ninja binaries and other dependencies on the community machine. We are using a patch to make-v8.sh to invoke them appropriately. In the long term we have to teach v8-gen.py to generate the appropriate gn command. But for now this should enable v8 tests to run.
mhdawson commentedon Jun 7, 2018
Latest CI runs are green :) https://ci.nodejs.org/job/node-test-commit-v8-linux/
mhdawson commentedon Jun 7, 2018
Last thing I should cover before closing this out is adding to the doc how to restore the files if necessary. We could add to ansible but not 100% sure its worth doing that since it is temporary. @gdams can you add considering that to your todo list?
seishun commentedon Jun 7, 2018
If gn now works on all supported platforms, is there a reason to continue building V8 with Gyp?
mhdawson commentedon Jun 7, 2018
@seishun, we still have a long way to go before gn is supported on our platforms. As @mmallick-ca I've manually copied files/tools onto the our ci machines and we dynamically patch make-v8 to make it run. We will work to contribute changes back to the google infra but that's likely to take quite a while.
refack commentedon Jun 18, 2018
Found this on
test-osuosl-ubuntu1404-ppc64--le-1is it tracked anywhere?
Also seems to fails the linux s390x - https://ci.nodejs.org/job/node-test-commit-v8-linux/nodes=rhel72-s390x,v8test=v8test/1442/console
mhdawson commentedon Jun 19, 2018
If fixed the job to avoid trying to apply the patch on versions earlier that 10. Its required to build with gn.
It is in the package -> build-tools-ppc.tar.gz in www/ppc in the downloads served by the ci server. Same for s390. As metioned in #1205 (comment) we still have to doc that or add to ansible before closing this issue. I've asked @gdams to add to his todo list in the above comment.
MylesBorins commentedon Nov 20, 2018
is this fixed?
mhdawson commentedon Nov 20, 2018
I believe this is resolved in the context of the original problem. Closing. Please re-open if that is not the right thing to do.