-
-
Notifications
You must be signed in to change notification settings - Fork 279
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
enable windows arm64 #1940
Comments
@zooba I added a few TODOs above if you or someone else want to help. |
@finnagin is looking at the conda-build changes, and will probably have some Qs about any user visible changes (such as how best to inform conda-build it should be doing a cross-compile). Hopefully that will unblock us to start looking at recipe/feedstock changes and figuring out the best way to automatically migrate existing ones (if needed). |
Task 4 is definitely first, yeah, and part of that seems to be plugging in the |
|
See conda-forge/zlib-feedstock#72
|
Ah neat, it's using CMake's support. I guess that means the env variables needed were already being set? Or did those get slipped in recently without me noticing? |
No, we should add support for an env variable like CMAKE_ARGS which we use in Linux/macOS. The two systems are so similar that even if cmake is not told that it is cross compiling, things just work because the correct compiler is used. |
Oh cool, I didn't see where the compiler was being picked. Just a vcvarsall call? That should work for anything with MSBuild or setuptools (if relatively up to date) too. |
Yes.
|
Thanks @isuruf! This is very helpful! |
There should be a |
Can someone with hardware access check the zstd package?
|
Hey @isuruf I can try running that for you! However, I'm currently waiting for access to the network that the machine I would use is on so I likely won't be able to do it until tomorrow. |
yes, I download it, but how to run it? I get the error ">conda build -t zstd-1.5.2-h45ec737_7.conda |
You need to have |
Looking at
I think it should be possible to stub out |
Just install an x86_64 version of conda and conda-build (and windows 11 for x86_64 emulation) and run the command. |
@isuruf when I run
looks like |
(base) C:\Users\shijunz\Downloads>conda build -t zstd-1.5.2-h45ec737_7.conda Leaving build/test directories: TESTS FAILED: zstd-1.5.2-h45ec737_7.tar.bz2 (base) C:\Users\shijunz\Downloads> |
cmake should be ok, I build a lot windows on arm64 app using the x64 version cmake. it support crossing build. maybe we should not check the it? or just tell the cmake -A arm64. but the pkg-config I have no idea. |
llecting package metadata (repodata.json): ...working... done yes, I run it on the windows 11 for x86-64 emulation mode) and get the similar error. |
If it's relevant, in addition to cross-compiling with the x64 version cmake also has arm64 Windows releases. |
We'll need to disable those tests for now. In the meantime, can you do,
and then try |
Sure!
|
(arm64) C:\Windows\System32>conda install zstd PackagesNotFoundError: The following packages are not available from current channels:
Current channels:
To search for alternate channels that may provide the conda package you're
and use the search bar at the top of the page. |
(env_win-arm64) C:>conda install -c conda-forge zstd Package Planenvironment location: C:\Users\shijunz\AppData\Local\miniconda3\envs\env_win-arm64 added / updated specs: The following packages will be downloaded:
The following NEW packages will be INSTALLED: libzlib conda-forge/win-arm64::libzlib-1.2.13-h50ba5a6_5 Proceed ([y]/n)? y Downloading and Extracting Packages Preparing transaction: done |
but, in window on arm, I can NOT run ' conda build -t /path/to/zstd-1.5.2-h45ec737_7.conda', because I try to (env_win-arm64) C:\Users\shijunz\Downloads>conda install -c conda-forge conda-build PackagesNotFoundError: The following packages are not available from current channels:
Current channels:
To search for alternate channels that may provide the conda package you're
and use the search bar at the top of the page. |
I run conda install conda-build at the x64 env, and conda info show the conda-build is ok, but run : conda build -t zstd-1.5.2-h45ec737_7.tar.bz2n and get the same error. |
|
I'm going to unpin this for now to make space for the numpy migration in the top bar, which is going to hit a lot of feedstocks now. We can repin it of course once things calm down there. |
Repinning this now that a slot opened up again, after the stdlib migration has been unpinned |
cc @arnabanimesh (as this context may also be useful in your efforts to rebuild for Windows ARM 🙂) |
For the item "Build a python entrypoint launcher (cli-arm64.exe) for conda-build", would it be sufficient to copy the current launcher |
How was the current entrypoint built? Presumably we could compile a new one given the source code |
It has a tricky backstory. It was compiled locally and committed directly to the repo(s) (conda and conda-build), then signed years later by Anaconda and resubmitted. I tried to clear up the story in https://github.com/conda/conda-launchers but there has been little follow up. I'm not sure how to sign the executables within the conda-forge pipelines either, because it would require having the Anaconda certificates somewhere in the repo and that's probably a no-go. |
See conda/conda-launchers#4 for more details. |
Should we add this to next week's Conda community meeting? |
Added the PR for the notes next week and included this item in the agenda. I might not make it, though, so if someone is around, please feel free to discuss it! |
I took the liberty to whip up a migrator. Not sure if I did it right, feel free to comment! regro/cf-scripts#3194 |
This is a tracking issue to enable windows arm64.
We think the path forward is to cross-compile and do out of band testing on native hardware.
Let's put todo items here:
win-arm64
launcher conda/conda#14401win-arm64
launchers conda/conda-build#5545linux-aarch64/linux-ppc64le
resp.osx-arm64
(c.f. this file).cc @zooba @isuruf @jakirkham @jezdez @chenghlee
The text was updated successfully, but these errors were encountered: