-
Notifications
You must be signed in to change notification settings - Fork 29.9k
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
On SunOS fatal relocation error shows up between Node version 6.7.0 and 6.8.0 #11444
Comments
New information: Now the same relocation error occurs on version 6.7.0 during generation of a new Pheonix application in the command:
This may be an asdf issue. |
More info:
Seems some incompatibility between node build and my libs. |
Can you provide the following information:
This should allow us to determine whether the environment within which you're running node is supposed to have support out of the box for the node versions you're trying to run and how to fix the problem if that's not the case. |
Thanks for your help! |
To make a long story short: recent node versions are not supported for this image/package repository. The minimum required SmartOS image for node versions >= 6.x and < 7.x is base-lts 14.x. The minimum required SmartOS image for node versions >= 7.x is base lts 15.x. You will still need to install gcc-4.8 on zones provisioned from these images though, which is not ideal from a user experience point of view. This is because it seems that node binaries for SmartOS have been built with gcc 4.8. If that's not an acceptable solution, then I would suggest contacting Joyent's support.
EDIT: I got confused by a typo I had made earlier in this comment, these node binaries are of course built with GCC 4.8, as the output of
EDIT: I got confused for the same reason, and I had meant to ask if it is correct that GCC 4.9 comes by default installed for 15.x and 16.x images. I hope that helps! |
GCC 4.8 is not recommended on SmartOS, it has never been the default compiler so has not been well tested, and does not have our fixes and patches. GCC 4.9 is a much better choice. |
Sorry, I actually got confused and I had meant to ask if it is correct that GCC 4.9 comes installed by default with 15.x and 16.x images. However I realized that the default list of preinstalled packages was already documented for 16.x and 15.x images, and they include GCC 4.9 for both of them. @jbergstroem I'll create an issue in nodejs/build to discuss moving to GCC 4.9 to build SmartOS binaries. |
Thanks all for the further info. My immediate need in installing Node is to support it's use in Pheonix which requires >= 5.0.0. according to the docs. BTW, this is only for use of npm, in turn to support brunch.io's packaging, which is actually optional in Pheonix. However, I would like to keep with the defaults as much as possible and so would like a working Node. In looking at the Node releases >= 5.0.0 with elfdump, they all require GCC 4.8. In looking at the SmartOS base packages the only one I can find that includes GCC 4.8 is 15.3.0. Before that they include only GCC 4.7 and after that they include both GCC 4.7 and 4.9 until 16.4.0, when only GCC 4.9 is supported. So, I guess my options now are:
I'll contact Joyent support to see what they recommend. |
The 2015Q4 and 2014Q4 pkgsrc repositories both have GCC 4.8 available as an installable package. However, I would recommend to use the nodejs SmartOS packages instead of the binaries available at nodejs.org if this is an acceptable option. You should be able to find a package for a version that would meet your requirements and that is installable from a supported image. |
Please don't file issues about those packages here, though. We (nodejs/node) don't support them. |
Closing this since resolution seems to be through Joyent. Also nodejs/build#628 looks promising to help in the future. Thanks. |
On SunOS I made some mods to the asdf-nodejs plugin (see issue asdf-vm/asdf-nodejs#26) so I can easily install different version of Node. I discovered that
npm version
seems to work on all Node versions <= 6.7.0 but fails on versions >= 6.8.0. For example:I've run
npm version
tests on the following node versions, with results:4.4.6 => ok
5.0.0 => ok
5.12.0 => ok
6.0.0 => ok
6.6.0 => ok
6.7.0 => ok
6.8.0 => fail
6.9.5 => fail
7.5.0 => fail
The text was updated successfully, but these errors were encountered: