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
Attempting to build 10.1.0 on ppc64 and ppc64le architectures results in a build failure. This failure was not present on 10.0.0.
My guess is that one of the assembler changes that came in between v8 6.6.346.27 and 6.6.346.24 broke something.
In file included from ../deps/v8/src/base/base-export.h:8:0,
from ../deps/v8/src/base/bits.h:11,
from ../deps/v8/src/ppc/macro-assembler-ppc.cc:10:
../deps/v8/src/ppc/macro-assembler-ppc.cc: In member function 'void v8::internal::TurboAssembler::Prologue()':
../deps/v8/src/ppc/macro-assembler-ppc.cc:853:15: error: expected primary-expression before '!=' token
DCHECK(base != no_reg);
^
../deps/v8/include/v8config.h:346:54: note: in definition of macro 'V8_UNLIKELY'
# define V8_UNLIKELY(condition) (__builtin_expect(!!(condition), 0))
^~~~~~~~~
../deps/v8/src/base/logging.h:63:27: note: in expansion of macro 'DCHECK_WITH_MSG'
#define DCHECK(condition) DCHECK_WITH_MSG(condition, #condition)
^~~~~~~~~~~~~~~
../deps/v8/src/ppc/macro-assembler-ppc.cc:853:3: note: in expansion of macro 'DCHECK'
DCHECK(base != no_reg);
^~~~~~
The other key question is which compiler level and binutils levels are you using? @jBarz would it be possible for you to find a fedora system to see if you can replicate with the required compiler level. Of note the compiler level requirement was increased for 10.x (actually it was increased for earlier release as well but we only move the community machines up for 10.x) but it may only be more recent levels of v8 that have introduced dependencies.
This specific one was run with GCC 8.1 and binutils 2.30.
I can't build v8 separately from Node.js at the moment as I don't have any build scripts for it that I can use for our buildsystem (since I don't have direct access to the builders for those arches).
For the time being, I've just disabled the debug build on our packages on those arches; it'll have only the release binary node and not our debug-enabled version node_g.
Ok, those compiler/binutils levels are higher than the ones used in the community so we'd expect it to be ok. Thinking about it more I see its only the debug one that is failing and we don't build that in the community.
@jBarz Yes, I've got someone working on getting you access to a public test machine. He will reply on this issue as soon as it's ready. Sorry for the delay.
Pong. This isn’t forgotten, but it’s taking me longer than anticipated to get you access to a machine. I’m out of the office today, but I’ll look into things tomorrow. Apologies on the delay.
@mhdawson@jBarz If you could please create a Fedora account at https://admin.fedoraproject.org/accounts and sign the FPCA then I can give you access to one of our test machines. Please reply (or direct email me at sgallagh (at) redhat (dot) com) with the account(s) you created and I'll have them added to the ACL for the machine.
(Note: the FPCA does not impact copyright ownership, it is just an assertion that if you make a contribution, you assert that you have the rights to make that contribution and that the contribution is being made under an acceptable open-source license).
@miladfarca thanks for the update :). I guess the next steps are potentially getting into V8 master if the problem still exists there as a pre-req for floating in Node.js.
@mhdawson no problem, master already includes these fixes, either with the exact code or a modified version past this branch, I have confirmed this by looking at the v8 master as well v8 in nodejs master. I have also built the latest nodejs on fedora/ppc64 and it builds with no errors.
I am going to work on backporting this fix to an abandoned branch of v8 in nodejs 10.1.0
Activity
addaleax commentedon May 9, 2018
This might have been “fixed” by v8/v8@7f90312 because that simply removes the DCHECK.
@nodejs/v8
sgallagher commentedon May 9, 2018
Yeah, that patch gets quite a bit further. However, it fails further on while trying to build the debugging node with:
(This failure also occurs on s390x)
bnoordhuis commentedon May 10, 2018
@nodejs/platform-ppc @nodejs/platform-s390
john-yan commentedon May 10, 2018
Hello, which v8 branch/hash are you using? Can V8 be built on your environment?
mhdawson commentedon May 11, 2018
The other key question is which compiler level and binutils levels are you using? @jBarz would it be possible for you to find a fedora system to see if you can replicate with the required compiler level. Of note the compiler level requirement was increased for 10.x (actually it was increased for earlier release as well but we only move the community machines up for 10.x) but it may only be more recent levels of v8 that have introduced dependencies.
sgallagher commentedon May 11, 2018
This specific one was run with GCC 8.1 and binutils 2.30.
I can't build v8 separately from Node.js at the moment as I don't have any build scripts for it that I can use for our buildsystem (since I don't have direct access to the builders for those arches).
@jBarz I can help you get access to https://fedoraproject.org/wiki/Test_Machine_Resources_For_Package_Maintainers for a PPC64 or PPC64le machine (I'll get one of them updated to F28 if that's the approach we want to go).
For the time being, I've just disabled the debug build on our packages on those arches; it'll have only the release binary
nodeand not our debug-enabled versionnode_g.mhdawson commentedon May 11, 2018
Ok, those compiler/binutils levels are higher than the ones used in the community so we'd expect it to be ok. Thinking about it more I see its only the debug one that is failing and we don't build that in the community.
jBarz commentedon May 14, 2018
@sgallagher Can we get access to a ppc64le fedora?
sgallagher commentedon May 15, 2018
@jBarz Yes, I've got someone working on getting you access to a public test machine. He will reply on this issue as soon as it's ready. Sorry for the delay.
mhdawson commentedon May 29, 2018
@sgallagher ping
sgallagher commentedon May 29, 2018
Pong. This isn’t forgotten, but it’s taking me longer than anticipated to get you access to a machine. I’m out of the office today, but I’ll look into things tomorrow. Apologies on the delay.
sgallagher commentedon May 29, 2018
@mhdawson @jBarz If you could please create a Fedora account at https://admin.fedoraproject.org/accounts and sign the FPCA then I can give you access to one of our test machines. Please reply (or direct email me at sgallagh (at) redhat (dot) com) with the account(s) you created and I'll have them added to the ACL for the machine.
(Note: the FPCA does not impact copyright ownership, it is just an assertion that if you make a contribution, you assert that you have the rights to make that contribution and that the contribution is being made under an acceptable open-source license).
mhdawson commentedon Jun 18, 2018
@jBarz any update on this?
18 remaining items
sgallagher commentedon Nov 26, 2018
@john-yan OK, once you have the SSH key uploaded, I'll get you access.
john-yan commentedon Nov 26, 2018
@sgallagher Thanks, Just uploaded ssh public key.
sgallagher commentedon Nov 26, 2018
@john-yan OK, you should now have access to any of the machines listed at https://fedoraproject.org/wiki/Test_Machine_Resources_For_Package_Maintainers#Available_Machines.2FInstances
john-yan commentedon Nov 26, 2018
@sgallagher Thanks, I will have a look.
mhdawson commentedon Dec 17, 2018
@john-yan any update?
miladfarca commentedon Jan 28, 2019
Applying 2 more patches to the above patches will fix the debug compiling, here is a diff:
mhdawson commentedon Jan 28, 2019
@miladfarca thanks for the update :). I guess the next steps are potentially getting into V8 master if the problem still exists there as a pre-req for floating in Node.js.
miladfarca commentedon Jan 29, 2019
@mhdawson no problem, master already includes these fixes, either with the exact code or a modified version past this branch, I have confirmed this by looking at the v8 master as well v8 in nodejs master. I have also built the latest nodejs on fedora/ppc64 and it builds with no errors.
I am going to work on backporting this fix to an abandoned branch of v8 in nodejs 10.1.0
miladfarca commentedon Feb 1, 2019
PR submitted for backport to v10.x
#25827
mhdawson commentedon Feb 1, 2019
@miladfarca thanks for the update and the PRs :)
miladfarca commentedon Feb 1, 2019
@mhdawson Not a problem.
mhdawson commentedon Mar 1, 2019
Looks like PR landed so we just need to wait for the next v10.x release :)
BethGriggs commentedon Mar 15, 2019
@sgallagher, #25827 landed and was released in v10.15.3, so I believe this is now fixed. Thanks @miladfarca
sgallagher commentedon Mar 15, 2019
I can confirm that this worked in my Fedora builds. Thanks!