windows-arm64 platform support

82 views
Skip to first unread message

Niyas Sait

unread,
Feb 18, 2022, 1:21:34 PM2/18/22
to conda-forge
Hello,

I am looking at extending conda-forge to build packages for windows-arm64 platforms.

I am not sure where to get started. Can someone provide some pointers to how to add new platform support ? 

Thanks,
Niyas

Isuru Fernando

unread,
Feb 18, 2022, 1:30:13 PM2/18/22
to Niyas Sait, conda-forge
Hi,

To add support, first you'd have to add support to conda, conda-build, mamba
to recognize windows-arm64 and then we'll need some windows arm64 machines
for CI.
After that, we'll need a mingw toolchain for some build tools which hasn't been
maintained in conda-forge forever. Then, we can start building packages with MSVC.

Isuru Fernando.

--
You received this message because you are subscribed to the Google Groups "conda-forge" group.
To unsubscribe from this group and stop receiving emails from it, send an email to conda-forge...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/conda-forge/06796138-9554-4f5b-8150-7c02913c9493n%40googlegroups.com.

Niyas Sait

unread,
Feb 18, 2022, 1:47:50 PM2/18/22
to Isuru Fernando, conda-forge
Thanks, Isuru for the quick response.

I want to start with a simple package and see if I can build it with conda-forge build tools locally on my windows-arm64 machine. Any idea how to do development and testing of those tools you listed locally? 

Does conda-forge support self-hosted build machines? We don't have any windows/arm64 with any CI providers yet but will be able to manage with self-hosted runners and have a couple of windows/arm64 machines we can use for deployment. And Azure might be bringing up VMs at some point and could migrate to that once it is available.

Niyas




Isuru Fernando

unread,
Feb 18, 2022, 1:54:39 PM2/18/22
to Niyas Sait, conda-forge
> I want to start with a simple package and see if I can build it with conda-forge build tools locally on my windows-arm64 machine. Any idea how to do development and testing of those tools you listed locally?

I'd recommend that you start with a windows-x86_64 build of conda/conda-build/mamba and see what needs to be done to add windows-arm64 support.
For new platforms, we've cross compiled conda/conda-build/mamba to the new platform before starting with compiling small packages, but I guess in your case,
since there's x86_64 emulation, you don't have to.


> Does conda-forge support self-hosted build machines? We don't have any windows/arm64 with any CI providers yet but will be able to manage with self-hosted runners and have a couple of windows/arm64 machines we can use for deployment. And Azure might be bringing up VMs at some point and could migrate to that once it is available.

Not yet, but we are looking into it. No ETA on that though.

Isuru

Niyas Sait

unread,
Feb 18, 2022, 2:04:56 PM2/18/22
to Isuru Fernando, conda-forge
Awesome, Thanks!

I guess conda/mamba are the package manager and conda-build is the tool that builds packages from recipes. Which tool is responsible for CI Integration ? Let's say we have windows-arm64 machines with Azure or any other CI service, which bits needs to change for deployment.

Thanks again

Niyas

Isuru Fernando

unread,
Feb 18, 2022, 2:10:44 PM2/18/22
to Niyas Sait, conda-forge

Pierrick Bouvier

unread,
May 31, 2022, 4:50:46 AM5/31/22
to conda-forge
Hi,

we have been trying to define a new architecture for conda (details here: https://github.com/conda/conda/issues/11472).
The goal being to help enable conda-forge for this new architecture.
Since windows-arm64 machines are not easily available, we plan to give it a try using cross compilation.

The main problem is that conda-build relies on anaconda.org to fetch list of packages available (looking for "repodata.json").
Alas, since this architecture does not exist yet, we are stuck. Should the correct first step be to add this architecture in anaconda itself?

Beyond that:
- is that possible to define locally a package without hitting anaconda.org?
- where is "compiler" package defined?

Thanks,
Pierrick
Reply all
Reply to author
Forward
0 new messages