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

any chance of a windows-* crate release #2557

Closed
kennykerr opened this issue Jun 28, 2023 · 8 comments
Closed

any chance of a windows-* crate release #2557

kennykerr opened this issue Jun 28, 2023 · 8 comments
Labels
enhancement New feature or request

Comments

@kennykerr
Copy link
Collaborator

kennykerr commented Jun 28, 2023

@kennykerr any chance of a windows-* crate release for this too? This would have been picked up in 0.50.0, but it looks like y'all declined to bump the version of the other crates.

Building packages which use windows-targets on MSYS2's version of aarch64-pc-windows-gnullvm is entirely broken by this bug, and the only alternative is to use aarch64-pc-windows-msvc (which only works on Windows hosts).

I haven't yet got to a point where I'm cross-compiling ARM64 binaries from a non-Windows host; but I'd strongly suspect it's broken there too when using a non-nightly build, using the MSVC toolchain isn't an option, and there's no aarch64-pc-windows-gnu like for x86_64.

It looks like this project's CI only builds -gnullvm with Rust nightly, so entirely side-steps the issue.

Originally posted by @micolous in #2515 (comment)

@kennykerr
Copy link
Collaborator Author

any chance of a windows-* crate release

Which crate specifically?

It looks like this project's CI only builds -gnullvm with Rust nightly, so entirely side-steps the issue.

Last I checked it only worked in nightly. Has something changed? @mati865

@kennykerr kennykerr added the question Further information is requested label Jun 28, 2023
@mati865
Copy link
Contributor

mati865 commented Jun 28, 2023

any chance of a windows-* crate release

Which crate specifically?

I think it's about windows_aarch64_gnullvm and windows_x86_64_gnullvm that are pulled in by windows-targets.
The problem with releasing semver breaking version like 0.50 is it requires bumping windows-targets as well, Alternatively 0.48.1 could be released with #2515 applied on top of it but I don't know if it's feasible and easy for you.

It looks like this project's CI only builds -gnullvm with Rust nightly, so entirely side-steps the issue.

Last I checked it only worked in nightly. Has something changed? @mati865

There is no stable/beta upstream compiler yet. MSYS2 provides downstream (think of it like Linux distro providing Rust in its repo) stable aarch64-pc-windows-gnullvm compiler but it runs only on AArch64 hardware.

@kennykerr
Copy link
Collaborator Author

I can publish a semver compatible release of windows-targets (0.48.1) - I don't think there have been breaking changes to the libs since 0.48.0.

@jeremyd2019
Copy link
Contributor

That'd be great! This is an example of the workaround I've had to apply to get packages using windows-targets 0.48.0 to build on aarch64-pc-windows-gnullvm: msys2/MINGW-packages#17654. It's been copied around to quite a few packages now.

@jeremyd2019
Copy link
Contributor

jeremyd2019 commented Jun 28, 2023

Which crate specifically?

In case that wasn't clear yet, windows-targets

EDIT: oops, I think it was already clear, sorry

@riverar
Copy link
Collaborator

riverar commented Jun 28, 2023

On the topic of "semver breaking", be aware the crate is still pre-release so the following applies:

A pre-release version indicates that the version is unstable and might not satisfy the intended compatibility requirements as denoted by its associated normal version.

@kennykerr kennykerr added enhancement New feature or request and removed question Further information is requested labels Jun 28, 2023
@kennykerr
Copy link
Collaborator Author

windows-targets 0.48.1 has been published.

@micolous
Copy link

micolous commented Jul 7, 2023

Thanks all, I think that's exactly what was needed.

MSYS2 ships an aarch64-pc-windows-gnullvm Rust compiler in "stable" mode, which means none of the "nightly" features work on it. From what I could tell, MSYS2 cherry-picked the fix into their build scripts, which is fine for Rust MSYS2 packages, but doesn't provide a usable Rust development environment on aarch64 machines using a native mingw toolchain.

Unlike on x86_64, there's no aarch64-pc-windows-gnu as a way out; the only alternative is the MSVC toolchain (which works fine, both cross-compiling and natively, but needs a Windows host).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

5 participants