sdk icon indicating copy to clipboard operation
sdk copied to clipboard

[NETSDKE2E][Linux] With .NET July Update SDK, publishing blazorwasm app failed with error MSB3073 after installing wasm-tools workload on Linux

Open NicoleWang001 opened this issue 7 months ago • 7 comments

Build: .NET SDK 9.0.302 or 8.0.412

To Reproduce

  1. Install .NET SDK with deb installer on Debian 12 or Ubuntu 24.04
  2. Install wasm-tools with below command sudo dotnet workload install wasm-tools --skip-manifest-update --configfile ~/.nuget/NuGet/NuGet.Config
  3. Create a blazorwasm app then publish
    dotnet new blazorwasm -o myblazorwasm
    cd myblazorwasm
    dotnet publish
  1. Observe

Exceptions (if any)

Publishing blazorwasm app failed with error MSB3073 8.0

Image

9.0 Image

Excepted Result

Publishing blazorwasm app works fine

Note

  1. This issue is only reproduced on Linux
  2. This issue is not reproduced without wasm-tools workload installed
  3. This issue is not reproduced on .NET 8.0.411

Further technical details

  • Include the output of dotnet --info
nicole@ubu2404:~/myblazorwasm$ dotnet --info
.NET SDK:
 Version:           8.0.412
 Commit:            94b6f178ea
 Workload version:  8.0.400-manifests.0c346719
 MSBuild version:   17.11.31+933b72e36

Runtime Environment:
 OS Name:     ubuntu
 OS Version:  24.04
 OS Platform: Linux
 RID:         linux-x64
 Base Path:   /usr/share/dotnet/sdk/8.0.412/

.NET workloads installed:
Configured to use loose manifests when installing new manifests.

 [wasm-tools]
   Installation Source: SDK 8.0.400
   Manifest Version:    8.0.18/8.0.100
   Manifest Path:       /usr/share/dotnet/sdk-manifests/8.0.100/microsoft.net.workload.mono.toolchain.current/8.0.18/WorkloadManifest.json
   Install Type:        FileBased

  Version:      8.0.18
  Architecture: x64
  Commit:       ef853a7105

.NET SDKs installed:
  8.0.412 [/usr/share/dotnet/sdk]

.NET runtimes installed:
  Microsoft.AspNetCore.App 8.0.18 [/usr/share/dotnet/shared/Microsoft.AspNetCore.App]
  Microsoft.NETCore.App 8.0.18 [/usr/share/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

NicoleWang001 avatar Jun 20 '25 09:06 NicoleWang001

cc @maraf @akoeplinger

lewing avatar Jun 20 '25 15:06 lewing

does something like apt install libatomic1 resolve the issue?

lewing avatar Jun 20 '25 15:06 lewing

please verify the output of ldconfig -p | grep libatomic on the machine

lewing avatar Jun 20 '25 23:06 lewing

@lewing , Yes, on Ubuntu 24.04, this issue is not reproduced after running sudo apt install libatomic1 And here is the output of ldconfig -p | grep libatomic

Image

NicoleWang001 avatar Jun 23 '25 03:06 NicoleWang001

After further verification, this issue is not July Update specific issue, because it is reproduced with Ubuntu 24.04 Server and Debian 12 VM on Azure. But it is not reproduced with Ubuntu 24.04 Desktop and Debian 12 VM on Hyper-V.

NicoleWang001 avatar Jun 23 '25 08:06 NicoleWang001

Yeah I confirmed this is not a new dependency, we had libatomic.so.1 dependency even in the 8.0.0 version of the microsoft.net.runtime.emscripten.3.1.34.node.linux-x64 package. It was not there in the 6.0.0 version though.

akoeplinger avatar Jun 23 '25 10:06 akoeplinger

Looks like we installed libatomic1 in the dotnet docker images to fix this: https://github.com/dotnet/dotnet-docker/issues/5033

I guess we could/should add it as a dependency to the sdk .deb?

Neither WSL Ubuntu 24.04 nor the respective docker image contains libatomic out of the box

akoeplinger avatar Jun 23 '25 10:06 akoeplinger