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

Windows on ARM toolchain #1341

Open
ViralBShah opened this issue Aug 15, 2024 · 6 comments
Open

Windows on ARM toolchain #1341

ViralBShah opened this issue Aug 15, 2024 · 6 comments

Comments

@ViralBShah
Copy link
Member

I see Windows on ARM in Github Actions now.

Would it be possible to get a toolchain going to build all our binaries on Windows/ARM, and that can then be the stepping stone for Julia itself.

@ViralBShah
Copy link
Member Author

@giordano I thought you had mentioned somewhere that there was a decision to be made in terms of what toolchain to use, but I can't remember where you said it. I just thought it would be worth noting that here.

I tried Windows on ARM in UTM (which is basically a nicely packaged qemu) on mac, and it runs quite well.

juliaup picks the windows x64 binaries and I am able to run them in emulation and even do matmul - all out of the box.

@giordano
Copy link
Member

I think it isn't entirely clear what toolchain we should use for that platform (I think someone suggested clang with mingw, not sure gcc is supported at all), while it was much more obvious what to do for aarch64-freebsd

Originally posted by @giordano in JuliaPackaging/Yggdrasil#9405 (comment)

@ViralBShah
Copy link
Member Author

On the MingW page it recommends: https://github.com/mstorsjo/llvm-mingw/releases, which seems to use LLVM 20.

@giordano
Copy link
Member

Yeah, that's what I mentioned in the message above, I think it was @mkitti who suggested it first.

@mkitti
Copy link

mkitti commented Feb 21, 2025

I believe my recommendation was based on the msys2 environments:
https://www.msys2.org/docs/environments/

Image

As you can see the only supported toolchain for aarch64 is clang. I will also note that the only supported C library is ucrt rather than msvcrt.

I also think that we should consider how we might move the x86_64 builds to use ucrt rather than msvcrt, especially if we start building for ARM on Windows. I acknowledge this will likely be quite messy.

@ViralBShah
Copy link
Member Author

You have an issue open for UCRT, which I am referring to here: JuliaLang/julia#44006

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants