-
Notifications
You must be signed in to change notification settings - Fork 10
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
ARM64 support #34
Comments
Yeah, sorry, I'm prebuilding for x86/x64, but don't yet output ARM builds. Wouldn't be too hard to add, but I'm slightly concerned about bloating the package with binaries, though not enough to not build if there's no cross-build problems. That said, prebuildify should be falling back to building locally if you have the toolchain setup, but I do remember issues with that kicking in when it shouldn't, perhaps I broke it. I'll take a look at that too. |
Awesome, thanks for looking into it! An alternative is perhaps to run the 32-bit binary instead of crashing since x86 emulation is in place on Windows 10+. But not sure how confusing it gets with the WowXXX stuff. |
Ok, so unfortunately or not, it seems node doesn't have official builds for ARM, which means I can't (easily at least) just add the pre-build for it ( As an alternative, I've restored the node-gyp fallback, give it a try in the |
this is great, thank you! I will test this on Monday on a surface pro X and will update you. |
hmm, unfortunately I can't build to test it yet. I'm not too familiar with gyp except remembering it being rather messy in the past :). So we always avoided it. First problem is that all non-windows builds fail immediately but that can probably be addressed easily.
|
Sorry for the late reply! This one is weird, the relevant error is:
Firstly, the Secondly, assuming that is correct, it's very weird that
Note that it's not dependent on the target arch. Thirdly, my builds with prebuildify on ARM get past that.... sigh. So my best guess is that somehow a user switch or screwy environment variables are confusing But good-ish news, I did some dark deeds and got a prebuildify ARM64 build by fooling it into using the electron dist-url, which should be fine for node too, since this is a N-API addon. Should. Take a look at 1.1.0-alpha.1, again on the |
yes, you're right, this is the build agent. It sounds sketchy but we need it as the SYSTEM to get certain access (though perhaps that could be done in other ways 🤔). But it's going to I probably should have tested this on my own machine also before jumping into the conclusion :). It's great that you figured out the prebuilt! I have tried alpha.1 now. The builds all went fine, including the non-windows ones. |
Sounds good, I'm going to let this sit for a week or so, just in case it starts eating babies or something, since I can't test it myself. |
hehe ok. I won't be doing much testing on it yet though as there is quite a bit more to do on our ARM64 project before it's test ready. but I'm happy to try specific things out on ARM64 if you need it. |
If it does anything without exploding I'd be very surprised if there's something wrong, but perhaps you could run the test npm script on ARM? |
maybe a silly question but I can't seem to find the branch or tag for 1.1.0. As my plan was to check that out and run Is there another way to do this that I don't know? |
I suppose that would help! I guess I'm used to our work tooling which pushes git as well as npm. |
Pushed to |
well, that didn't go well. Setting up development environment is tricky on ARM64. I did install visual studio (with warnings and all) and stuff but node-gyp can't find the visual studio installation. Spent a good chunk of time to fix that but to no avail. Again possibly newbie (a.k.a. full-stack engineer) question, is there any way to install the package via npm and run tests on it instead? |
Oh yes, I'd want to test with that anyway. You should just need to:
Shouldn't need to do this, to be clear, but if I had to guess you're installing visual studio 2022, and using an older version of node-gyp that doesn't know about it. If you want to try building, you will either need an updated node-gyp (which I think is not just |
Done, 17 pass, no failure. With the unofficial ARM64 nodejs. |
Good to know! Thanks for taking the time to check. |
I assumed no news was good news, and this is now official as v1.1.0. Thank you for all you work and time! |
Hi.
We're making an Windows ARM64 build for our electron application and native-reg is crashing with the following message:
Is that a missing support on native-reg or am I missing something to make it work?
Thanks.
The text was updated successfully, but these errors were encountered: