Author: | richlander |
---|---|
Assignees: | - |
Labels: | `untriaged`, `area-NativeAOT-coreclr` |
Milestone: | - |
Closed richlander closed 1 year ago
I couldn't figure out the best area label to add to this issue. If you have write-permissions please help me learn by adding exactly one area label.
Tagging subscribers to this area: @agocke, @MichalStrehovsky, @jkotas See info in area-owners.md if you want to be subscribed.
Author: | richlander |
---|---|
Assignees: | - |
Labels: | `untriaged`, `area-NativeAOT-coreclr` |
Milestone: | - |
Can we do a sanity check that there is a rootfs setup when somebody tries to do linux-x64<->linux-arm64 cross-compilation and error out if there is none?
Somewhere around here: https://github.com/dotnet/runtime/blob/7980421b2c2a8cc21c2060f831b8020ef0517632/src/coreclr/nativeaot/BuildIntegration/Microsoft.NETCore.Native.Publish.targets#L71-L72
Can we do a sanity check that there is a rootfs setup when somebody tries to do linux-x64<->linux-arm64 cross-compilation
@agocke pointed out that it is valid to cross-compile without rootfs. The rootfs check would be too restrictive.
I am not sure whether we can provide a better actionable error message for incorrectly configured native toolchains.
Can we do a sanity check that there is a rootfs setup when somebody tries to do linux-x64<->linux-arm64 cross-compilation
@agocke pointed out that it is valid to cross-compile without rootfs. The rootfs check would be too restrictive.
I am not sure whether we can provide a better actionable error message for incorrectly configured native toolchains.
Yep, it would break https://www.nuget.org/packages/PublishAotCross, for example.
Feels like the best we could do is to parse the output of the linker looking for "known bad" strings and translate them to something higher level. But it's super fragile, only works for english locales, and I would resort to it only if many people start hitting this. It feels like we could start by documenting the "known bad" string in the general crosscompilation doc as a sort of "troubleshooting guide".
Sounds good.
I tried to follow the excellent guidance at https://devblogs.microsoft.com/dotnet/improving-multiplatform-container-support/. I knew it wouldn't work, but wanted to see the error case. We seem to be relying on the underlying toolchain for the error case here. It's a bit rough given the guidance for the other scenarios. I'd like to see a better error message.