-
Notifications
You must be signed in to change notification settings - Fork 1.3k
Conversation
This adds armv7 and armv8 cpu architectures to `getHumanArchitecture()` in order to support running node-sass on ARM.
Note, it installs and builds fine on ARM since some time after v4.5.3, it's just that this manual check prevents it from actually running – would it make sense to remove these manual checks entirely, or only display any platform related errors if loading the binding fails? |
@jhermsmeier we will likely remove those checks in 5, and just rely on the |
I'm curious where you for these values from? The installer gets these values from |
Looking at the official downloads I see the following arm variations.
It's not clear to me if/how these map to just |
@xzyfer all three are different architectures. |
We use the value of
We can only support the value returned by |
What you describe should be good enough: $ uname -m -p -i
aarch64 aarch64 aarch64
$ node
> process.arch
'arm64' However I only found this PR because of the following error I got while trying to install $ npm i --save-dev node-sass
> node-sass@4.8.3 install /home/jess/dev/first.site/node_modules/node-sass
> node scripts/install.js
Downloading binary from https://github.com/sass/node-sass/releases/download/v4.8.3/linux-arm64-59_binding.node
Cannot download "https://github.com/sass/node-sass/releases/download/v4.8.3/linux-arm64-59_binding.node":
HTTP error 404 Not Found It's expecting an "arm64" at that location, and it's not finding it. I'm thinking I'll try to just install the Github version, although I haven't figured that out yet. |
The reason it can't be found is that we don't build those binaries yet
which is what this issue is trying to resolve.
We don't supply the arm binaries largely because no-one in the team has
access to arm hardware.
…On Wed., 18 Apr. 2018, 10:48 am jessaustin, ***@***.***> wrote:
What you describe *should* be good enough:
$ uname -m -p -i
aarch64 aarch64 aarch64
$ node> process.arch'arm64'
However I only found this PR because of the following error I got while
trying to install node-sass:
$ npm i --save-dev node-sass
> ***@***.*** install /home/jess/dev/first.site/node_modules/node-sass> node scripts/install.js
Downloading binary from https://github.com/sass/node-sass/releases/download/v4.8.3/linux-arm64-59_binding.node
Cannot download "https://github.com/sass/node-sass/releases/download/v4.8.3/linux-arm64-59_binding.node":
HTTP error 404 Not Found
It's expecting an "arm64" at that location, and it's not finding it. I'm
thinking I'll try to just install the Github version, although I haven't
figured that out yet.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#2253 (comment)>, or mute
the thread
<https://github.com/notifications/unsubscribe-auth/AAjZWNF4gDPuPsO_wXhxXnYKsOia5-VDks5tpo1YgaJpZM4SLGHD>
.
|
What can I do to help? My current chromebook is Alternatively, the package could just fall back to attempting to build itself on the current installation machine. I guess that would be hard to test though. |
Honestly this issue is a dead lock until either
We are able to support linux, windows, osx, and alpine because we can either automate test and binary generation, or we have team members who take on that responsibility. Related, in version 5 we will be relaxing the installation process to automatically fallback to a local compilation if a pre-built binary is not available for download. This will at least lower the barrier to running on unsupported architectures. This comes at the cost of guaranteeing future releases will continue to work on those architectures. |
Have the relevant v5 patches hit yet? |
No. You can subscribe to #2312 for updates. |
OK thanks I will. |
@xzyfer I'd be happy to donate a RPi, if that'd help |
and now it's building the binary from sources. I run the "Works on Arm" project, where we have a variety of options for getting CI and machine access for arm64 project - happy to talk to @xzyfer to see if we can't do something to provide resources to break the deadlock above. |
We'd love to talk! Join us in slack? https://libsass-slack.herokuapp.com
…On Wed., 14 Nov. 2018, 4:37 pm Edward Vielmetti ***@***.*** wrote:
node-sass is a dependency for the new CNCF project harbor, which I'm
currently trying to build on arm64. I'm tracking that effort at
goharbor/harbor#6277 <goharbor/harbor#6277> . I
get the error
Cannot download "https://github.com/sass/node-sass/releases/download/v4.9.3/linux-arm64-64_binding.node":
and now it's building the binary from sources.
I run the "Works on Arm" project, where we have a variety of options for
getting CI and machine access for arm64 project - happy to talk to @xzyfer
<https://github.com/xzyfer> to see if we can't do something to provide
resources to break the deadlock above.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#2253 (comment)>, or mute
the thread
<https://github.com/notifications/unsubscribe-auth/AAjZWNX0UJRi54NOXaUGyaIE0qg0pBlDks5uu6wugaJpZM4SLGHD>
.
|
I joined the Slack channel, @xzyfer ! |
I can see that your concern is not having access to arm hardware. There is a CI available to run the project on arm. I was successfully able to generate the binary for node-sass on shippable. @xzyfer I will be happy to provide any more information regarding it. It will be delight to see the binary available for arm64 architecture. |
Nothing on the shippable site mentions that it's specifically supports ARM. It has a BYO option but in that case I'd prefer to use buildkite. |
@xzyfer: yes, it isn't obvious to me either, but after digging: shippable make mention of their Arm support here: https://www.shippable.com/continuous-delivery.html **Run jobs on Ubuntu, Windows, MacOS, CentOS, RHEL7, and Arm nodes. You can even run jobs across different platforms in the same workflow! Use one platform for all your applications. ** |
Looks like Drone.io is doing free ARM builds now for OSS https://blog.drone.io/drone-cloud/ |
Kind of got a POC running https://cloud.drone.io/nschonni/node-sass/12/1/2 but since it is Docker based, it will probably only work when we drop the old Node versions |
We only support Alpine for whatever versions there are official images for. I'm happy to offer limited version support for ARM too. |
Is there an update on this work - and if not, what can be done to move it forward? |
Sorry to bother you again. I tried to build the node-sass binary for aarch64, using shippable CI. You can see, the package build successfully on the aarch64 platform with node version v11.9.0 https://app.shippable.com/github/ossdev07/node-sass/runs/13/1/console To run the package on shippable, you need the shippable.yml file and license. It will be a delight to see the package supporting the aarch64 platform. |
I've same comments for armv6l (rpi zero) - still no support for it
|
Hi @xzyfer Please let us know if you are planning to release any arm-related support for the package. |
hi @jhermsmeier: I remain interested in this work (AArch64 and Armv7 support). It is unclear to me why this ticket has been closed. Please can you provide some more background to your decision? |
Hey @rhenwood-arm! It's more than a year old, my solution here is incorrect and outdated, and since I don't work on Etcher anymore, there's no real reason for me to spend time on this anymore (as I'm not a sass user myself). Further, I've offered to donate hardware (in order to test on ARM), but response and action has tailed off, and nothing really happened as far as I can gather. So yeah, I'd say it's for someone else to pick up :) While there should be some CI services supporting ARM out there as mentioned in this thread, my offer to donate some HW (Raspberry Pis or so) still stands, in case it's still desired / needed. |
Thanks @jhermsmeier - that's a good reason to close this particular PR. @rhenwood-arm I think we can continue this forward by opening up a new issue to provide a current (not historic) diagnosis of the issue, reference this PR as an outdated option, and figure out next steps. |
Thanks for the background @jhermsmeier - yes. I agree with you @vielmetti . I guess two PRs are necessary: One to add in Arm* support and a second one to add CI/CD support (with Drone.io?). I have been working with @ossdev07 so I will ask them to proceed creating a new PR for this work. |
FYI: Travis-CI have announced multi-platform support: https://blog.travis-ci.com/2019-10-07-multi-cpu-architecture-support |
Thanks, the Travis features look promising |
This adds armv7 and armv8 cpu architectures to
getHumanArchitecture()
in order to support running node-sass on ARM.