-
Notifications
You must be signed in to change notification settings - Fork 1.1k
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
crossgen2 doesn't resolve compilers for non-portable rids #28312
Comments
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. |
The passed RID should be normalized to one of the expected values as it is performed by SDK when you do, for example, |
The SDK picks the best match. Because these packages were built from source, there's an exact match ( |
We use |
If you call this function with a non-portable rid, and that non-portable rid is part of the available rids, then the function will give you back that rid. That makes sense, because it is the best match. string targetOS = _targetPlatform switch
{
"linux" => "linux",
"linux-musl" => "linux",
"osx" => "osx",
"win" => "windows",
_ => null
}; For my understanding: why is there a |
Yes it behaves different in source-build because we're building packages that don't have the Microsoft portable rids (like
Currently we are emulating the usual behavior because source-build builds the Building runtime repo twice costs a significant amount of time. We'd like to eliminate the 'portable runtime' build by making the repositories capable of consuming the non-portable artifacts. I hit this issue as part of dotnet/runtime#75597. |
|
I meant altering the SDK code so that the runtime identifier we get in a source-build is identical to what |
Yes. When source-build is finished building, you get an SDK and a set of packages for its rid (like We'd like to use these non-portable rid packages. dotnet/runtime#75597 includes changes to make the SDK pick these up. It sounds like we should extend I think we may also run into cases where the rid is not (yet) in the runtime graph during source-build's runtime build, but we can see how to fix those if they occur. |
How many different OS identifiers, like |
I'm trying to make
runtime
repo build using artifacts produced for a non-portable rid in dotnet/runtime#75597.The build fails while trying to resolve the R2R compiler:
Looking at the code in
ResolveReadyToRunCompilers.cs
, it looks likeisSupportedTarget
will befalse
becausetargetOS
is will benull
for a non-portable rid:sdk/src/Tasks/Microsoft.NET.Build.Tasks/ResolveReadyToRunCompilers.cs
Lines 144 to 162 in b99ebbe
cc @ViktorHofer @hoyosjs @AntonLapounov
How can we update this code so it works for non-portable rids?
The text was updated successfully, but these errors were encountered: