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

[Mono] Make sure the iOS and MacCatalyst AOT workload packs are not imported on Windows #54944

Closed
steveisok opened this issue Jun 30, 2021 · 5 comments · Fixed by #55040
Closed
Assignees
Milestone

Comments

@steveisok
Copy link
Member

As detailed in dotnet/maui#1443 (comment), we need windows hosted AOT compiler packs for iOS & MacCatalyst.

@ghost
Copy link

ghost commented Jun 30, 2021

Tagging subscribers to this area: @directhex
See info in area-owners.md if you want to be subscribed.

Issue Details

As detailed in dotnet/maui#1443 (comment), we need windows hosted AOT compiler packs for iOS & MacCatalyst.

Author: steveisok
Assignees: directhex
Labels:

area-Infrastructure-mono

Milestone: 6.0.0

@dotnet-issue-labeler dotnet-issue-labeler bot added the untriaged New issue has not been triaged by the area owner label Jun 30, 2021
@jonathanpeppers
Copy link
Member

@steveisok I don't know if you need to actually run the AOT compiler on Windows, we just need to make sure these aren't imported because they are not installed on Windows:

<Import Project="Sdk.props" Sdk="Microsoft.NETCore.App.Runtime.AOT.Cross.ios-arm" />
<Import Project="Sdk.props" Sdk="Microsoft.NETCore.App.Runtime.AOT.Cross.ios-arm64" />
<Import Project="Sdk.props" Sdk="Microsoft.NETCore.App.Runtime.AOT.Cross.iossimulator" />

(there might be more packs than this, too)

The errors you get when building iOS or MacCatalyst on Windows are:

C:\src\maui\bin\dotnet\sdk-manifests\6.0.100\microsoft.net.workload.mono.toolchain\WorkloadManifest.targets(23,9): error : C:\src\maui\bin\dotnet\sdk\6.0.100-preview.6.21328.1\Sdks\Microsoft.NETCore.App.Runtime.AOT.Cross.ios-arm\Sdk not found. Check that a recent enough .NET SDK is installed and/or increase the version specified in global.json.
C:\src\maui\bin\dotnet\sdk-manifests\6.0.100\microsoft.net.workload.mono.toolchain\WorkloadManifest.targets(24,9): error : C:\src\maui\bin\dotnet\sdk\6.0.100-preview.6.21328.1\Sdks\Microsoft.NETCore.App.Runtime.AOT.Cross.ios-arm64\Sdk not found. Check that a recent enough .NET SDK is installed and/or increase the version specified in global.json.
C:\src\maui\bin\dotnet\sdk-manifests\6.0.100\microsoft.net.workload.mono.toolchain\WorkloadManifest.targets(29,9): error : C:\src\maui\bin\dotnet\sdk\6.0.100-preview.6.21328.1\Sdks\Microsoft.NETCore.App.Runtime.AOT.Cross.maccatalyst\Sdk not found. Check that a recent enough .NET SDK is installed and/or increase the version specified in global.json.

iOS has an "offline" build on Windows that just compiles your C# code against reference assemblies. You have to use a Mac build host to do a full build with AOT.

@steveisok
Copy link
Member Author

Thanks, I thought you were saying they needed to be imported.

@akoeplinger akoeplinger removed the untriaged New issue has not been triaged by the area owner label Jun 30, 2021
@steveisok steveisok changed the title [Mono] Add Windows AOT compiler packs for iOS & MacCatalyst [Mono] Make sure the iOS and MacCatalyst AOT workload packs are not imported on Windows Jun 30, 2021
@steveisok steveisok assigned steveisok and unassigned directhex Jun 30, 2021
@jonathanpeppers
Copy link
Member

I do think this is might be a blocker for Preview 6. Is there time to solve this?

@steveisok
Copy link
Member Author

I do think this is might be a blocker for Preview 6. Is there time to solve this?

From what I know, I believe it's too late for P6

mattleibow added a commit to mattleibow/runtime that referenced this issue Jul 1, 2021
Windows cannot build those targets, so don't import them.

Fixes dotnet#54944
@ghost ghost added in-pr There is an active PR which will close this issue when it is merged and removed in-pr There is an active PR which will close this issue when it is merged labels Jul 1, 2021
steveisok pushed a commit to steveisok/runtime that referenced this issue Jul 1, 2021
If we don't, then the aot packs will be imported on Windows when running an iOS offline build

Fixes dotnet#54944
@ghost ghost added the in-pr There is an active PR which will close this issue when it is merged label Jul 1, 2021
lewing added a commit that referenced this issue Jul 2, 2021
* Condition Workload AOT import to be osx only

If we don't, then the aot packs will be imported on Windows when running an iOS offline build

Fixes #54944

* Update src/mono/nuget/Microsoft.NET.Workload.Mono.Toolchain.Manifest/WorkloadManifest.targets

Co-authored-by: Larry Ewing <lewing@microsoft.com>

* Update WorkloadManifest.targets

Co-authored-by: Steve Pfister <steve.pfister@microsoft.com>
Co-authored-by: Larry Ewing <lewing@microsoft.com>
@ghost ghost removed the in-pr There is an active PR which will close this issue when it is merged label Jul 2, 2021
@ghost ghost added the in-pr There is an active PR which will close this issue when it is merged label Jul 2, 2021
steveisok pushed a commit that referenced this issue Jul 2, 2021
If we don't, then the aot packs will be imported on Windows when running an iOS offline build

Fixes #54944
@ghost ghost removed the in-pr There is an active PR which will close this issue when it is merged label Jul 2, 2021
@ghost ghost locked as resolved and limited conversation to collaborators Aug 1, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.