Skip to content

dotnet workload install in userlocal mode fails with source-build .NET 9 Preview 5 #41726

Closed
@omajid

Description

@omajid

Describe the bug

I am using a source-build .NET 9 Preview 5. Trying to install the wasm-tools workload in userlocal mode (where the .NET SDK installation is not writable to by the current user) fails with an "Access to path ... is deineid" error.

To Reproduce

$ docker run -it fedora:40 /bin/bash
[root@828429dd39b9 /]# dnf install -yq dnf-plugins-core

Installed:
  dbus-libs-1:1.14.10-3.fc40.x86_64   dnf-plugins-core-4.6.0-1.fc40.noarch          python3-dateutil-1:2.8.2-13.fc40.noarch  python3-dbus-1.3.2-6.fc40.x86_64
  python3-distro-1.9.0-3.fc40.noarch  python3-dnf-plugins-core-4.6.0-1.fc40.noarch  python3-six-1.16.0-14.fc40.noarch        python3-systemd-235-9.fc40.x86_64

[root@828429dd39b9 /]# dnf copr enable @dotnet-sig/dotnet-preview
Enabling a Copr repository. Please note that this repository is not part
of the main distribution, and quality may vary.

The Fedora Project does not exercise any power over the contents of
this repository beyond the rules outlined in the Copr FAQ at
<https://docs.pagure.org/copr.copr/user_documentation.html#what-i-can-build-in-copr>,
and packages are not held to any quality or security level.

Please do not file bug reports about these packages in Fedora
Bugzilla. In case of problems, contact the owner of this repository.

Do you really want to enable copr.fedorainfracloud.org/@dotnet-sig/dotnet-preview? [y/N]: y
Repository successfully enabled.
[root@828429dd39b9 /]# dnf install -yq dotnet-sdk-9.0
Importing GPG key 0xC58B8CE9:
 Userid     : "@dotnet-sig_dotnet-preview (None) <@dotnet-sig#[email protected]>"
 Fingerprint: 3F3C 4001 17EA 6815 E0F6 576A 1259 2D6C C58B 8CE9
 From       : https://download.copr.fedorainfracloud.org/results/@dotnet-sig/dotnet-preview/pubkey.gpg

Installed:
  aspnetcore-runtime-9.0-9.0.0~preview.5.24306.11-0.9.fc40~bootstrap.x86_64  aspnetcore-targeting-pack-9.0-9.0.0~preview.5.24306.11-0.9.fc40~bootstrap.x86_64
  dotnet-apphost-pack-9.0-9.0.0~preview.5.24306.7-0.9.fc40~bootstrap.x86_64  dotnet-host-9.0.0~preview.5.24306.7-0.9.fc40~bootstrap.x86_64
  dotnet-hostfxr-9.0-9.0.0~preview.5.24306.7-0.9.fc40~bootstrap.x86_64       dotnet-runtime-9.0-9.0.0~preview.5.24306.7-0.9.fc40~bootstrap.x86_64
  dotnet-sdk-9.0-9.0.100~preview.5.24307.1-0.9.fc40~bootstrap.x86_64         dotnet-targeting-pack-9.0-9.0.0~preview.5.24306.7-0.9.fc40~bootstrap.x86_64
  dotnet-templates-9.0-9.0.100~preview.5.24307.1-0.9.fc40~bootstrap.x86_64   libicu-74.2-1.fc40.x86_64
  libunwind-1.8.0-3.fc40.x86_64                                              netstandard-targeting-pack-2.1-9.0.100~preview.5.24307.1-0.9.fc40~bootstrap.x86_64
[root@828429dd39b9 /]# cd
[root@828429dd39b9 ~]# useradd omajid
[root@828429dd39b9 ~]# dnf install -yq /usr/bin/su

Installed:
  libfdisk-2.40.1-1.fc40.x86_64                      libutempter-1.2.1-13.fc40.x86_64                      util-linux-2.40.1-1.fc40.x86_64

[root@828429dd39b9 ~]# su - omajid
[omajid@828429dd39b9 ~]$ dotnet workload list

Welcome to .NET 9.0!
---------------------
SDK Version: 9.0.100-preview.5.24307.1

----------------
Installed an ASP.NET Core HTTPS development certificate.
To trust the certificate, view the instructions: https://aka.ms/dotnet-https-linux

----------------
Write your first app: https://aka.ms/dotnet-hello-world
Find out what's new: https://aka.ms/dotnet-whats-new
Explore documentation: https://aka.ms/dotnet-docs
Report issues and find source on GitHub: https://github.com/dotnet/core
Use 'dotnet --help' to see available commands or visit: https://aka.ms/dotnet-cli
--------------------------------------------------------------------------------------

Installed Workload Id      Manifest Version      Installation Source
--------------------------------------------------------------------

Use `dotnet workload search` to find additional workloads to install.

[omajid@828429dd39b9 ~]$ dotnet workload search

Workload ID                 Description
----------------------------------------------------------------------------
aspire                      .NET Aspire SDK (Preview)
wasi-experimental           .NET WASI experimental
wasi-experimental-net8      .NET WASI experimental
wasm-experimental           .NET WebAssembly experimental tooling
wasm-experimental-net7      .NET WebAssembly experimental tooling for net7.0
wasm-experimental-net8      .NET WebAssembly experimental tooling for net8.0
wasm-tools                  .NET WebAssembly build tools
wasm-tools-net6             .NET WebAssembly build tools for net6.0
wasm-tools-net7             .NET WebAssembly build tools for net7.0
wasm-tools-net8             .NET WebAssembly build tools for net8.0

[omajid@828429dd39b9 ~]$ dotnet workload install wasm-tools

Skipping NuGet package signature verification.
Installing workload manifest microsoft.net.sdk.aspire version 9.0.0-preview.3.24210.17...
Workload installation failed. Rolling back installed packs...
Workload installation failed: Access to the path '/usr/lib64/dotnet/metadata/workloads/X64' is denied.
[omajid@828429dd39b9 ~]$ find /usr/lib64/dotnet/metadata/workloads/
/usr/lib64/dotnet/metadata/workloads/
/usr/lib64/dotnet/metadata/workloads/9.0.100
/usr/lib64/dotnet/metadata/workloads/9.0.100/userlocal

Exceptions (if any)

Further technical details

  • Include the output of dotnet --info
[root@828429dd39b9 /]# dotnet --info
.NET SDK:
 Version:           9.0.100-preview.5.24307.1
 Commit:            35b2c21ea6
 Workload version:  9.0.100-manifests.9b4ca231
 MSBuild version:   17.11.0-preview-24279-02+b963c24ef

Runtime Environment:
 OS Name:     fedora
 OS Version:  40
 OS Platform: Linux
 RID:         fedora.40-x64
 Base Path:   /usr/lib64/dotnet/sdk/9.0.100-preview.5.24307.1/

.NET workloads installed:
Configured to use loose manifests when installing new manifests.
There are no installed workloads to display.

Host:
  Version:      9.0.0-preview.5.24306.7
  Architecture: x64
  Commit:       a5cc707d97

.NET SDKs installed:
  9.0.100-preview.5.24307.1 [/usr/lib64/dotnet/sdk]

.NET runtimes installed:
  Microsoft.AspNetCore.App 9.0.0-preview.5.24306.11 [/usr/lib64/dotnet/shared/Microsoft.AspNetCore.App]
  Microsoft.NETCore.App 9.0.0-preview.5.24306.7 [/usr/lib64/dotnet/shared/Microsoft.NETCore.App]

Other architectures found:
  None

Environment variables:
  Not set

global.json file:
  Not found

Learn more:
  https://aka.ms/dotnet/info

Download .NET:
  https://aka.ms/dotnet/download

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions