-
Notifications
You must be signed in to change notification settings - Fork 1.8k
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
[question] Could we add the arm64 building support for msys2? #26379
Comments
Hi @jcar87 , Thanks for your response, I have a question, if the msys2 files are x64 arch then they can run on windows arm by the arm64 emulation, why msys2 recipe deny the armv8 as the target arch? We may not need to deny arm arch, let user to choose what to do. And if you think we need to change this behavior, please let me to fix it, I'm interested in contributing this work. |
When the arch is armv8 in both build profile and host profile - the user is asking "please give me msys2 that is built to run natively on armv8" - and such package does not exist, because those tools simply don't run natively. I think it's valid to error out rather than assume it "will" work. At best we may want to improve the error message to point to user to what to do for compatibility. I think we may need to document better in Conan Center how to operate natively on ARM64 Windows. |
Hi @jcar87 , I found this error has happened when building audacity with the following commands, please refer to:
The arch settings are configured by audacity, the arch setting of the msys2 is inherited from the profile of audacity. |
If audacity uses dependencies from Conan Center - please refer to their build instructions with regards to custom profiles https://github.com/audacity/audacity/blob/Audacity-3.7.1/BUILDING.md#custom-conan-profiles so that you can configure this option when building Audacity |
Hi @jcar87 : I think we can set -Thost=x64 to prevent this exception, The CPU is armv8, that's better performance and compatibility if we can use the arm64 native building tool, and other modules are compiled correctly with native building tool, if we choose this solution, conan will build all the modules in emulated mode (that's not the best performance and compatibility). That's my thought, Thanks for your explanation. |
I think you are correct, if when building Audacity you set As I said - wherever Conan is invoked by Audacity, ensure that you can override the "build" profile such that the msys2 setting is overridden to the x86_64 architecture, without impacting anything else. We do not maintain the Audacity project so we're unable to provide further assistance. |
Got it, could we refine the message? let user understand and resolve the issue easily, if only change the doc, the user needs to research the answer in the doc, that maybe a little more complicated. |
MSYS2 already provides some support for arm64 now, contains clang arm64 and cross build tool from x64 to arm64, please refer to:
https://www.msys2.org/wiki/arm64/
https://packages.msys2.org/groups/mingw-w64-cross-toolchain
Currently msys2 conanfile.py just raise an exception:
raise ConanInvalidConfiguration("Only Windows x64 and arm64 supported")
Please refer to:
https://github.com/conan-io/conan-center-index/blob/master/recipes/msys2/all/conanfile.py#L71
Could we add the arm64 building support for msys2? let user to choose how to use msys2 for building.
Reproduce steps:
The text was updated successfully, but these errors were encountered: