Closed omajid closed 2 months ago
When i was playing in cross compilation of dotnet/dotnet then I locally turn off crossgen for ASP.NET
using this:
# in dotnet/src/aspnetcore/src/Framework/App.Runtime/src/Microsoft.AspNetCore.App.Runtime.csproj
# 45th line after modification
<CrossgenOutput Condition=" '$(TargetArchitecture)' == 's390x' OR '$(TargetArchitecture)' == 'armv6' OR '$(TargetArchitecture)' == 'ppc64le' OR '$(TargetArchitecture)' == 'loongarch64' OR '$(TargetArchitecture)' == 'riscv64' ">false</CrossgenOutput>
Building dotnet/dotnet has low priority in my tasks so I didn't focus on it. I hope my answer will be helpful for you.
Thanks, @SzpejnaDawid !
Another solution that I am thinking about in a dotnet/dotnet context is to use the just-built crossgen2 from runtime (which includes support for targeting riscv64).
That said, in this issue I am mostly asking about the long-term solution: will the microsoft.netcore.app.crossgen2.*
packages on nuget.org contain support for cross-compiling to community archs (assuming community archs support crossgen2)?
will the microsoft.netcore.app.crossgen2.* packages on nuget.org contain support for cross-compiling to community archs
It would be problematic for Microsoft to ship binaries on nuget.org that Microsoft is not setup to test.
Thanks!
When I try cross-building the VMR on x64 for riscv64-linux, aspnetcore fails when tries to use crossgen:
After digging a bit,
libclrjit_unix_riscv64_x64
is the clrjit library used by crossgen that runs on x64 and produces code for riscv64. ASP.NET Core is expecting this to exist in themicrosoft.netcore.app.crossgen2.linux-x64
nuget package. Is this a good assumption? Shouldlibclrjit_unix_riscv64_x64
be produced and shipped in that nuget package?cc @sirntar @SzpejnaDawid