-
Notifications
You must be signed in to change notification settings - Fork 286
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
Failure to compile NodeJS LTS Boron 6.11 #664
Comments
maybe cc/ @nodejs/v8 @danbev |
@ArchangeGabriel what Arch level and compiler levels are you using? |
Also did you get the source by |
It’s the tarball from nodejs.org. Not sure what you mean by Arch level (x86_64 ?), but compiler is gcc 7.1.1. |
This sounds similar to nodejs/node#10388 then, although that's on master rather than Node 6. See nodejs/node#13517 as well. cc/ @bnoordhuis @targos @ArchangeGabriel can you try an earlier version of Node 6? It sounds like it's probably never worked with gcc 7. The workaround would be to use an earlier gcc, alternatively you could wait for a fix, but that'll take a while to get into LTS. |
OK, thank to asking me this, I’ve figured out that GCC 7 is responsible for this. I’ve tried compiling 6.10.3 again, and it failed. So the issue is compiling 6.x (and likely 4.x) with GCC 7. Full log for 6.10.3: https://gist.github.com/ArchangeGabriel/589c470198459be620ad8ef2658458fa |
Our post crossed (I was busy building the old version and updating the log). Using an older version of gcc is likely not an option (on Arch, only latest gcc is supported AFAIK). So if I understand well the solution is to patch v8 in LTS for GCC7. Other question: can NodeJS be built using a system installation of v8 instead of the embedded one? I suppose no, or only if using the same version as the embedded one, but not a newer one? |
I wouldn't recommend it (I don't think many people have done that before).
That is the solution, the issue is that as Node 6.x is an LTS stream, updates have to wait for a while before they go into it. However, if we can work out what the patch that fixes these issues is for 6.x, then you can just apply it before building. BTW, I assume you want to build yourself rather than taking a tarball from the downloads page. That's fine, it'll just take longer for you to get Node onto your system compared to using nvm or just doing: wget https://nodejs.org/dist/v6.11.0/node-v6.11.0-linux-x64.tar.xz
tar -xf node-v6.11.0-linux-x64.tar.gz --directory /usr/local --strip-components 1 |
Yes of course, if the patch is done I can just apply it directly, as I did for ICU59. :) And regarding building, yes, I don’t like using binaries from elsewhere than distro, and in this precise case I’m even packager for nodejs-lts-boron in Arch: https://www.archlinux.org/packages/community/x86_64/nodejs-lts-boron/. So using a prebuilt binary is not an option. ;) |
I opened nodejs/node#13574 that seems to work on rawhide with gcc 7.1.1 |
Thanks, I’m closing this in favour of your PR then. Testing it right away too. |
Just as a side note, 4.x isn’t affected. |
When building (with shared c-ares, libuv, icu, http-parser, openssl and zlib if that matters), it fails with the following error:
Please tell me if you need full log or further information.
The text was updated successfully, but these errors were encountered: