-
Notifications
You must be signed in to change notification settings - Fork 30.5k
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
Please rename "sunos" binaries because of broken ABI #7115
Comments
/cc @nodejs/build |
Working on it, well @jbergstroem is poking at it at least, we need to find a provider who can give us Solaris boxes to test and build on in order to fix the problem with Solaris compatibility. Know anyone that can help? As for the name, we're historically tied to it for now, but I'd be more than happy to push to have "smartos" and "sunos" binaries when we have "sunos" compatible binaries to share, until then, the changing from the historical precedent is harder to justify, even though it doesn't make a ton of sense. https://nodejs.org/metrics/summaries/os.png it's super-low on the download count, even SmartOS users get it from |
As for finding Solaris dev boxes: OmniOS boxes are available via Vagrant at https://atlas.hashicorp.com/omnios there are also AMI images for AWS/EC2 https://omnios.omniti.com/wiki.php/Installation#IntheCloud |
@rvagg Thanks for looking into it. Understood about the name. As Heinrich noted, OmniOS is a pretty vanilla illumos distro with very few modifications. I have tested and found that node binaries built on OmniOS r151014 (current LTS) work fine on SmartOS. |
We'd have to run VMs in VMs to make this happen, not ideal and also an administrative overhead I'm not sure we want to be locked in to for an OS that would have very low downloads.
AWS isn't one of our donors for build infrastructure but you're welcome to try and make convince them to do so. |
I know for a fact that some large corporate users get node binaries for SmartOS from nvm, which is why I fixed nvm on SmartOS. Some of these numbers might come from these nvm users.
I would suggest not to build binaries targeted to SmartOS on OmniOS. The fact that building node on version X of OmniOS works on a set of versions of SmartOS may be a coincidence, because as far as I know they are not designed to be ABI compatible. Instead I would suggest building SmartOS binaries on SmartOS, and any other binaries for any other platform on these platforms. |
We were using the "sunos" packages from |
Downloaded https://nodejs.org/dist/v4.4.5/node-v4.4.5-sunos-x64.tar.xz but found that npm issues writev() syscalls with more than IOV_MAX vectors. I believe this is because the "sunos" binaries are built on SmartOS which has changed IOV_MAX as of TritonDataCenter/illumos-joyent@603ce4f. This change has not been upstreamed to illumos, and so it breaks ABI compatibility with all other illumos distros and probably Oracle Solaris as well.
While running under truss and doing
npm install <some module>
, I observed:/7: writev(15, 0x02470090, 18) Err#22 EINVAL
IOV_MAX in illumos is 16, per
/usr/include/limits.h
.While it's fine for there to be pre-built binaries for SmartOS, they should be labeled as such and not "sunos" so that folks don't get the idea they could run these binaries on illumos or Solaris.
The text was updated successfully, but these errors were encountered: