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

[wasm] Using wasm-ld on paths containing symlinks doesn't work, on Windows #63786

Open
1 task done
ericwj opened this issue Jan 14, 2022 · 5 comments
Open
1 task done
Assignees
Labels
arch-wasm WebAssembly architecture area-Build-mono needs-further-triage Issue has been initially triaged, but needs deeper consideration or reconsideration
Milestone

Comments

@ericwj
Copy link

ericwj commented Jan 14, 2022

Is there an existing issue for this?

  • I have searched the existing issues

Describe the bug

A project created with the default blazorwasm template has issues publishing if the project directory full path contains symbolic links to volumes that do not have a drive letter.

Expected Behavior

It publishes.

Steps To Reproduce

repro.ps1:

$vhd = New-VHD .\Source.vhdx -SizeBytes 128MB
$vhd | Mount-VHD
$disk = Get-VHD .\Source.vhdx | Get-Disk
$disk | Initialize-Disk -PartitionStyle GPT
$part = $disk | New-Partition -UseMaximumSize
$part | Format-Volume -FileSystem NTFS
$part.AccessPaths
New-SymbolicLink -Name VolIdDir -Target $part.AccessPaths[0] -Type Junction
cd VolIdDir
mkdir BlazorWasm
cd BlazorWasm
dotnet new blazorwasm
dotnet publish -c Release -fl "-flp:logfile=msbuild.log;verbosity=detailed"
dir .\obj\Release\net6.0\wasm\for-publish\

Exceptions (if any)

\\?\Volume{4e3dc452-b23c-4002-a145-1a0ac76e966e}\
Junction created for VolIdDir <<===>> \\?\Volume{4e3dc452-b23c-4002-a145-1a0ac76e966e}\
Microsoft (R) Build Engine version 17.1.0-preview-21610-01+96a618ca5 for .NET
Copyright (C) Microsoft Corporation. All rights reserved.

  Determining projects to restore...
  All projects are up-to-date for restore.
  You are using a preview version of .NET. See: https://aka.ms/dotnet-core-preview
  BlazorWasm -> C:\BlazorLink\VolIdDir\BlazorWasm\bin\Release\net6.0\BlazorWasm.dll
  BlazorWasm (Blazor output) -> C:\BlazorLink\VolIdDir\BlazorWasm\bin\Release\net6.0\wwwroot
  Optimizing assemblies for size, which may change the behavior of the app. Be sure to test after publishing. See: https://aka.ms/dotnet-illink
  Optimizing assemblies for size, which may change the behavior of the app. Be sure to test after publishing. See: https://aka.ms/dotnet-illink
  Compiling native assets with emcc. This may take a while ...
  [1/3] pinvoke.c -> pinvoke.o [took 0,96s]
  [2/3] corebindings.c -> corebindings.o [took 1,13s]
  [3/3] driver.c -> driver.o [took 1,50s]
  Linking with emcc. This may take a while ...
   "C:\Program Files\dotnet\packs\Microsoft.NET.Runtime.Emscripten.2.0.23.Sdk.win-x64\6.0.0\tools\bin\wasm-ld.exe" -o C:\BlazorLink\VolIdDir\BlazorWasm\obj\Release\net6.0\wasm\for-publish\dotnet.wasm C:\BlazorLink\VolIdDir\BlazorWasm\obj\Release\net6.0\wasm\for-publish\pinvoke.o C:\BlazorLink\VolIdDir\BlazorWasm\obj\Release\net6.0\wasm\for-publish\driver.o C:\BlazorLink\VolIdDir\BlazorWasm\obj\Release\net6.0\wasm\for-publish\corebindings.o "C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Runtime.Mono.browser-wasm\6.0.1\runtimes\browser-wasm\native\libicui18n.a" "C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Runtime.Mono.browser-wasm\6.0.1\runtimes\browser-wasm\native\libicuuc.a" "C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Runtime.Mono.browser-wasm\6.0.1\runtimes\browser-wasm\native\libmono-component-debugger-stub-static.a" "C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Runtime.Mono.browser-wasm\6.0.1\runtimes\browser-wasm\native\libmono-component-diagnostics_tracing-stub-static.a" "C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Runtime.Mono.browser-wasm\6.0.1\runtimes\browser-wasm\native\libmono-component-hot_reload-stub-static.a" "C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Runtime.Mono.browser-wasm\6.0.1\runtimes\browser-wasm\native\libmono-ee-interp.a" "C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Runtime.Mono.browser-wasm\6.0.1\runtimes\browser-wasm\native\libmono-icall-table.a" "C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Runtime.Mono.browser-wasm\6.0.1\runtimes\browser-wasm\native\libmono-ilgen.a" "C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Runtime.Mono.browser-wasm\6.0.1\runtimes\browser-wasm\native\libmono-profiler-aot.a" "C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Runtime.Mono.browser-wasm\6.0.1\runtimes\browser-wasm\native\libmonosgen-2.0.a" "C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Runtime.Mono.browser-wasm\6.0.1\runtimes\browser-wasm\native\libSystem.IO.Compression.Native.a" "C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Runtime.Mono.browser-wasm\6.0.1\runtimes\browser-wasm\native\libSystem.Native.a" "-LC:\Program Files\dotnet\packs\Microsoft.NET.Runtime.Emscripten.2.0.23.Sdk.win-x64\6.0.0\tools\emscripten\cache\sysroot\lib\wasm32-emscripten" "C:\Program Files\dotnet\packs\Microsoft.NET.Runtime.Emscripten.2.0.23.Sdk.win-x64\6.0.0\tools\emscripten\cache\sysroot\lib\wasm32-emscripten\libgl.a" "C:\Program Files\dotnet\packs\Microsoft.NET.Runtime.Emscripten.2.0.23.Sdk.win-x64\6.0.0\tools\emscripten\cache\sysroot\lib\wasm32-emscripten\libal.a" "C:\Program Files\dotnet\packs\Microsoft.NET.Runtime.Emscripten.2.0.23.Sdk.win-x64\6.0.0\tools\emscripten\cache\sysroot\lib\wasm32-emscripten\libhtml5.a" "C:\Program Files\dotnet\packs\Microsoft.NET.Runtime.Emscripten.2.0.23.Sdk.win-x64\6.0.0\tools\emscripten\cache\sysroot\lib\wasm32-emscripten\libc.a" "C:\Program Files\dotnet\packs\Microsoft.NET.Runtime.Emscripten.2.0.23.Sdk.win-x64\6.0.0\tools\emscripten\cache\sysroot\lib\wasm32-emscripten\libcompiler_rt.a" "C:\Program Files\dotnet\packs\Microsoft.NET.Runtime.Emscripten.2.0.23.Sdk.win-x64\6.0.0\tools\emscripten\cache\sysroot\lib\wasm32-emscripten\libc++.a" "C:\Program Files\dotnet\packs\Microsoft.NET.Runtime.Emscripten.2.0.23.Sdk.win-x64\6.0.0\tools\emscripten\cache\sysroot\lib\wasm32-emscripten\libc++abi.a" "C:\Program Files\dotnet\packs\Microsoft.NET.Runtime.Emscripten.2.0.23.Sdk.win-x64\6.0.0\tools\emscripten\cache\sysroot\lib\wasm32-emscripten\libdlmalloc.a" "C:\Program Files\dotnet\packs\Microsoft.NET.Runtime.Emscripten.2.0.23.Sdk.win-x64\6.0.0\tools\emscripten\cache\sysroot\lib\wasm32-emscripten\libc_rt_wasm.a" "C:\Program Files\dotnet\packs\Microsoft.NET.Runtime.Emscripten.2.0.23.Sdk.win-x64\6.0.0\tools\emscripten\cache\sysroot\lib\wasm32-emscripten\libsockets.a" -mllvm -combiner-global-alias-analysis=false -mllvm -enable-emscripten-cxx-exceptions -mllvm -enable-emscripten-sjlj -mllvm -disable-lsr --allow-undefined --export putchar --export stackSave --export stackRestore --export stackAlloc --export __wasm_call_ctors --export __errno_location --export malloc --export free --export __cxa_is_pointer_type --export __cxa_can_catch --export setThrew --export _get_tzname --export _get_daylight --export _get_timezone --export ntohs --export htons --export htonl --export memset --export memalign --export emscripten_main_thread_process_queued_calls --export-if-defined=__start_em_asm --export-if-defined=__stop_em_asm --export-table -z stack-size=5242880 --initial-memory=536870912 --no-entry --max-memory=2147483648 --global-base=1024
wasm-ld : error : cannot open output file C:\BlazorLink\VolIdDir\BlazorWasm\obj\Release\net6.0\wasm\for-publish\dotnet.wasm: no such file or directory [C:\BlazorLink\VolIdDir\BlazorWasm\BlazorWasm.csproj]
emcc : error : '"C:\Program Files\dotnet\packs\Microsoft.NET.Runtime.Emscripten.2.0.23.Sdk.win-x64\6.0.0\tools\bin\wasm-ld.exe" -o C:\BlazorLink\VolIdDir\BlazorWasm\obj\Release\net6.0\wasm\for-publish\dotnet.wasm C:\BlazorLink\VolIdDir\BlazorWasm\obj\Release\net6.0\wasm\for-publish\pinvoke.o C:\BlazorLink\VolIdDir\BlazorWasm\obj\Release\net6.0\wasm\for-publish\driver.o C:\BlazorLink\VolIdDir\BlazorWasm\obj\Release\net6.0\wasm\for-publish\corebindings.o "C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Runtime.Mono.browser-wasm\6.0.1\runtimes\browser-wasm\native\libicui18n.a" "C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Runtime.Mono.browser-wasm\6.0.1\runtimes\browser-wasm\native\libicuuc.a" "C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Runtime.Mono.browser-wasm\6.0.1\runtimes\browser-wasm\native\libmono-component-debugger-stub-static.a" "C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Runtime.Mono.browser-wasm\6.0.1\runtimes\browser-wasm\native\libmono-component-diagnostics_tracing-stub-static.a" "C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Runtime.Mono.browser-wasm\6.0.1\runtimes\browser-wasm\native\libmono-component-hot_reload-stub-static.a" "C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Runtime.Mono.browser-wasm\6.0.1\runtimes\browser-wasm\native\libmono-ee-interp.a" "C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Runtime.Mono.browser-wasm\6.0.1\runtimes\browser-wasm\native\libmono-icall-table.a" "C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Runtime.Mono.browser-wasm\6.0.1\runtimes\browser-wasm\native\libmono-ilgen.a" "C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Runtime.Mono.browser-wasm\6.0.1\runtimes\browser-wasm\native\libmono-profiler-aot.a" "C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Runtime.Mono.browser-wasm\6.0.1\runtimes\browser-wasm\native\libmonosgen-2.0.a" "C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Runtime.Mono.browser-wasm\6.0.1\runtimes\browser-wasm\native\libSystem.IO.Compression.Native.a" "C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Runtime.Mono.browser-wasm\6.0.1\runtimes\browser-wasm\native\libSystem.Native.a" "-LC:\Program Files\dotnet\packs\Microsoft.NET.Runtime.Emscripten.2.0.23.Sdk.win-x64\6.0.0\tools\emscripten\cache\sysroot\lib\wasm32-emscripten" "C:\Program Files\dotnet\packs\Microsoft.NET.Runtime.Emscripten.2.0.23.Sdk.win-x64\6.0.0\tools\emscripten\cache\sysroot\lib\wasm32-emscripten\libgl.a" "C:\Program Files\dotnet\packs\Microsoft.NET.Runtime.Emscripten.2.0.23.Sdk.win-x64\6.0.0\tools\emscripten\cache\sysroot\lib\wasm32-emscripten\libal.a" "C:\Program Files\dotnet\packs\Microsoft.NET.Runtime.Emscripten.2.0.23.Sdk.win-x64\6.0.0\tools\emscripten\cache\sysroot\lib\wasm32-emscripten\libhtml5.a" "C:\Program Files\dotnet\packs\Microsoft.NET.Runtime.Emscripten.2.0.23.Sdk.win-x64\6.0.0\tools\emscripten\cache\sysroot\lib\wasm32-emscripten\libc.a" "C:\Program Files\dotnet\packs\Microsoft.NET.Runtime.Emscripten.2.0.23.Sdk.win-x64\6.0.0\tools\emscripten\cache\sysroot\lib\wasm32-emscripten\libcompiler_rt.a" "C:\Program Files\dotnet\packs\Microsoft.NET.Runtime.Emscripten.2.0.23.Sdk.win-x64\6.0.0\tools\emscripten\cache\sysroot\lib\wasm32-emscripten\libc++.a" "C:\Program Files\dotnet\packs\Microsoft.NET.Runtime.Emscripten.2.0.23.Sdk.win-x64\6.0.0\tools\emscripten\cache\sysroot\lib\wasm32-emscripten\libc++abi.a" "C:\Program Files\dotnet\packs\Microsoft.NET.Runtime.Emscripten.2.0.23.Sdk.win-x64\6.0.0\tools\emscripten\cache\sysroot\lib\wasm32-emscripten\libdlmalloc.a" "C:\Program Files\dotnet\packs\Microsoft.NET.Runtime.Emscripten.2.0.23.Sdk.win-x64\6.0.0\tools\emscripten\cache\sysroot\lib\wasm32-emscripten\libc_rt_wasm.a" "C:\Program Files\dotnet\packs\Microsoft.NET.Runtime.Emscripten.2.0.23.Sdk.win-x64\6.0.0\tools\emscripten\cache\sysroot\lib\wasm32-emscripten\libsockets.a" -mllvm -combiner-global-alias-analysis=false -mllvm -enable-emscripten-cxx-exceptions -mllvm -enable-emscripten-sjlj -mllvm -disable-lsr --allow-undefined --export putchar --export stackSave --export stackRestore --export stackAlloc --export __wasm_call_ctors --export __errno_location --export malloc --export free --export __cxa_is_pointer_type --export __cxa_can_catch --export setThrew --export _get_tzname --export _get_daylight --export _get_timezone --export ntohs --export htons --export htonl --export memset --export memalign --export emscripten_main_thread_process_queued_calls --export-if-defined=__start_em_asm --export-if-defined=__stop_em_asm --export-table -z stack-size=5242880 --initial-memory=536870912 --no-entry --max-memory=2147483648 --global-base=1024' failed (returned 1) [C:\BlazorLink\VolIdDir\BlazorWasm\BlazorWasm.csproj]
C:\Program Files\dotnet\packs\Microsoft.NET.Runtime.WebAssembly.Sdk\6.0.1\Sdk\WasmApp.Native.targets(375,5): error MSB3073: The command "emcc "@C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Runtime.Mono.browser-wasm\6.0.1\runtimes\browser-wasm\native\src\emcc-default.rsp" "@C:\BlazorLink\VolIdDir\BlazorWasm\obj\Release\net6.0\wasm\for-publish\emcc-link.rsp"" exited with code 1. [C:\BlazorLink\VolIdDir\BlazorWasm\BlazorWasm.csproj]

    Directory: C:\BlazorLink\VolIdDir\BlazorWasm\obj\Release\net6.0\wasm\for-publish

Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
-a---          14/01/2022    05:54          16056 corebindings.o
-a---          14/01/2022    05:54              0 dotnet.wasm.tmp76b276b
-a---          14/01/2022    05:54         103528 driver.o
-a---          14/01/2022    05:54            450 emcc-compile.rsp
-a---          14/01/2022    05:54           2711 emcc-link.rsp
-a---          14/01/2022    05:54          28732 icall-table.h
-a---          14/01/2022    05:54          11059 pinvoke-table.h
-a---          14/01/2022    05:54          21896 pinvoke.o
-a---          14/01/2022    05:54          48310 runtime-icall-table.h

.NET Version

6.0.200-preview.21617.4

Anything else?

msbuild.log

I suppose yet another tool not written on and for Windows misbehaves by resolving symlinks, supposedly wasm-ld since it appears it is responsible for producing the C:\BlazorLink\VolIdDir\BlazorWasm\obj\Release\net6.0\wasm\for-publish\dotnet.wasm file.

golang/go issues/40180
docker/cli issues/2648

@javiercn javiercn transferred this issue from dotnet/aspnetcore Jan 14, 2022
@dotnet-issue-labeler dotnet-issue-labeler bot added area-Build-mono untriaged New issue has not been triaged by the area owner labels Jan 14, 2022
@radical radical added the arch-wasm WebAssembly architecture label Jan 14, 2022
@ghost
Copy link

ghost commented Jan 14, 2022

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

Issue Details

Is there an existing issue for this?

  • I have searched the existing issues

Describe the bug

A project created with the default blazorwasm template has issues publishing if the project directory full path contains symbolic links to volumes that do not have a drive letter.

Expected Behavior

It publishes.

Steps To Reproduce

repro.ps1:

$vhd = New-VHD .\Source.vhdx -SizeBytes 128MB
$vhd | Mount-VHD
$disk = Get-VHD .\Source.vhdx | Get-Disk
$disk | Initialize-Disk -PartitionStyle GPT
$part = $disk | New-Partition -UseMaximumSize
$part | Format-Volume -FileSystem NTFS
$part.AccessPaths
New-SymbolicLink -Name VolIdDir -Target $part.AccessPaths[0] -Type Junction
cd VolIdDir
mkdir BlazorWasm
cd BlazorWasm
dotnet new blazorwasm
dotnet publish -c Release -fl "-flp:logfile=msbuild.log;verbosity=detailed"
dir .\obj\Release\net6.0\wasm\for-publish\

Exceptions (if any)

\\?\Volume{4e3dc452-b23c-4002-a145-1a0ac76e966e}\
Junction created for VolIdDir <<===>> \\?\Volume{4e3dc452-b23c-4002-a145-1a0ac76e966e}\
Microsoft (R) Build Engine version 17.1.0-preview-21610-01+96a618ca5 for .NET
Copyright (C) Microsoft Corporation. All rights reserved.

  Determining projects to restore...
  All projects are up-to-date for restore.
  You are using a preview version of .NET. See: https://aka.ms/dotnet-core-preview
  BlazorWasm -> C:\BlazorLink\VolIdDir\BlazorWasm\bin\Release\net6.0\BlazorWasm.dll
  BlazorWasm (Blazor output) -> C:\BlazorLink\VolIdDir\BlazorWasm\bin\Release\net6.0\wwwroot
  Optimizing assemblies for size, which may change the behavior of the app. Be sure to test after publishing. See: https://aka.ms/dotnet-illink
  Optimizing assemblies for size, which may change the behavior of the app. Be sure to test after publishing. See: https://aka.ms/dotnet-illink
  Compiling native assets with emcc. This may take a while ...
  [1/3] pinvoke.c -> pinvoke.o [took 0,96s]
  [2/3] corebindings.c -> corebindings.o [took 1,13s]
  [3/3] driver.c -> driver.o [took 1,50s]
  Linking with emcc. This may take a while ...
   "C:\Program Files\dotnet\packs\Microsoft.NET.Runtime.Emscripten.2.0.23.Sdk.win-x64\6.0.0\tools\bin\wasm-ld.exe" -o C:\BlazorLink\VolIdDir\BlazorWasm\obj\Release\net6.0\wasm\for-publish\dotnet.wasm C:\BlazorLink\VolIdDir\BlazorWasm\obj\Release\net6.0\wasm\for-publish\pinvoke.o C:\BlazorLink\VolIdDir\BlazorWasm\obj\Release\net6.0\wasm\for-publish\driver.o C:\BlazorLink\VolIdDir\BlazorWasm\obj\Release\net6.0\wasm\for-publish\corebindings.o "C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Runtime.Mono.browser-wasm\6.0.1\runtimes\browser-wasm\native\libicui18n.a" "C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Runtime.Mono.browser-wasm\6.0.1\runtimes\browser-wasm\native\libicuuc.a" "C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Runtime.Mono.browser-wasm\6.0.1\runtimes\browser-wasm\native\libmono-component-debugger-stub-static.a" "C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Runtime.Mono.browser-wasm\6.0.1\runtimes\browser-wasm\native\libmono-component-diagnostics_tracing-stub-static.a" "C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Runtime.Mono.browser-wasm\6.0.1\runtimes\browser-wasm\native\libmono-component-hot_reload-stub-static.a" "C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Runtime.Mono.browser-wasm\6.0.1\runtimes\browser-wasm\native\libmono-ee-interp.a" "C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Runtime.Mono.browser-wasm\6.0.1\runtimes\browser-wasm\native\libmono-icall-table.a" "C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Runtime.Mono.browser-wasm\6.0.1\runtimes\browser-wasm\native\libmono-ilgen.a" "C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Runtime.Mono.browser-wasm\6.0.1\runtimes\browser-wasm\native\libmono-profiler-aot.a" "C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Runtime.Mono.browser-wasm\6.0.1\runtimes\browser-wasm\native\libmonosgen-2.0.a" "C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Runtime.Mono.browser-wasm\6.0.1\runtimes\browser-wasm\native\libSystem.IO.Compression.Native.a" "C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Runtime.Mono.browser-wasm\6.0.1\runtimes\browser-wasm\native\libSystem.Native.a" "-LC:\Program Files\dotnet\packs\Microsoft.NET.Runtime.Emscripten.2.0.23.Sdk.win-x64\6.0.0\tools\emscripten\cache\sysroot\lib\wasm32-emscripten" "C:\Program Files\dotnet\packs\Microsoft.NET.Runtime.Emscripten.2.0.23.Sdk.win-x64\6.0.0\tools\emscripten\cache\sysroot\lib\wasm32-emscripten\libgl.a" "C:\Program Files\dotnet\packs\Microsoft.NET.Runtime.Emscripten.2.0.23.Sdk.win-x64\6.0.0\tools\emscripten\cache\sysroot\lib\wasm32-emscripten\libal.a" "C:\Program Files\dotnet\packs\Microsoft.NET.Runtime.Emscripten.2.0.23.Sdk.win-x64\6.0.0\tools\emscripten\cache\sysroot\lib\wasm32-emscripten\libhtml5.a" "C:\Program Files\dotnet\packs\Microsoft.NET.Runtime.Emscripten.2.0.23.Sdk.win-x64\6.0.0\tools\emscripten\cache\sysroot\lib\wasm32-emscripten\libc.a" "C:\Program Files\dotnet\packs\Microsoft.NET.Runtime.Emscripten.2.0.23.Sdk.win-x64\6.0.0\tools\emscripten\cache\sysroot\lib\wasm32-emscripten\libcompiler_rt.a" "C:\Program Files\dotnet\packs\Microsoft.NET.Runtime.Emscripten.2.0.23.Sdk.win-x64\6.0.0\tools\emscripten\cache\sysroot\lib\wasm32-emscripten\libc++.a" "C:\Program Files\dotnet\packs\Microsoft.NET.Runtime.Emscripten.2.0.23.Sdk.win-x64\6.0.0\tools\emscripten\cache\sysroot\lib\wasm32-emscripten\libc++abi.a" "C:\Program Files\dotnet\packs\Microsoft.NET.Runtime.Emscripten.2.0.23.Sdk.win-x64\6.0.0\tools\emscripten\cache\sysroot\lib\wasm32-emscripten\libdlmalloc.a" "C:\Program Files\dotnet\packs\Microsoft.NET.Runtime.Emscripten.2.0.23.Sdk.win-x64\6.0.0\tools\emscripten\cache\sysroot\lib\wasm32-emscripten\libc_rt_wasm.a" "C:\Program Files\dotnet\packs\Microsoft.NET.Runtime.Emscripten.2.0.23.Sdk.win-x64\6.0.0\tools\emscripten\cache\sysroot\lib\wasm32-emscripten\libsockets.a" -mllvm -combiner-global-alias-analysis=false -mllvm -enable-emscripten-cxx-exceptions -mllvm -enable-emscripten-sjlj -mllvm -disable-lsr --allow-undefined --export putchar --export stackSave --export stackRestore --export stackAlloc --export __wasm_call_ctors --export __errno_location --export malloc --export free --export __cxa_is_pointer_type --export __cxa_can_catch --export setThrew --export _get_tzname --export _get_daylight --export _get_timezone --export ntohs --export htons --export htonl --export memset --export memalign --export emscripten_main_thread_process_queued_calls --export-if-defined=__start_em_asm --export-if-defined=__stop_em_asm --export-table -z stack-size=5242880 --initial-memory=536870912 --no-entry --max-memory=2147483648 --global-base=1024
wasm-ld : error : cannot open output file C:\BlazorLink\VolIdDir\BlazorWasm\obj\Release\net6.0\wasm\for-publish\dotnet.wasm: no such file or directory [C:\BlazorLink\VolIdDir\BlazorWasm\BlazorWasm.csproj]
emcc : error : '"C:\Program Files\dotnet\packs\Microsoft.NET.Runtime.Emscripten.2.0.23.Sdk.win-x64\6.0.0\tools\bin\wasm-ld.exe" -o C:\BlazorLink\VolIdDir\BlazorWasm\obj\Release\net6.0\wasm\for-publish\dotnet.wasm C:\BlazorLink\VolIdDir\BlazorWasm\obj\Release\net6.0\wasm\for-publish\pinvoke.o C:\BlazorLink\VolIdDir\BlazorWasm\obj\Release\net6.0\wasm\for-publish\driver.o C:\BlazorLink\VolIdDir\BlazorWasm\obj\Release\net6.0\wasm\for-publish\corebindings.o "C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Runtime.Mono.browser-wasm\6.0.1\runtimes\browser-wasm\native\libicui18n.a" "C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Runtime.Mono.browser-wasm\6.0.1\runtimes\browser-wasm\native\libicuuc.a" "C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Runtime.Mono.browser-wasm\6.0.1\runtimes\browser-wasm\native\libmono-component-debugger-stub-static.a" "C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Runtime.Mono.browser-wasm\6.0.1\runtimes\browser-wasm\native\libmono-component-diagnostics_tracing-stub-static.a" "C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Runtime.Mono.browser-wasm\6.0.1\runtimes\browser-wasm\native\libmono-component-hot_reload-stub-static.a" "C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Runtime.Mono.browser-wasm\6.0.1\runtimes\browser-wasm\native\libmono-ee-interp.a" "C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Runtime.Mono.browser-wasm\6.0.1\runtimes\browser-wasm\native\libmono-icall-table.a" "C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Runtime.Mono.browser-wasm\6.0.1\runtimes\browser-wasm\native\libmono-ilgen.a" "C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Runtime.Mono.browser-wasm\6.0.1\runtimes\browser-wasm\native\libmono-profiler-aot.a" "C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Runtime.Mono.browser-wasm\6.0.1\runtimes\browser-wasm\native\libmonosgen-2.0.a" "C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Runtime.Mono.browser-wasm\6.0.1\runtimes\browser-wasm\native\libSystem.IO.Compression.Native.a" "C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Runtime.Mono.browser-wasm\6.0.1\runtimes\browser-wasm\native\libSystem.Native.a" "-LC:\Program Files\dotnet\packs\Microsoft.NET.Runtime.Emscripten.2.0.23.Sdk.win-x64\6.0.0\tools\emscripten\cache\sysroot\lib\wasm32-emscripten" "C:\Program Files\dotnet\packs\Microsoft.NET.Runtime.Emscripten.2.0.23.Sdk.win-x64\6.0.0\tools\emscripten\cache\sysroot\lib\wasm32-emscripten\libgl.a" "C:\Program Files\dotnet\packs\Microsoft.NET.Runtime.Emscripten.2.0.23.Sdk.win-x64\6.0.0\tools\emscripten\cache\sysroot\lib\wasm32-emscripten\libal.a" "C:\Program Files\dotnet\packs\Microsoft.NET.Runtime.Emscripten.2.0.23.Sdk.win-x64\6.0.0\tools\emscripten\cache\sysroot\lib\wasm32-emscripten\libhtml5.a" "C:\Program Files\dotnet\packs\Microsoft.NET.Runtime.Emscripten.2.0.23.Sdk.win-x64\6.0.0\tools\emscripten\cache\sysroot\lib\wasm32-emscripten\libc.a" "C:\Program Files\dotnet\packs\Microsoft.NET.Runtime.Emscripten.2.0.23.Sdk.win-x64\6.0.0\tools\emscripten\cache\sysroot\lib\wasm32-emscripten\libcompiler_rt.a" "C:\Program Files\dotnet\packs\Microsoft.NET.Runtime.Emscripten.2.0.23.Sdk.win-x64\6.0.0\tools\emscripten\cache\sysroot\lib\wasm32-emscripten\libc++.a" "C:\Program Files\dotnet\packs\Microsoft.NET.Runtime.Emscripten.2.0.23.Sdk.win-x64\6.0.0\tools\emscripten\cache\sysroot\lib\wasm32-emscripten\libc++abi.a" "C:\Program Files\dotnet\packs\Microsoft.NET.Runtime.Emscripten.2.0.23.Sdk.win-x64\6.0.0\tools\emscripten\cache\sysroot\lib\wasm32-emscripten\libdlmalloc.a" "C:\Program Files\dotnet\packs\Microsoft.NET.Runtime.Emscripten.2.0.23.Sdk.win-x64\6.0.0\tools\emscripten\cache\sysroot\lib\wasm32-emscripten\libc_rt_wasm.a" "C:\Program Files\dotnet\packs\Microsoft.NET.Runtime.Emscripten.2.0.23.Sdk.win-x64\6.0.0\tools\emscripten\cache\sysroot\lib\wasm32-emscripten\libsockets.a" -mllvm -combiner-global-alias-analysis=false -mllvm -enable-emscripten-cxx-exceptions -mllvm -enable-emscripten-sjlj -mllvm -disable-lsr --allow-undefined --export putchar --export stackSave --export stackRestore --export stackAlloc --export __wasm_call_ctors --export __errno_location --export malloc --export free --export __cxa_is_pointer_type --export __cxa_can_catch --export setThrew --export _get_tzname --export _get_daylight --export _get_timezone --export ntohs --export htons --export htonl --export memset --export memalign --export emscripten_main_thread_process_queued_calls --export-if-defined=__start_em_asm --export-if-defined=__stop_em_asm --export-table -z stack-size=5242880 --initial-memory=536870912 --no-entry --max-memory=2147483648 --global-base=1024' failed (returned 1) [C:\BlazorLink\VolIdDir\BlazorWasm\BlazorWasm.csproj]
C:\Program Files\dotnet\packs\Microsoft.NET.Runtime.WebAssembly.Sdk\6.0.1\Sdk\WasmApp.Native.targets(375,5): error MSB3073: The command "emcc "@C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Runtime.Mono.browser-wasm\6.0.1\runtimes\browser-wasm\native\src\emcc-default.rsp" "@C:\BlazorLink\VolIdDir\BlazorWasm\obj\Release\net6.0\wasm\for-publish\emcc-link.rsp"" exited with code 1. [C:\BlazorLink\VolIdDir\BlazorWasm\BlazorWasm.csproj]

    Directory: C:\BlazorLink\VolIdDir\BlazorWasm\obj\Release\net6.0\wasm\for-publish

Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
-a---          14/01/2022    05:54          16056 corebindings.o
-a---          14/01/2022    05:54              0 dotnet.wasm.tmp76b276b
-a---          14/01/2022    05:54         103528 driver.o
-a---          14/01/2022    05:54            450 emcc-compile.rsp
-a---          14/01/2022    05:54           2711 emcc-link.rsp
-a---          14/01/2022    05:54          28732 icall-table.h
-a---          14/01/2022    05:54          11059 pinvoke-table.h
-a---          14/01/2022    05:54          21896 pinvoke.o
-a---          14/01/2022    05:54          48310 runtime-icall-table.h

.NET Version

6.0.200-preview.21617.4

Anything else?

msbuild.log

I suppose yet another tool not written on and for Windows misbehaves by resolving symlinks, supposedly wasm-ld since it appears it is responsible for producing the C:\BlazorLink\VolIdDir\BlazorWasm\obj\Release\net6.0\wasm\for-publish\dotnet.wasm file.

golang/go issues/40180
docker/cli issues/2648

Author: ericwj
Assignees: -
Labels:

arch-wasm, untriaged, area-Build-mono

Milestone: -

@radical
Copy link
Member

radical commented Jan 14, 2022

cc @radekdoulik can we do anything about this?

@lewing lewing removed the untriaged New issue has not been triaged by the area owner label Jan 18, 2022
@lewing lewing added this to the 6.0.x milestone Jan 18, 2022
@radical
Copy link
Member

radical commented Jun 14, 2022

I cannot reproduce this with 7.0 preview5. I didn't try it in docker though. The base issues shared by @ericwj are still open - docker/cli#2648, and https://github.com/golang/goissues/40180 .

I don't see what we can do here though. We are running wasm-ld, and that is failing to create the output file.

@ericwj do you see the issue only in docker? Can you try with a nightly build from https://github.com/dotnet/installer/ ?

@radical radical added the needs-author-action An issue or pull request that requires more info or actions from the author. label Jun 14, 2022
@ghost
Copy link

ghost commented Jun 14, 2022

This issue has been marked needs-author-action and may be missing some important information.

@radical radical changed the title Cannot publish WASM project wasm-ld : error : cannot open output file (...)\wasm\for-publish\dotnet.wasm: no such file or directory [wasm] Using wasm-ld on paths containing symlinks doesn't work, on Windows Jun 14, 2022
@ericwj
Copy link
Author

ericwj commented Jun 15, 2022

Looks like it got fixed!

I wouldn't expect a fix to require source code changes in this repository; I would expect people here to be faster and better at diagnosing and suggesting changes to those tools though.

I didn't use docker. All I do is keep my Source directory on a VHD and keeping the files located at USERPROFILE\Source.

Wrt the issues

  • The golang issue is still open because nobody cares to actually make a pull request to change the documentation suggested. But it's almost OK like this because the issue is the documentation and it is being found, looking at the growing list of references.
  • The docker issue well an accompanying PR is in docker for a very long time now, just search for e.g. unable to evaluate symlinks in context path on StackOverflow to see what that fixes, but there are other issues indicated which haven't been fixed.

Both for go and docker the situation is, it isn't written by Microsoft. Both of these projects, on Windows, are giant hacks that only keep up appearance of working as long as nobody touches their system after Windows setup.

What can I do with /dotnet/installer? There is only source code in the releases.

On 6.0.400-preview

I find my system in this state; I'm surprised Visual Studio didn't update any of this just today:

.NET SDKs installed:
  6.0.400-preview.22301.10 [C:\Program Files\dotnet\sdk]
  7.0.100-preview.4.22252.9 [C:\Program Files\dotnet\sdk]

On .NET 7 Preview 4 it seems to work. Running this will fail, albeit with a different error

dotnet new blazorwasm -f net6.0
dotnet publish -c Release -fl "-flp:logfile=msbuild.log;verbosity=detailed"
(...)
emcc : error : response file not found: C:\Users\Eric\.nuget\packages\microsoft.netcore.app.runtime.mono.browser-wasm\6.0.4\runtimes
\browser-wasm\native\src\emcc-link.rsp [C:\BlazorLink\VolIdDir\BlazorWasm\BlazorWasm.csproj]

msbuild.log

On latest SDKs

After manually updating from dot.net:

.NET SDKs installed:
  6.0.301 [C:\Program Files\dotnet\sdk]
  6.0.400-preview.22301.10 [C:\Program Files\dotnet\sdk]
  7.0.100-preview.5.22307.18 [C:\Program Files\dotnet\sdk]

On both frameworks the publish succeeds.

@ghost ghost added needs-further-triage Issue has been initially triaged, but needs deeper consideration or reconsideration and removed needs-author-action An issue or pull request that requires more info or actions from the author. labels Jun 15, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
arch-wasm WebAssembly architecture area-Build-mono needs-further-triage Issue has been initially triaged, but needs deeper consideration or reconsideration
Projects
None yet
Development

No branches or pull requests

3 participants