dotnet / runtime

.NET is a cross-platform runtime for cloud, mobile, desktop, and IoT apps.
https://docs.microsoft.com/dotnet/core/
MIT License
15.18k stars 4.72k forks source link

[mono][workload] Cross compiler pack fails to install on browser due to permission setting #54612

Closed lewing closed 3 years ago

lewing commented 3 years ago

The permission setting fix broke wasm workloads

dotnet workload install -v:d microsoft-net-sdk-blazorwebassembly-aot

Skip NuGet package signing validation. NuGet signing validation is not available on Linux or macOS https://aka.ms/workloadskippackagevalidation .
Updated advertising manifest microsoft.net.sdk.tvos.
Updated advertising manifest microsoft.net.sdk.android.
Updated advertising manifest microsoft.net.sdk.maui.
Updated advertising manifest microsoft.net.sdk.macos.
Updated advertising manifest microsoft.net.sdk.maccatalyst.
Updated advertising manifest microsoft.net.sdk.ios.
Updated advertising manifest microsoft.net.workload.mono.toolchain.
Installing workload manifest microsoft.net.sdk.tvos version 15.0.100-ci.upload-download-dotnettests.46.
Installing workload manifest microsoft.net.sdk.android version 30.0.100-preview.6.51.
Installing workload manifest microsoft.net.sdk.maui version 6.0.100-preview.6.874+sha.28d1f1d25-azdo.4904039.
Installing workload manifest microsoft.net.sdk.macos version 12.0.100-ci.upload-download-dotnettests.46.
Installing workload manifest microsoft.net.sdk.maccatalyst version 15.0.100-ci.upload-download-dotnettests.46.
Installing workload manifest microsoft.net.sdk.ios version 15.0.100-ci.upload-download-dotnettests.46.
Installing workload manifest microsoft.net.workload.mono.toolchain version 6.0.0-preview.7.21323.3.
Installing pack Microsoft.NET.Runtime.WebAssembly.Sdk version 6.0.0-preview.7.21323.3...
Writing workload pack installation record for Microsoft.NET.Runtime.WebAssembly.Sdk version 6.0.0-preview.7.21323.3...
Installing pack Microsoft.NETCore.App.Runtime.Mono.browser-wasm version 6.0.0-preview.7.21323.3...
Writing workload pack installation record for Microsoft.NETCore.App.Runtime.Mono.browser-wasm version 6.0.0-preview.7.21323.3...
Installing pack Microsoft.NETCore.App.Runtime.AOT.Cross.browser-wasm version 6.0.0-preview.7.21323.3...
Workload installation failed, rolling back installed packs...
Installing workload manifest microsoft.net.sdk.tvos version 14.5.100-ci.main.723.
Installation roll back failed: Failed to install manifest microsoft.net.sdk.tvos version 14.5.100-ci.main.723: The transaction has aborted..
Rolling back pack Microsoft.NET.Runtime.WebAssembly.Sdk installation...
Uninstalling workload pack Microsoft.NET.Runtime.WebAssembly.Sdk version 6.0.0-preview.7.21323.3.
Rolling back pack Microsoft.NETCore.App.Runtime.Mono.browser-wasm installation...
Uninstalling workload pack Microsoft.NETCore.App.Runtime.Mono.browser-wasm version 6.0.0-preview.7.21323.3.
Rolling back pack Microsoft.NETCore.App.Runtime.AOT.Cross.browser-wasm installation...
Workload installation failed: chmod: /tmp/Microsoft.NETCore.App.Runtime.AOT.Cross.browser-wasm-6.0.0-preview.7.21323.3-extracted/tools/opt: No such file or directory

install
  Install a workload.

Usage:
  dotnet [options] workload install [<WORKLOAD_ID>...]

Arguments:
  <WORKLOAD_ID>  The NuGet Package Id of the workload to install.

Options:
  --sdk-version <VERSION>                                                  The version of the SDK.
  --configfile <FILE>                                                      The NuGet configuration file to use.
  --add-source <SOURCE>                                                    Add an additional NuGet package source to use during installation.
  --skip-manifest-update                                                   Skip updating the workload manifests.
  --from-cache <from-cache>                                                Complete the operation from cache (offline).
  --download-to-cache <download-to-cache>                                  Download packages needed to install a workload to a folder which can be used for offline installation.
  --include-previews                                                       Allow prerelease workload manifests.
  --temp-dir <temp-dir>                                                    Configure the temporary directory used for this command (must be secure).
  --disable-parallel                                                       Prevent restoring multiple projects in parallel.
  --ignore-failed-sources                                                  Treat package source failures as warnings.
  --no-cache                                                               Do not cache packages and http requests.
  --interactive                                                            Allows the command to stop and wait for user input or action (for example to complete authentication).
  -v, --verbosity <d|detailed|diag|diagnostic|m|minimal|n|normal|q|quiet>  Set the MSBuild verbosity level. Allowed values are q[uiet], m[inimal], n[ormal], d[etailed], and diag[nostic].
  -?, -h, --help                                                           Show help and usage information

cc @steveisok @directhex

ghost commented 3 years ago

Tagging subscribers to 'arch-wasm': @lewing See info in area-owners.md if you want to be subscribed.

Issue Details
The permission setting fix broke wasm workloads ``` dotnet workload install -v:d microsoft-net-sdk-blazorwebassembly-aot Skip NuGet package signing validation. NuGet signing validation is not available on Linux or macOS https://aka.ms/workloadskippackagevalidation . Updated advertising manifest microsoft.net.sdk.tvos. Updated advertising manifest microsoft.net.sdk.android. Updated advertising manifest microsoft.net.sdk.maui. Updated advertising manifest microsoft.net.sdk.macos. Updated advertising manifest microsoft.net.sdk.maccatalyst. Updated advertising manifest microsoft.net.sdk.ios. Updated advertising manifest microsoft.net.workload.mono.toolchain. Installing workload manifest microsoft.net.sdk.tvos version 15.0.100-ci.upload-download-dotnettests.46. Installing workload manifest microsoft.net.sdk.android version 30.0.100-preview.6.51. Installing workload manifest microsoft.net.sdk.maui version 6.0.100-preview.6.874+sha.28d1f1d25-azdo.4904039. Installing workload manifest microsoft.net.sdk.macos version 12.0.100-ci.upload-download-dotnettests.46. Installing workload manifest microsoft.net.sdk.maccatalyst version 15.0.100-ci.upload-download-dotnettests.46. Installing workload manifest microsoft.net.sdk.ios version 15.0.100-ci.upload-download-dotnettests.46. Installing workload manifest microsoft.net.workload.mono.toolchain version 6.0.0-preview.7.21323.3. Installing pack Microsoft.NET.Runtime.WebAssembly.Sdk version 6.0.0-preview.7.21323.3... Writing workload pack installation record for Microsoft.NET.Runtime.WebAssembly.Sdk version 6.0.0-preview.7.21323.3... Installing pack Microsoft.NETCore.App.Runtime.Mono.browser-wasm version 6.0.0-preview.7.21323.3... Writing workload pack installation record for Microsoft.NETCore.App.Runtime.Mono.browser-wasm version 6.0.0-preview.7.21323.3... Installing pack Microsoft.NETCore.App.Runtime.AOT.Cross.browser-wasm version 6.0.0-preview.7.21323.3... Workload installation failed, rolling back installed packs... Installing workload manifest microsoft.net.sdk.tvos version 14.5.100-ci.main.723. Installation roll back failed: Failed to install manifest microsoft.net.sdk.tvos version 14.5.100-ci.main.723: The transaction has aborted.. Rolling back pack Microsoft.NET.Runtime.WebAssembly.Sdk installation... Uninstalling workload pack Microsoft.NET.Runtime.WebAssembly.Sdk version 6.0.0-preview.7.21323.3. Rolling back pack Microsoft.NETCore.App.Runtime.Mono.browser-wasm installation... Uninstalling workload pack Microsoft.NETCore.App.Runtime.Mono.browser-wasm version 6.0.0-preview.7.21323.3. Rolling back pack Microsoft.NETCore.App.Runtime.AOT.Cross.browser-wasm installation... Workload installation failed: chmod: /tmp/Microsoft.NETCore.App.Runtime.AOT.Cross.browser-wasm-6.0.0-preview.7.21323.3-extracted/tools/opt: No such file or directory install Install a workload. Usage: dotnet [options] workload install [...] Arguments: The NuGet Package Id of the workload to install. Options: --sdk-version The version of the SDK. --configfile The NuGet configuration file to use. --add-source Add an additional NuGet package source to use during installation. --skip-manifest-update Skip updating the workload manifests. --from-cache Complete the operation from cache (offline). --download-to-cache Download packages needed to install a workload to a folder which can be used for offline installation. --include-previews Allow prerelease workload manifests. --temp-dir Configure the temporary directory used for this command (must be secure). --disable-parallel Prevent restoring multiple projects in parallel. --ignore-failed-sources Treat package source failures as warnings. --no-cache Do not cache packages and http requests. --interactive Allows the command to stop and wait for user input or action (for example to complete authentication). -v, --verbosity Set the MSBuild verbosity level. Allowed values are q[uiet], m[inimal], n[ormal], d[etailed], and diag[nostic]. -?, -h, --help Show help and usage information ``` cc @steveisok @directhex
Author: lewing
Assignees: -
Labels: `arch-wasm`, `area-Build-mono`
Milestone: -
lewing commented 3 years ago

found while testing #54342

lewing commented 3 years ago

we will also need a check/fix in emsdk