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

Improve errors about unsupported aot scenarios #32943

Merged
merged 1 commit into from
Jun 1, 2023
Merged

Conversation

sbomer
Copy link
Member

@sbomer sbomer commented May 31, 2023

This improves the errors when there's no KnownILCompilerPack to include more detailed information. There are now separate errors for an unsupported host RID, unsupported target RID, and unsupported TFM (the existing warning).

Partial fix for dotnet/runtime#84583. The other piece is in dotnet/installer#16545.

Copy link
Member

@MichalStrehovsky MichalStrehovsky left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you!

Today I learned that "assembly" in Czech is "sestavení" and "AOT" is "kompilace s předstihem", but we don't translate "runtime".

@sbomer sbomer merged commit ad3daa0 into dotnet:main Jun 1, 2023
sbomer added a commit to dotnet/installer that referenced this pull request Jun 1, 2023
Attempting to publish AOT on an unsupported host, or with an
unsupported target RID, will produce an error in the SDK before trying
to restore the ILCompiler packages. This uses the RID list in
`KnownILCompilerPack` as the source of truth for what is considered
supported. Then with improved error reporting
(dotnet/sdk#32943), this will give enough info
to the user about why a scenario isn't supported for aot.

Failing before restore does mean that advanced users who want to test
with unsupported ILC packages need to use a different
workaround. Instead of adding a `PackageReference`, they'll need
something like this:

```xml
<ItemGroup>
  <KnownILCompilerPack Update="@(KnownILCompilerPack)">
    <ILCompilerRuntimeIdentifiers>unsupported-rid</ILCompilerRuntimeIdentifiers>
  </KnownILCompilerPack>
</ItemGroup>
```
dotnet-bot pushed a commit to dotnet/dotnet that referenced this pull request Jun 1, 2023
…6545)

Attempting to publish AOT on an unsupported host, or with an
unsupported target RID, will produce an error in the SDK before trying
to restore the ILCompiler packages. This uses the RID list in
`KnownILCompilerPack` as the source of truth for what is considered
supported. Then with improved error reporting
(dotnet/sdk#32943), this will give enough info
to the user about why a scenario isn't supported for aot.

Failing before restore does mean that advanced users who want to test
with unsupported ILC packages need to use a different
workaround. Instead of adding a `PackageReference`, they'll need
something like this:

```xml
<ItemGroup>
  <KnownILCompilerPack Update="@(KnownILCompilerPack)">
    <ILCompilerRuntimeIdentifiers>unsupported-rid</ILCompilerRuntimeIdentifiers>
  </KnownILCompilerPack>
</ItemGroup>
```

Original commit: dotnet/installer@5acae40

[[ commit created by automation ]]
@sbomer
Copy link
Member Author

sbomer commented Jun 1, 2023

And of course "runtime pack" is one word in German: "Laufzeitpaket". 😆

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Area-ILLink untriaged Request triage from a team member
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants