filipnavara / dotnet-riscv

5 stars 1 forks source link

Encountered upstream issues #1

Open archanox opened 2 months ago

archanox commented 2 months ago

As the risc-v port is in progress by Samsung which doesn't appear to have a visible roadmap to the public, I don't think it's fair to start lodging tickets on the main repo. Historically I've suggested making a "meta" post in the dotnet/dotnet repo, but it was closed by mods in favour of the WIP runtime issue, albeit being specifically just for the runtime repo and again, missing a channel to users for the visibility of the progress behind closed doors.

So consider this issue just a list of issues that may eventually get resolved once dotnet9 for risc-v is shipped. But until then, I believe it's good to track what users are encountering in the real world.

No AoT support

/home/debian/.dotnet/sdk/9.0.100-preview.7.24407.1/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.FrameworkReferenceResolution.targets(90,5): error NETSDK1204: Ahead-of-time compilation is not supported on the current platform 'linux-riscv64'.

Missing Application Host?

Not sure what is the cause for this one. /home/debian/.dotnet/sdk/9.0.100-preview.7.24407.1/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.FrameworkReferenceResolution.targets(158,5): error NETSDK1084: There is no application host available for the specified RuntimeIdentifier 'linux-riscv64'.

archanox commented 2 months ago

Okay, I might have done a dumb. The projects need to targeting the dotnet 9 preview. Building projects may possibly unsupported forever?

filipnavara commented 2 months ago

NativeAOT support for RV64 is tracked upstream at https://github.com/dotnet/runtime/issues/106223.

The application host packages are built during the SDK build, but I am not exactly sure how they are supposed to be distributed for source builds. I think in the regular .NET scenarios they are available on NuGet but that's not really an option here. (There are some upstream issues for this but I don't have the links at hand.)

archanox commented 1 month ago

The application host packages are built during the SDK build, but I am not exactly sure how they are supposed to be distributed for source builds. I think in the regular .NET scenarios they are available on NuGet but that's not really an option here.

Yeah I think my understanding here is limited, but I'm guessing because I was trying to build a project that was targeting net8 and I was using your net9 preview build, it couldn't get the dependencies from the SDK, so either it failed there, or tried to download them from NuGet and then failed as you said. So I doubt targeting anything other than net9 will be supported. Which is fine by me.