Is Arm64 (Linux) Cross-Compile in Core 2.1?


#1

Hello, I was wondering what the status is of Arm64 (Linux) cross compiling. I think if i read the Dot Net Core roadmap issues list and some commits in the guthub tree it will be added in the 2.1 core release.

  1. Can anyone verify this?

  2. How can I help?

I am willing to test, debug, submit code fixes, etc on various OS to help the effort for native Arm64 hardware


#2

I should probably clarify: I am referring to Linux Arm64


#3

After struggling with this for a few weeks… It turns out that cross-compile is not ‘necessary’ since .NET Core 2.0 armhf 32 bit binaries can run natively on an arm64 / aarch64 OS provided you have libc6:armhf (along with all other dependencies) installed.

Its not at all obvious this is the case since: On Linux, the error for a binary that can’t load its libc interpreter is: “No such file or directory” which is not exactly useful for debugging and led me down many a wrong path.

Since no one here seemed to know anything about arm64 (aarch64) in relation to .NET Core , i guess I should spread this Knowledge…


#4

It is worth noting that .NETCore 2.1 Preview 2 has added Linux Arm64 as a publish target which can be used in dotnet publish as with Armhf. This is relatively hot off the presses (16 hours at time of writing) so it might not be well documented yet but I’m excited to see it there.
Downloads are here


.NET Foundation Website | Blog | Projects | Code of Conduct