-
-
Notifications
You must be signed in to change notification settings - Fork 119
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
Fetching nodes fails on ARM Linux #130
Comments
Does this behave the same on 2.x and 3.0.0-rc5? I'm wondering if the conditional might've broken during the switch to kotlin. We do have this section PlatformHelper.kt#L21-L24 that from memory should be solving this. But we also only have a single test for this PlatformHelperTest.groovy#L38-L54 |
I noticed it with 2.2.4 when I had to use ARM Linux with Docker on my Apple Silicon Air. But I also checked out master on a ARM CentOS machine and get the same issue there when running I didn't have a local nodejs on the CentOS machine so there where a lot of tests failing. Installing it and running the tests again to try to pinpoint. |
|
I'll reinstall my raspberry pi at some point during this week which should make it easy to troubleshoot. Might even be able to add it as a runner to GitHub actions to keep it working in the future |
Having the same issue when running on M1 Apple Silicon:
|
Node uses x64 as architecture identifier instead of x86_64: |
yeah, I now, but is there a way to configure the gradle plugin so that it downloads the correct version - it seems to add the |
We're using the identifier from java, I spent about an hour yesterday trying to get it to build on my RPi but I don't think I've got enough RAM on that machine for anything meaningful. @tompson do you know what java says Having added the following to the test: osProp | archProp | osName | osArch | isWindows
'Linux' | 'aarch64' | 'linux' | 'arm64' | false and forcing the I get the expecfted result: fun computeArchiveDependency(nodeExtension: NodeExtension): Provider<String> {
val osName = platformHelper.osName
val osArch = platformHelper.osArch
val type = if (platformHelper.isWindows) "zip" else "tar.gz"
return nodeExtension.version.map { version -> "org.nodejs:node:$version:$osName-$osArch@$type" }
} We should be golden, even though we aren't. I'll make a second try on getting the RPi working after lunch. |
Something that would've been nice to have is the ability to pass a closure/action of our own that does the platform checking instead of having it hard-coded in the plugin, especially if you're on something like Alpine Linux which uses musl or if you've got your own internal site with nodejs binaries. |
unfortunately I do not have access to the M1 MacBook currently but will test it a soon as I have it back |
My raspberry pi says
|
This is driving me insane, at some point during the week I'm going to launch an ARM VM and try it there, I've increased the tests in #132 and that returns as expected when I run on my machine :-) |
Alright, being back into normal routine and with access to a test machine, it can only be because of @marvi the easiest way to test this is by checking out the |
On my Apple Silicon Mac I think it would work, if there was a node build available:
On ARM Linux (Centos 8) running in Docker on Apple Silicon it fetches the correct binary:
But maybe this is expected for now? The issue with finding the right binary package seems fixed. |
That's probably a different problem yeah, the important part here is that it's fetching the right binary :-) I've merged this to master and there'll either by a 3.0 released next or a new rc |
So, back on my M1 MacBook Using Azul Zulu java jdk8.0.275-macos_aarch64 outputs the following:
|
That's good, then it'll use the result from |
I'm also seeing this problem when building a docker image with multi-arch support (linux/arm64) using Docker's buildx and QEMU on GitHub Actions. If not too much work, could you please publish a new release candidate so that we can test the fix? Thanks! |
The plan was to release 3.0.0 itself, but there's a bunch of documentation that needs to be written before that, so there's a RC6 that's |
I re-run the docker build (on QEMU) using version |
I've faced this issue on Ubuntu ARM64.
Do I need to migrate this build file somehow ? |
@martin-g there were some things in the build file that could be improved, I signed the CLA and sent a small PR. Though using the gradle rule to automatically create |
I have the same issue now, is there any workaround?
|
This is about the Linux support and was fixed a long time ago |
When using this plugin on ARM Linux (and when node is released for Apple Silicon it will fail there too). It tries to download
-aarch64.tar.gz but the file is named -arm64.tar.gz.
The text was updated successfully, but these errors were encountered: