Skip to content
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

.NET 7 AOTNative for ARM64 #9

Closed
phillip-haydon opened this issue Nov 16, 2022 · 5 comments
Closed

.NET 7 AOTNative for ARM64 #9

phillip-haydon opened this issue Nov 16, 2022 · 5 comments

Comments

@phillip-haydon
Copy link

It seems that .NET 7 AOTNative wont work for ARM64?

Failed to load /var/task/libcoreclr.so, error: /lib64/libm.so.6: version `GLIBC_2.27' not found (required by /var/task/libcoreclr.so)

Will this get fixed? I assume AWS wont support .NET 7 natively and we will be required to use the custom bootstrap, and we will need to wait for .NET 8 for native support. But I would assume the issue with .NET 7 will exist in .NET 8?

@slang25
Copy link

slang25 commented Nov 16, 2022

From my understanding of the current issue, the .NET team will be looking at other ways to build dotnet in a way that will be easier to control native dependency versions, but that will likely be a .NET 8 and up thing. See this discussion, this specific issue is around the unique combination of kernel version and glibc version that are shipped with AL2.

For now (in the .NET 7 timeframe) we'll need to wait for AWS to update the runtime distro to AL2022.

@phillip-haydon
Copy link
Author

Oh I'm dying for AL2022, wish it would hurry up so I can ditch Ubuntu :D

Guess for now I'll keep my lambda's as x64. Thanks.

@jeastham1993
Copy link
Contributor

@phillip-haydon what @slang25 says is correct. Amazon Linux 2 is based on CentOS which if you look at the Microsoft docs only supports x86.

That said, I'm going to do some work in the next week or so with .NET 7 native AOT in a container on Lambda. That should unlock .NET 7 on ARM, I'll keep this issue open for the moment and report back when I get them benchmarks added.

@jeastham1993
Copy link
Contributor

@phillip-haydon @slang25 a short update on this, I have got .NET 7 native AOT running on ARM in an Alpine based container. So it's possible. The challenge I have at the moment is I'm compiling the code on an ARM based Ubuntu machine, and of course SAM doesn't run on ARM. Just trying to write up a way to make build, push and deploy simpler then I'll publish it to this repo.

@normj
Copy link
Collaborator

normj commented Jun 23, 2023

I don't have write permissions to close this but Microsoft has released new versions of .NET 7 for ARM that are compatible with Amazon Linux 2 and our .NET Lambda packaging tool has been updated to support creating .NET 7 AOT ARM functions. So this issue can be closed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants