Skip to content
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

Add pre-built binaries for ARM32 and ARM64 #276

Merged
merged 18 commits into from
Oct 26, 2020
Merged

Conversation

Schniz
Copy link
Owner

@Schniz Schniz commented Oct 18, 2020

Fixes #222

@Schniz Schniz self-assigned this Oct 18, 2020
@vercel
Copy link

vercel bot commented Oct 18, 2020

This pull request is being automatically deployed with Vercel (learn more).
To see the status of your deployment, click below or on the icon next to each commit.

🔍 Inspect: https://vercel.com/schniz/fnm/fotcmso8h
✅ Preview: https://fnm-git-support-arm-releases.schniz.vercel.app

@Schniz
Copy link
Owner Author

Schniz commented Oct 19, 2020

cc @jaythomas does this build work for you? fnm-arm64.zip

It seems to work on a docker container running arm64v8/ubuntu 😸

@jaythomas
Copy link
Contributor

Indeed. I have tested this on my Rockchip RK3399 and everything works as expected. 🎉

As an aside I also compiled on my Raspberry Pi 4 and confirmed the armv7l 32-bit build works. 🎉

@Schniz
Copy link
Owner Author

Schniz commented Oct 19, 2020

@jaythomas I'll try to build a 32bit release as well

@Schniz
Copy link
Owner Author

Schniz commented Oct 21, 2020

@jaythomas would you mind testing these:

Looks like they work and I wonder if I set up the matrix correctly. 😸

@jaythomas
Copy link
Contributor

Both builds work for me, except I am experiencing an issue with fnm use on zsh strangely. I would have responded sooner but I haven't had a chance to troubleshoot it yet.

$ ls
fnm  fnm-arm64.zip

$ export PATH=/home/lite/.fnm:$PATH

$ eval "`./fnm env`"

$ ./fnm use v14.11.0
Using Node v14.11.0

$ node -v
zsh: command not found: node

This is a clean zshell with no .zshrc set up. Bash is working though. I will have to troubleshoot more this weekend.

@Schniz
Copy link
Owner Author

Schniz commented Oct 23, 2020

Hmm. Can you try fnm exec --using=14 -- node -v?

@Schniz
Copy link
Owner Author

Schniz commented Oct 23, 2020

Also, try seeing what it is installing:

RUST_LOG=fnm=debug fnm install 14.11.0

Maybe it's trying to download a non-ARM version?

@jaythomas
Copy link
Contributor

Maybe the problem is related to the fact I manually installed this node version? I can't run fnm install as I don't have the "copy patch" on this system to get around moving the tmp directory. But extracting the node install manually into the directory I am seeing these issues:

$ fnm install v14.11.0
Installing Node v14.11.0
warning: Version already installed at "/home/lite/.fnm/node-versions/v14.11.0"

$ ~/.fnm/node-versions/v14.11.0/bin/node -v
v14.11.0

$ fnm use 14.11.0
Using Node v14.11.0

$ node -v
bash: node: command not found

$ fnm ls
* v14.11.0
* system

$ RUST_LOG=debug fnm exec --using=14 -- node -v 
[2020-10-23T16:09:53Z INFO  fnm::choose_version_for_user_input] Using Node v14.11.0
thread 'main' panicked at 'Can't spawn program: Os { code: 2, kind: NotFound, message: "No such file or directory" }', src/commands/exec.rs:55:14
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

User error on my part? If we get fnm install fixed for Linux I will blow away the entire .fnm directory and start from scratch.

Also note the issue is unrelated to zsh. On my 32-bit ARM bash and zsh are fine. It is just this 64-bit ARM system I am seeing the issue with either shell.

@Schniz
Copy link
Owner Author

Schniz commented Oct 25, 2020

Ah, yeah. For some unknown reason I decided to make the directory structure like so:

~/.fnm/node-versions/VERSION/installation/bin/node

So the manual installation was wrong 😄

@Schniz
Copy link
Owner Author

Schniz commented Oct 25, 2020

@jaythomas the next builds will include #275 so you won't need to try installing manually 😁

@Schniz
Copy link
Owner Author

Schniz commented Oct 25, 2020

let me know how it works 😄

@jaythomas
Copy link
Contributor

Yup that was my problem. 🙄 Ok with these changes the arm64 build artifact is working perfectly for me too!

@Schniz Schniz added the PR: New Feature A new feature was added label Oct 26, 2020
@Schniz Schniz changed the title Add CI step for ARM64 Add pre-built binaries for ARM32 and ARM64 Oct 26, 2020
@Schniz Schniz merged commit b856702 into master Oct 26, 2020
@Schniz Schniz deleted the support-arm-releases branch October 26, 2020 11:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
PR: New Feature A new feature was added
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Add a prebuilt ARM binary
2 participants