-
Notifications
You must be signed in to change notification settings - Fork 29.6k
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
win,msi: use x64 node executable when cross-compiling for arm64 #34009
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@dennisameling again, thanks for pushing this forward!
The general approach looks good, but there are some things that need to change before this can land.
Uses x64 node executable for running .js files in arm64 cross-compilation scenarios. MSI can now be created by running `vcbuild.bat release msi arm64` Refs: nodejs#25998 Refs: nodejs#32582
Updates the build instructions for Windows 10 ARM64, now that cross-compiling on a x64 host is possible. Refs: nodejs#25998 Refs: nodejs#32582
1cb4f59
to
baba312
Compare
@joaocgreis Apologies for the late reply. I've applied your suggestions, so we should be good to go now for this PR 😊 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@dennisameling again, thanks for pushing this forward!
Co-authored-by: João Reis <reis@janeasystems.com>
(Edit: commented in the wrong tab). |
Landed in 03293aa Thanks @dennisameling! |
Builds further on #33689
The last step to successfully create MSI installers for arm64 on a x64 host is to run the
license2rtf
script on the x64 host using a x64 Node executable. Based on @joaocgreis's comment in #33689 (review) I came up with some logic invcbuild.bat
which downloads the latest x64 Node executable if it's not present on the machine yet.A variable called
%x64_node_exe%
can be passed by your CI pipeline so that the build machines don't have to download the x64 executable all the time.IMPORTANT: when building an MSI for ARM64, WIX 3.14 or higher is required, as that version includes support for ARM64.
How to test
vcbuild.bat release msi arm64
Before applying this PR, the process fails with
Failed to generate license.rtf
(because the generatednode.exe
is for the arm64 architecture and therefore can't run on the x64 host).After applying this PR, the process finishes successfully.
Refs: #25998
Refs: #32582
Checklist
make -j4 test
(UNIX), orvcbuild test
(Windows) passes