Actually, recent Mac hardware has not been x64, however I thought maccatalyst referred to:
Mac Catalyst
Create a version of your iPad app that users can run on a Mac device. (but maybe it’s more)
Actually, recent Mac hardware has not been x64, however I thought maccatalyst referred to:
Mac Catalyst
Create a version of your iPad app that users can run on a Mac device. (but maybe it’s more)
I see the same
I see Windows has x86, x64 and arm64, so that should be covered.
MacOs has the x64 and the catalyst version for arm64.
I am not sure how the dotnet framework handles this, but the binary should be compatible, AFAIK.
The linux build is missing arm64 (and less critical armv7).
Based on the instructions, these should be possible to cross-build in Docker.
I do not see it as a blocker for progressing with the .Net builds though.
The missing libraries can easily be added before we reach a new beta build.
Sure. Early versions having some limitations can still be good for testing.
Maybe a restrictions or known issues list can cut some waste and noise?
It is true that uplink.NET does not contain a binary for every architecture Duplicati supports. This is simply based on the fact that there hasn’t been a need for (yet) and that I need to find a way to create those binaries reliably. This is not that easy for me, though it should be possible. I may try to expand uplink.NET to more architectures.
Regarding MacOS, the binaries provided should last AFAIK.
Extending linux to arm64 should be quite easy, I guess.
I see what I can do. The result would be placed as additional binaries in the above mentioned packages and may be added later on your side.
My approach to this was to use Docker Desktop (on MacOS) which supports running different architectures. This makes it possible to build in a native environment for different architectures.
One caveat that took me some hours to figure out is that the Docker layer caching does not look at the platform, so it will reuse the image, even if it has a wrong architecture, causing it to build the wrong target. Make sure you add --pull=always
when you have --platform=...
set.
My “build-them-all” script is here for inpiration: