conda-forge / julia-feedstock

A conda-smithy repository for julia.
BSD 3-Clause "New" or "Revised" License
23 stars 32 forks source link

Support arm64 #261

Open schlichtanders opened 10 months ago

schlichtanders commented 10 months ago

Comment:

Hello, I am running into the julia-feedstock, because the r-juliacall-feedstock depends on it (run dependency). Both packages seem to have problems with supporting arm64 architectures.

This julia-feedstock also misses arm64 support (e.g. a noarch build or a aarch64 build). It would be great to add such

mkitti commented 10 months ago

I could revisit this if someone could tell me how to access an arm64 build machine.

schlichtanders commented 10 months ago

A new azure account has 750 hours free compute on the arm64-based instance B2pts v2

750 hours each of B1s, B2pts v2 (Arm-based), and B2ats v2 (AMD-based) burstable VMs https://azure.microsoft.com/en-us/pricing/free-services

schlichtanders commented 10 months ago

I tried to directly fix r-juliacall-feedstock, and got an awesome comment which is also relevant here

Others are already interested in making julia available on ARM systems (see https://github.com/conda-forge/julia-feedstock/pull/218 and https://github.com/conda-forge/julia-feedstock/pull/251), so helping get those built would be the ideal first step.

Alternatively, if there really is insurmountable difficulty in getting those migrations merged, one could propose to the julia-feedstock the idea of building a dummy build of the package. There is some discussion of dummy builds here (though for a custom build): https://stackoverflow.com/a/71302552/570918. This is essentially a build that would indicate to Conda that the system will provide Julia, while allowing this to satisfy the dependency requirement. If the feedstock isn't open to this, it's also something one could do on a user channel (again, see the SO post).

https://github.com/conda-forge/r-juliacall-feedstock/pull/4#issuecomment-1802199257

ngam commented 7 months ago

We can compile natively on linux aarch64 using Travis (not sure if it is still around, but I think it is ...)

corneliusroemer commented 1 month ago

+1 for making osx-arm64 and linux-aarch64 builds of julia. Lack of these seriously hampers usability of julia within conda environments.

Indeed, there are native travis linux-aarch64 machines. For osx-arm64 one would need to cross-compile.

I made dedicated issues for each os, there are also already existing migration PRs:

mkitti commented 1 month ago

There a few alternatives. You could use the julia-forge example from prefix.dev:

https://prefix.dev/channels/julia-forge

Also, the pyjuliacall package will install Julia.