unoplatform / uno

Build Mobile, Desktop and WebAssembly apps with C# and XAML. Today. Open source and professionally supported.
https://platform.uno
Apache License 2.0
8.78k stars 706 forks source link

browser-wasm doesn't compile with SkiaSharp.Views.Uno.WinUI SkiaSharp 3.0.0-preview.4.1 #17516

Open inforithmics opened 2 months ago

inforithmics commented 2 months ago

Current behavior

browser-wasm doesn't compile with SkiaSharp.Views.Uno.WinUI

Short Error Message:

Error (active)      System.Exception: Failed to run emscripten. More details are available in diagnostics logging mode or using the MSBuild /bl switch, see https://aka.platform.uno/msbuild-troubleshoot.
   at Uno.Wasm.Bootstrap.ShellTask_v1f66b9b15b66efa87ca84d70b6879ddd12d18414.RunPackager() in /_/src/Uno.Wasm.Bootstrap/ShellTask.cs:line 768
   at Uno.Wasm.Bootstrap.ShellTask_v1f66b9b15b66efa87ca84d70b6879ddd12d18414.Execute() in /_/src/Uno.Wasm.Bootstrap/ShellTask.cs:line 271   UnoApp4 (net8.0-browserwasm)    C:\Users\thoma\.nuget\packages\uno.wasm.bootstrap\8.0.15\build\Uno.Wasm.Bootstrap.targets   213     

Longer Error Message:

 [00:00:11.0392363] [722/722] powershell "$env:PYTHONUTF8=1; emcc  `@./emcc_link.rsp --pre-js C:/Users/thoma/AppData/Local/Temp/dotnet-runtime-wasm-windows-498e18e-7331dcb60e0-8790049905-Release-simd/runtimes/browser-wasm\native\es6\dotnet.es6.pre.js  --js-library C:/Users/thoma/AppData/Local/Temp/dotnet-runtime-wasm-windows-498e18e-7331dcb60e0-8790049905-Release-simd/runtimes/browser-wasm\native\es6\dotnet.es6.lib.js --extern-post-js C:/Users/thoma/AppData/Local/Temp/dotnet-runtime-wasm-windows-498e18e-7331dcb60e0-8790049905-Release-simd/runtimes/browser-wasm\native\es6\dotnet.es6.extpost.js --js-library C:/Users/thoma/AppData/Local/Temp/dotnet-runtime-wasm-windows-498e18e-7331dcb60e0-8790049905-Release-simd/runtimes/browser-wasm\native\pal_random.lib.js  ; if ($LastExitCode -ne 0) { exit 1; } "
1>    [00:00:11.0392568] FAILED: D:/source/UnoApp4/UnoApp4/obj/Debug/net8.0-browserwasm/dist_work/dotnet.native.js D:/source/UnoApp4/UnoApp4/obj/Debug/net8.0-browserwasm/dist_work/dotnet.native.wasm
1>    [00:00:11.0393020] powershell "$env:PYTHONUTF8=1; emcc  `@./emcc_link.rsp --pre-js C:/Users/thoma/AppData/Local/Temp/dotnet-runtime-wasm-windows-498e18e-7331dcb60e0-8790049905-Release-simd/runtimes/browser-wasm\native\es6\dotnet.es6.pre.js  --js-library C:/Users/thoma/AppData/Local/Temp/dotnet-runtime-wasm-windows-498e18e-7331dcb60e0-8790049905-Release-simd/runtimes/browser-wasm\native\es6\dotnet.es6.lib.js --extern-post-js C:/Users/thoma/AppData/Local/Temp/dotnet-runtime-wasm-windows-498e18e-7331dcb60e0-8790049905-Release-simd/runtimes/browser-wasm\native\es6\dotnet.es6.extpost.js --js-library C:/Users/thoma/AppData/Local/Temp/dotnet-runtime-wasm-windows-498e18e-7331dcb60e0-8790049905-Release-simd/runtimes/browser-wasm\native\pal_random.lib.js  ; if ($LastExitCode -ne 0) { exit 1; } "
1>    [00:00:11.0393206]  "C:/Users/thoma/.uno/emsdk/emsdk-3.1.34/emsdk/upstream/bin\clang.exe" --version
1>    [00:00:11.0395259]  "C:/Users/thoma/.uno/emsdk/emsdk-3.1.34/emsdk/upstream/bin\wasm-ld.exe" -o D:\source\UnoApp4\UnoApp4\obj\Debug\net8.0-browserwasm\dist_work/dotnet.native.wasm driver.o pinvoke.o corebindings.o C:/Users/thoma/.nuget/packages/skiasharp.nativeassets.webassembly/3.0.0-preview.3.1/buildTransitive/netstandard1.0/libSkiaSharp.a/3.1.34/simd,st/libSkiaSharp.a C:/Users/thoma/AppData/Local/Temp/dotnet-runtime-wasm-windows-498e18e-7331dcb60e0-8790049905-Release-simd/runtimes/browser-wasm/native/libmono-ee-interp.a C:/Users/thoma/AppData/Local/Temp/dotnet-runtime-wasm-windows-498e18e-7331dcb60e0-8790049905-Release-simd/runtimes/browser-wasm/native/libmono-icall-table.a C:/Users/thoma/AppData/Local/Temp/dotnet-runtime-wasm-windows-498e18e-7331dcb60e0-8790049905-Release-simd/runtimes/browser-wasm/native/libmonosgen-2.0.a C:/Users/thoma/AppData/Local/Temp/dotnet-runtime-wasm-windows-498e18e-7331dcb60e0-8790049905-Release-simd/runtimes/browser-wasm/native/wasm-bundled-timezones.a C:/Users/thoma/AppData/Local/Temp/dotnet-runtime-wasm-windows-498e18e-7331dcb60e0-8790049905-Release-simd/runtimes/browser-wasm/native/libmono-wasm-simd.a C:/Users/thoma/AppData/Local/Temp/dotnet-runtime-wasm-windows-498e18e-7331dcb60e0-8790049905-Release-simd/runtimes/browser-wasm/native/libSystem.Native.a C:/Users/thoma/AppData/Local/Temp/dotnet-runtime-wasm-windows-498e18e-7331dcb60e0-8790049905-Release-simd/runtimes/browser-wasm/native/libSystem.IO.Compression.Native.a C:/Users/thoma/AppData/Local/Temp/dotnet-runtime-wasm-windows-498e18e-7331dcb60e0-8790049905-Release-simd/runtimes/browser-wasm/native/libSystem.Globalization.Native.a C:/Users/thoma/AppData/Local/Temp/dotnet-runtime-wasm-windows-498e18e-7331dcb60e0-8790049905-Release-simd/runtimes/browser-wasm/native/libicuuc.a C:/Users/thoma/AppData/Local/Temp/dotnet-runtime-wasm-windows-498e18e-7331dcb60e0-8790049905-Release-simd/runtimes/browser-wasm/native/libicui18n.a C:/Users/thoma/AppData/Local/Temp/dotnet-runtime-wasm-windows-498e18e-7331dcb60e0-8790049905-Release-simd/runtimes/browser-wasm/native/libicudata.a C:/Users/thoma/AppData/Local/Temp/dotnet-runtime-wasm-windows-498e18e-7331dcb60e0-8790049905-Release-simd/runtimes/browser-wasm/native/libmono-wasm-eh-wasm.a C:/Users/thoma/AppData/Local/Temp/dotnet-runtime-wasm-windows-498e18e-7331dcb60e0-8790049905-Release-simd/runtimes/browser-wasm/native/libmono-component-marshal-ilgen-static.a C:/Users/thoma/AppData/Local/Temp/dotnet-runtime-wasm-windows-498e18e-7331dcb60e0-8790049905-Release-simd/runtimes/browser-wasm/native/libmono-component-diagnostics_tracing-static.a C:/Users/thoma/AppData/Local/Temp/dotnet-runtime-wasm-windows-498e18e-7331dcb60e0-8790049905-Release-simd/runtimes/browser-wasm/native/libmono-component-hot_reload-static.a C:/Users/thoma/AppData/Local/Temp/dotnet-runtime-wasm-windows-498e18e-7331dcb60e0-8790049905-Release-simd/runtimes/browser-wasm/native/libmono-component-debugger-static.a -LC:\Users\thoma\.uno\emsdk\emsdk-3.1.34\emsdk\upstream\emscripten\cache\sysroot\lib\wasm32-emscripten C:\Users\thoma\.uno\emsdk\emsdk-3.1.34\emsdk\upstream\emscripten\cache\sysroot\lib\wasm32-emscripten\libz.a -lGL -lal -lhtml5 -lstubs-debug -lnoexit -lc-debug -ldlmalloc -lcompiler_rt-wasm-sjlj -lc++-except -lc++abi-debug-except -lunwind-except -lsockets -mllvm -combiner-global-alias-analysis=false -mllvm -wasm-enable-sjlj -mllvm -disable-lsr -mllvm -wasm-enable-eh -mllvm -exception-model=wasm --allow-undefined-file=C:\Users\thoma\AppData\Local\Temp\tmpxv1fr5tg.undefined --strip-debug --export-if-defined=fmod --export-if-defined=atan2 --export-if-defined=fma --export-if-defined=pow --export-if-defined=fmodf --export-if-defined=atan2f --export-if-defined=fmaf --export-if-defined=powf --export-if-defined=asin --export-if-defined=asinh --export-if-defined=acos --export-if-defined=acosh --export-if-defined=atan --export-if-defined=atanh --export-if-defined=cbrt --export-if-defined=cos --export-if-defined=cosh --export-if-defined=exp --export-if-defined=log --export-if-defined=log2 --export-if-defined=log10 --export-if-defined=sin --export-if-defined=sinh --export-if-defined=tan --export-if-defined=tanh --export-if-defined=asinf --export-if-defined=asinhf --export-if-defined=acosf --export-if-defined=acoshf --export-if-defined=atanf --export-if-defined=atanhf --export-if-defined=cbrtf --export-if-defined=cosf --export-if-defined=coshf --export-if-defined=expf --export-if-defined=logf --export-if-defined=log2f --export-if-defined=log10f --export-if-defined=sinf --export-if-defined=sinhf --export-if-defined=tanf --export-if-defined=tanhf --export-if-defined=malloc --export-if-defined=stackSave --export-if-defined=stackRestore --export-if-defined=stackAlloc --export-if-defined=memalign --export-if-defined=memset --export-if-defined=htons --export-if-defined=ntohs --export-if-defined=free --export-if-defined=__get_exception_message --export-if-defined=__cpp_exception --export-if-defined=__cxa_increment_exception_refcount --export-if-defined=__cxa_decrement_exception_refcount --export-if-defined=__thrown_object_from_unwind_exception --export-if-defined=__start_em_asm --export-if-defined=__stop_em_asm --export-if-defined=__start_em_lib_deps --export-if-defined=__stop_em_lib_deps --export-if-defined=__start_em_js --export-if-defined=__stop_em_js --export-if-defined=fflush --export=emscripten_stack_get_end --export=emscripten_stack_get_free --export=emscripten_stack_get_base --export=emscripten_stack_get_current --export=emscripten_stack_init --export=stackSave --export=stackRestore --export=stackAlloc --export=__errno_location --export=malloc --export=free --export=__trap --export=__wasm_call_ctors --export=__dl_seterr --export=emscripten_builtin_memalign --export=ntohs --export=htons --export=htonl --export-table --growable-table -z stack-size=5242880 --initial-memory=16777216 --no-entry --max-memory=2147483648 --stack-first
1>    [00:00:11.0395413] wasm-ld: error: C:/Users/thoma/.nuget/packages/skiasharp.nativeassets.webassembly/3.0.0-preview.3.1/buildTransitive/netstandard1.0/libSkiaSharp.a/3.1.34/simd,st/libSkiaSharp.a(gpu.GrGLAssembleWebGLInterfaceAutogen.o): undefined symbol: emscripten_glWaitSync
1>    [00:00:11.0395465] wasm-ld: error: C:/Users/thoma/.nuget/packages/skiasharp.nativeassets.webassembly/3.0.0-preview.3.1/buildTransitive/netstandard1.0/libSkiaSharp.a/3.1.34/simd,st/libSkiaSharp.a(gpu.GrGLAssembleWebGLInterfaceAutogen.o): undefined symbol: emscripten_glClientWaitSync
1>    [00:00:11.0395821] wasm-ld: error: C:/Users/thoma/.nuget/packages/skiasharp.nativeassets.webassembly/3.0.0-preview.3.1/buildTransitive/netstandard1.0/libSkiaSharp.a/3.1.34/simd,st/libSkiaSharp.a(gpu.GrGLAssembleWebGLInterfaceAutogen.o): undefined symbol: emscripten_glGetStringi
1>    [00:00:11.0395865] wasm-ld: error: C:/Users/thoma/.nuget/packages/skiasharp.nativeassets.webassembly/3.0.0-preview.3.1/buildTransitive/netstandard1.0/libSkiaSharp.a/3.1.34/simd,st/libSkiaSharp.a(gpu.GrGLAssembleWebGLInterfaceAutogen.o): undefined symbol: emscripten_glGetStringi
1>    [00:00:11.0395903] wasm-ld: error: C:/Users/thoma/.nuget/packages/skiasharp.nativeassets.webassembly/3.0.0-preview.3.1/buildTransitive/netstandard1.0/libSkiaSharp.a/3.1.34/simd,st/libSkiaSharp.a(gpu.GrGLAssembleWebGLInterfaceAutogen.o): undefined symbol: emscripten_glDrawElementsInstancedBaseVertexBaseInstanceWEBGL
1>    [00:00:11.0395941] wasm-ld: error: C:/Users/thoma/.nuget/packages/skiasharp.nativeassets.webassembly/3.0.0-preview.3.1/buildTransitive/netstandard1.0/libSkiaSharp.a/3.1.34/simd,st/libSkiaSharp.a(gpu.GrGLAssembleWebGLInterfaceAutogen.o): undefined symbol: emscripten_glDrawArraysInstancedBaseInstanceWEBGL
1>    [00:00:11.0396261] wasm-ld: error: C:/Users/thoma/.nuget/packages/skiasharp.nativeassets.webassembly/3.0.0-preview.3.1/buildTransitive/netstandard1.0/libSkiaSharp.a/3.1.34/simd,st/libSkiaSharp.a(gpu.GrGLAssembleWebGLInterfaceAutogen.o): undefined symbol: emscripten_glReadBuffer
1>    [00:00:11.0396360] wasm-ld: error: C:/Users/thoma/.nuget/packages/skiasharp.nativeassets.webassembly/3.0.0-preview.3.1/buildTransitive/netstandard1.0/libSkiaSharp.a/3.1.34/simd,st/libSkiaSharp.a(gpu.GrGLAssembleWebGLInterfaceAutogen.o): undefined symbol: emscripten_glMultiDrawElementsInstancedBaseVertexBaseInstanceWEBGL
1>    [00:00:11.0396403] wasm-ld: error: C:/Users/thoma/.nuget/packages/skiasharp.nativeassets.webassembly/3.0.0-preview.3.1/buildTransitive/netstandard1.0/libSkiaSharp.a/3.1.34/simd,st/libSkiaSharp.a(gpu.GrGLAssembleWebGLInterfaceAutogen.o): undefined symbol: emscripten_glMultiDrawArraysInstancedBaseInstanceWEBGL
1>    [00:00:11.0396781] wasm-ld: error: C:/Users/thoma/.nuget/packages/skiasharp.nativeassets.webassembly/3.0.0-preview.3.1/buildTransitive/netstandard1.0/libSkiaSharp.a/3.1.34/simd,st/libSkiaSharp.a(gpu.GrGLAssembleWebGLInterfaceAutogen.o): undefined symbol: emscripten_glVertexAttribIPointer
1>    [00:00:11.0396922] wasm-ld: error: C:/Users/thoma/.nuget/packages/skiasharp.nativeassets.webassembly/3.0.0-preview.3.1/buildTransitive/netstandard1.0/libSkiaSharp.a/3.1.34/simd,st/libSkiaSharp.a(gpu.GrGLAssembleWebGLInterfaceAutogen.o): undefined symbol: emscripten_glTexStorage2D
1>    [00:00:11.0396954] wasm-ld: error: C:/Users/thoma/.nuget/packages/skiasharp.nativeassets.webassembly/3.0.0-preview.3.1/buildTransitive/netstandard1.0/libSkiaSharp.a/3.1.34/simd,st/libSkiaSharp.a(gpu.GrGLAssembleWebGLInterfaceAutogen.o): undefined symbol: emscripten_glDrawRangeElements
1>    [00:00:11.0396980] wasm-ld: error: C:/Users/thoma/.nuget/packages/skiasharp.nativeassets.webassembly/3.0.0-preview.3.1/buildTransitive/netstandard1.0/libSkiaSharp.a/3.1.34/simd,st/libSkiaSharp.a(gpu.GrGLAssembleWebGLInterfaceAutogen.o): undefined symbol: emscripten_glRenderbufferStorageMultisample
1>    [00:00:11.0397356] wasm-ld: error: C:/Users/thoma/.nuget/packages/skiasharp.nativeassets.webassembly/3.0.0-preview.3.1/buildTransitive/netstandard1.0/libSkiaSharp.a/3.1.34/simd,st/libSkiaSharp.a(gpu.GrGLAssembleWebGLInterfaceAutogen.o): undefined symbol: emscripten_glBlitFramebuffer
1>    [00:00:11.0397438] wasm-ld: error: C:/Users/thoma/.nuget/packages/skiasharp.nativeassets.webassembly/3.0.0-preview.3.1/buildTransitive/netstandard1.0/libSkiaSharp.a/3.1.34/simd,st/libSkiaSharp.a(gpu.GrGLAssembleWebGLInterfaceAutogen.o): undefined symbol: emscripten_glDeleteSync
1>    [00:00:11.0397494] wasm-ld: error: C:/Users/thoma/.nuget/packages/skiasharp.nativeassets.webassembly/3.0.0-preview.3.1/buildTransitive/netstandard1.0/libSkiaSharp.a/3.1.34/simd,st/libSkiaSharp.a(gpu.GrGLAssembleWebGLInterfaceAutogen.o): undefined symbol: emscripten_glCopyBufferSubData
1>    [00:00:11.0397569] wasm-ld: error: C:/Users/thoma/.nuget/packages/skiasharp.nativeassets.webassembly/3.0.0-preview.3.1/buildTransitive/netstandard1.0/libSkiaSharp.a/3.1.34/simd,st/libSkiaSharp.a(gpu.GrGLAssembleWebGLInterfaceAutogen.o): undefined symbol: emscripten_glIsSync
1>    [00:00:11.0397974] wasm-ld: error: C:/Users/thoma/.nuget/packages/skiasharp.nativeassets.webassembly/3.0.0-preview.3.1/buildTransitive/netstandard1.0/libSkiaSharp.a/3.1.34/simd,st/libSkiaSharp.a(gpu.GrGLAssembleWebGLInterfaceAutogen.o): undefined symbol: emscripten_glFenceSync
1>    [00:00:11.0398151] wasm-ld: error: C:/Users/thoma/.nuget/packages/skiasharp.nativeassets.webassembly/3.0.0-preview.3.1/buildTransitive/netstandard1.0/libSkiaSharp.a/3.1.34/simd,st/libSkiaSharp.a(gpu.GrGLAssembleWebGLInterfaceAutogen.o): undefined symbol: emscripten_glSamplerParameteriv
1>    [00:00:11.0398204] wasm-ld: error: C:/Users/thoma/.nuget/packages/skiasharp.nativeassets.webassembly/3.0.0-preview.3.1/buildTransitive/netstandard1.0/libSkiaSharp.a/3.1.34/simd,st/libSkiaSharp.a(gpu.GrGLAssembleWebGLInterfaceAutogen.o): undefined symbol: emscripten_glSamplerParameteri
1>    [00:00:11.0398243] wasm-ld: error: too many errors emitted, stopping now (use -error-limit=0 to see all errors)
1>    [00:00:11.0401717] emcc: error: 'C:/Users/thoma/.uno/emsdk/emsdk-3.1.34/emsdk/upstream/bin\wasm-ld.exe -o D:\source\UnoApp4\UnoApp4\obj\Debug\net8.0-browserwasm\dist_work/dotnet.native.wasm driver.o pinvoke.o corebindings.o C:/Users/thoma/.nuget/packages/skiasharp.nativeassets.webassembly/3.0.0-preview.3.1/buildTransitive/netstandard1.0/libSkiaSharp.a/3.1.34/simd,st/libSkiaSharp.a C:/Users/thoma/AppData/Local/Temp/dotnet-runtime-wasm-windows-498e18e-7331dcb60e0-8790049905-Release-simd/runtimes/browser-wasm/native/libmono-ee-interp.a C:/Users/thoma/AppData/Local/Temp/dotnet-runtime-wasm-windows-498e18e-7331dcb60e0-8790049905-Release-simd/runtimes/browser-wasm/native/libmono-icall-table.a C:/Users/thoma/AppData/Local/Temp/dotnet-runtime-wasm-windows-498e18e-7331dcb60e0-8790049905-Release-simd/runtimes/browser-wasm/native/libmonosgen-2.0.a C:/Users/thoma/AppData/Local/Temp/dotnet-runtime-wasm-windows-498e18e-7331dcb60e0-8790049905-Release-simd/runtimes/browser-wasm/native/wasm-bundled-timezones.a C:/Users/thoma/AppData/Local/Temp/dotnet-runtime-wasm-windows-498e18e-7331dcb60e0-8790049905-Release-simd/runtimes/browser-wasm/native/libmono-wasm-simd.a C:/Users/thoma/AppData/Local/Temp/dotnet-runtime-wasm-windows-498e18e-7331dcb60e0-8790049905-Release-simd/runtimes/browser-wasm/native/libSystem.Native.a C:/Users/thoma/AppData/Local/Temp/dotnet-runtime-wasm-windows-498e18e-7331dcb60e0-8790049905-Release-simd/runtimes/browser-wasm/native/libSystem.IO.Compression.Native.a C:/Users/thoma/AppData/Local/Temp/dotnet-runtime-wasm-windows-498e18e-7331dcb60e0-8790049905-Release-simd/runtimes/browser-wasm/native/libSystem.Globalization.Native.a C:/Users/thoma/AppData/Local/Temp/dotnet-runtime-wasm-windows-498e18e-7331dcb60e0-8790049905-Release-simd/runtimes/browser-wasm/native/libicuuc.a C:/Users/thoma/AppData/Local/Temp/dotnet-runtime-wasm-windows-498e18e-7331dcb60e0-8790049905-Release-simd/runtimes/browser-wasm/native/libicui18n.a C:/Users/thoma/AppData/Local/Temp/dotnet-runtime-wasm-windows-498e18e-7331dcb60e0-8790049905-Release-simd/runtimes/browser-wasm/native/libicudata.a C:/Users/thoma/AppData/Local/Temp/dotnet-runtime-wasm-windows-498e18e-7331dcb60e0-8790049905-Release-simd/runtimes/browser-wasm/native/libmono-wasm-eh-wasm.a C:/Users/thoma/AppData/Local/Temp/dotnet-runtime-wasm-windows-498e18e-7331dcb60e0-8790049905-Release-simd/runtimes/browser-wasm/native/libmono-component-marshal-ilgen-static.a C:/Users/thoma/AppData/Local/Temp/dotnet-runtime-wasm-windows-498e18e-7331dcb60e0-8790049905-Release-simd/runtimes/browser-wasm/native/libmono-component-diagnostics_tracing-static.a C:/Users/thoma/AppData/Local/Temp/dotnet-runtime-wasm-windows-498e18e-7331dcb60e0-8790049905-Release-simd/runtimes/browser-wasm/native/libmono-component-hot_reload-static.a C:/Users/thoma/AppData/Local/Temp/dotnet-runtime-wasm-windows-498e18e-7331dcb60e0-8790049905-Release-simd/runtimes/browser-wasm/native/libmono-component-debugger-static.a -LC:\Users\thoma\.uno\emsdk\emsdk-3.1.34\emsdk\upstream\emscripten\cache\sysroot\lib\wasm32-emscripten C:\Users\thoma\.uno\emsdk\emsdk-3.1.34\emsdk\upstream\emscripten\cache\sysroot\lib\wasm32-emscripten\libz.a -lGL -lal -lhtml5 -lstubs-debug -lnoexit -lc-debug -ldlmalloc -lcompiler_rt-wasm-sjlj -lc++-except -lc++abi-debug-except -lunwind-except -lsockets -mllvm -combiner-global-alias-analysis=false -mllvm -wasm-enable-sjlj -mllvm -disable-lsr -mllvm -wasm-enable-eh -mllvm -exception-model=wasm --allow-undefined-file=C:\Users\thoma\AppData\Local\Temp\tmpxv1fr5tg.undefined --strip-debug --export-if-defined=fmod --export-if-defined=atan2 --export-if-defined=fma --export-if-defined=pow --export-if-defined=fmodf --export-if-defined=atan2f --export-if-defined=fmaf --export-if-defined=powf --export-if-defined=asin --export-if-defined=asinh --export-if-defined=acos --export-if-defined=acosh --export-if-defined=atan --export-if-defined=atanh --export-if-defined=cbrt --export-if-defined=cos --export-if-defined=cosh --export-if-defined=exp --export-if-defined=log --export-if-defined=log2 --export-if-defined=log10 --export-if-defined=sin --export-if-defined=sinh --export-if-defined=tan --export-if-defined=tanh --export-if-defined=asinf --export-if-defined=asinhf --export-if-defined=acosf --export-if-defined=acoshf --export-if-defined=atanf --export-if-defined=atanhf --export-if-defined=cbrtf --export-if-defined=cosf --export-if-defined=coshf --export-if-defined=expf --export-if-defined=logf --export-if-defined=log2f --export-if-defined=log10f --export-if-defined=sinf --export-if-defined=sinhf --export-if-defined=tanf --export-if-defined=tanhf --export-if-defined=malloc --export-if-defined=stackSave --export-if-defined=stackRestore --export-if-defined=stackAlloc --export-if-defined=memalign --export-if-defined=memset --export-if-defined=htons --export-if-defined=ntohs --export-if-defined=free --export-if-defined=__get_exception_message --export-if-defined=__cpp_exception --export-if-defined=__cxa_increment_exception_refcount --export-if-defined=__cxa_decrement_exception_refcount --export-if-defined=__thrown_object_from_unwind_exception --export-if-defined=__start_em_asm --export-if-defined=__stop_em_asm --export-if-defined=__start_em_lib_deps --export-if-defined=__stop_em_lib_deps --export-if-defined=__start_em_js --export-if-defined=__stop_em_js --export-if-defined=fflush --export=emscripten_stack_get_end --export=emscripten_stack_get_free --export=emscripten_stack_get_base --export=emscripten_stack_get_current --export=emscripten_stack_init --export=stackSave --export=stackRestore --export=stackAlloc --export=__errno_location --export=malloc --export=free --export=__trap --export=__wasm_call_ctors --export=__dl_seterr --export=emscripten_builtin_memalign --export=ntohs --export=htons --export=htonl --export-table --growable-table -z stack-size=5242880 --initial-memory=16777216 --no-entry --max-memory=2147483648 --stack-first' failed (returned 1)
1>    [00:00:11.0401890]

Expected behavior

browser-wasm compiles with SkiaSharp.Views.Uno.WinUI

How to reproduce it (as minimally and precisely as possible)

UnoApp4.zip

Workaround

None found yet

Works on UWP/WinUI

None

Environment

Uno.UI / Uno.UI.WebAssembly / Uno.UI.Skia

NuGet package version(s)

5.2.175 https://www.nuget.org/packages/SkiaSharp.Views.Uno.WinUI/3.0.0-preview.3.1

I tried the newest Uno.Sdk too and still the same error message. "Uno.Sdk": "5.4.0-dev.119"

Affected platforms

WebAssembly

IDE

Visual Studio 2022

IDE version

17.10

Relevant plugins

Resharper

Anything else we need to know?

Here I'm trying to use SkiaSharp 3.0.0-preview.3.1 the only target that does not compile yet is browser-wasm (Is currently disabled). https://github.com/Mapsui/Mapsui/pull/2603

inforithmics commented 2 months ago

I think this is being fixed here https://github.com/mono/SkiaSharp/pull/2927 escpecially in this commit https://github.com/mono/SkiaSharp/pull/2927/commits/f2afcb6e1c307a6f3341a0521dd66f05b4f22170 (where webgl is specified for wasm -s USE_WEBGL2=1)

jeromelaban commented 2 months ago

Support for SkiaSharp 3.0 is coming in Uno 5.3 and later, and additional changes will follow as the newer bits get available.

inforithmics commented 2 months ago

Thanks for the clarification: using uno.Sdk 5.3.0-dev.1873 seems to fix the build error with browser-wasm

jeromelaban commented 2 months ago

Thanks for the update!

inforithmics commented 2 months ago

Unfortunatly the error still exists. During a merge the SkiaSharp Version got downgraded to 2.88.8 And there it works but with SkiaSharp 3.0.0-preview.4.1 it doesn't

jeromelaban commented 2 months ago

@inforithmics which errors do you get?

inforithmics commented 2 months ago

It is now a different message

C:\Users\thoma\.nuget\packages\uno.wasm.bootstrap\8.0.15\build\Uno.Wasm.Bootstrap.targets(213,3): error : [00:00:01.1118810] Unhandled exception. System.Exception: Could not resolve SkiaSharp.Views.Windows
11>C:\Users\thoma\.nuget\packages\uno.wasm.bootstrap\8.0.15\build\Uno.Wasm.Bootstrap.targets(213,3): error : [00:00:01.1120130]    at Driver.Resolve(String asm_name, AssemblyKind& kind) in /_/src/Uno.Wasm.Packager/packager.cs:line 248
11>C:\Users\thoma\.nuget\packages\uno.wasm.bootstrap\8.0.15\build\Uno.Wasm.Bootstrap.targets(213,3): error : [00:00:01.1120250]    at Driver.Import(String ra, AssemblyKind kind) in /_/src/Uno.Wasm.Packager/packager.cs:line 319
11>C:\Users\thoma\.nuget\packages\uno.wasm.bootstrap\8.0.15\build\Uno.Wasm.Bootstrap.targets(213,3): error : [00:00:01.1120285]    at Driver.Import(String ra, AssemblyKind kind) in /_/src/Uno.Wasm.Packager/packager.cs:line 319
11>C:\Users\thoma\.nuget\packages\uno.wasm.bootstrap\8.0.15\build\Uno.Wasm.Bootstrap.targets(213,3): error : [00:00:01.1120340]    at Driver.Run(String[] args) in /_/src/Uno.Wasm.Packager/packager.cs:line 786
11>C:\Users\thoma\.nuget\packages\uno.wasm.bootstrap\8.0.15\build\Uno.Wasm.Bootstrap.targets(213,3): error : [00:00:01.1120701]    at Driver.Main(String[] args) in /_/src/Uno.Wasm.Packager/packager.cs:line 413
11>C:\Users\thoma\.nuget\packages\uno.wasm.bootstrap\8.0.15\build\Uno.Wasm.Bootstrap.targets(213,3): error : System.Exception: Failed to generate wasm layout (More details are available in diagnostics mode or using the MSBuild /bl switch)
11>C:\Users\thoma\.nuget\packages\uno.wasm.bootstrap\8.0.15\build\Uno.Wasm.Bootstrap.targets(213,3): error :    at Uno.Wasm.Bootstrap.ShellTask_v1f66b9b15b66efa87ca84d70b6879ddd12d18414.RunPackager() in /_/src/Uno.Wasm.Bootstrap/ShellTask.cs:line 768
11>C:\Users\thoma\.nuget\packages\uno.wasm.bootstrap\8.0.15\build\Uno.Wasm.Bootstrap.targets(213,3): error :    at Uno.Wasm.Bootstrap.ShellTask_v1f66b9b15b66efa87ca84d70b6879ddd12d18414.Execute() in /_/src/Uno.Wasm.Bootstrap/ShellTask.cs:line 271
jeromelaban commented 1 month ago

@inforithmics this particular issue is fixed in both 5.3 and 5.4-dev builds. Which build of uno did you try?

inforithmics commented 1 month ago

I tried again 5.3.31 (Uno.Sdk) (I did run uno-check to update the dependencies).

[00:00:07.8690982]  "C:/Users/thoma/.uno/emsdk/emsdk-3.1.34/emsdk/upstream/bin\wasm-ld.exe" -o D:\GitHub\Mapsui\Samples\Mapsui.Samples.Uno.WinUI\Mapsui.Samples.Uno.WinUI\obj\Debug\net8.0-browserwasm\dist_work/dotnet.native.wasm driver.o pinvoke.o corebindings.o C:/Users/thoma/.nuget/packages/skiasharp.nativeassets.webassembly/3.0.0-preview.4.1/buildTransitive/netstandard1.0/libSkiaSharp.a/3.1.34/simd,st/libSkiaSharp.a C:/Users/thoma/.nuget/packages/harfbuzzsharp.nativeassets.webassembly/8.3.0-preview.4.1/buildTransitive/netstandard1.0/libHarfBuzzSharp.a/3.1.34/simd,st/libHarfBuzzSharp.a C:/Users/thoma/AppData/Local/Temp/dotnet-runtime-wasm-windows-498e18e-7331dcb60e0-8790049905-Release-simd/runtimes/browser-wasm/native/libmono-ee-interp.a C:/Users/thoma/AppData/Local/Temp/dotnet-runtime-wasm-windows-498e18e-7331dcb60e0-8790049905-Release-simd/runtimes/browser-wasm/native/libmono-icall-table.a C:/Users/thoma/AppData/Local/Temp/dotnet-runtime-wasm-windows-498e18e-7331dcb60e0-8790049905-Release-simd/runtimes/browser-wasm/native/libmonosgen-2.0.a C:/Users/thoma/AppData/Local/Temp/dotnet-runtime-wasm-windows-498e18e-7331dcb60e0-8790049905-Release-simd/runtimes/browser-wasm/native/wasm-bundled-timezones.a C:/Users/thoma/AppData/Local/Temp/dotnet-runtime-wasm-windows-498e18e-7331dcb60e0-8790049905-Release-simd/runtimes/browser-wasm/native/libmono-wasm-simd.a C:/Users/thoma/AppData/Local/Temp/dotnet-runtime-wasm-windows-498e18e-7331dcb60e0-8790049905-Release-simd/runtimes/browser-wasm/native/libSystem.Native.a C:/Users/thoma/AppData/Local/Temp/dotnet-runtime-wasm-windows-498e18e-7331dcb60e0-8790049905-Release-simd/runtimes/browser-wasm/native/libSystem.IO.Compression.Native.a C:/Users/thoma/AppData/Local/Temp/dotnet-runtime-wasm-windows-498e18e-7331dcb60e0-8790049905-Release-simd/runtimes/browser-wasm/native/libSystem.Globalization.Native.a C:/Users/thoma/AppData/Local/Temp/dotnet-runtime-wasm-windows-498e18e-7331dcb60e0-8790049905-Release-simd/runtimes/browser-wasm/native/libicuuc.a C:/Users/thoma/AppData/Local/Temp/dotnet-runtime-wasm-windows-498e18e-7331dcb60e0-8790049905-Release-simd/runtimes/browser-wasm/native/libicui18n.a C:/Users/thoma/AppData/Local/Temp/dotnet-runtime-wasm-windows-498e18e-7331dcb60e0-8790049905-Release-simd/runtimes/browser-wasm/native/libicudata.a C:/Users/thoma/AppData/Local/Temp/dotnet-runtime-wasm-windows-498e18e-7331dcb60e0-8790049905-Release-simd/runtimes/browser-wasm/native/libmono-wasm-eh-wasm.a C:/Users/thoma/AppData/Local/Temp/dotnet-runtime-wasm-windows-498e18e-7331dcb60e0-8790049905-Release-simd/runtimes/browser-wasm/native/libmono-component-marshal-ilgen-static.a C:/Users/thoma/AppData/Local/Temp/dotnet-runtime-wasm-windows-498e18e-7331dcb60e0-8790049905-Release-simd/runtimes/browser-wasm/native/libmono-component-diagnostics_tracing-static.a C:/Users/thoma/AppData/Local/Temp/dotnet-runtime-wasm-windows-498e18e-7331dcb60e0-8790049905-Release-simd/runtimes/browser-wasm/native/libmono-component-hot_reload-static.a C:/Users/thoma/AppData/Local/Temp/dotnet-runtime-wasm-windows-498e18e-7331dcb60e0-8790049905-Release-simd/runtimes/browser-wasm/native/libmono-component-debugger-static.a -LC:\Users\thoma\.uno\emsdk\emsdk-3.1.34\emsdk\upstream\emscripten\cache\sysroot\lib\wasm32-emscripten C:\Users\thoma\.uno\emsdk\emsdk-3.1.34\emsdk\upstream\emscripten\cache\sysroot\lib\wasm32-emscripten\libz.a -lGL -lal -lhtml5 -lstubs-debug -lnoexit -lc-debug -ldlmalloc -lcompiler_rt-wasm-sjlj -lc++-except -lc++abi-debug-except -lunwind-except -lsockets -mllvm -combiner-global-alias-analysis=false -mllvm -wasm-enable-sjlj -mllvm -disable-lsr -mllvm -wasm-enable-eh -mllvm -exception-model=wasm --allow-undefined-file=C:\Users\thoma\AppData\Local\Temp\tmp0oxvv089.undefined --strip-debug --export-if-defined=fmod --export-if-defined=atan2 --export-if-defined=fma --export-if-defined=pow --export-if-defined=fmodf --export-if-defined=atan2f --export-if-defined=fmaf --export-if-defined=powf --export-if-defined=asin --export-if-defined=asinh --export-if-defined=acos --export-if-defined=acosh --export-if-defined=atan --export-if-defined=atanh --export-if-defined=cbrt --export-if-defined=cos --export-if-defined=cosh --export-if-defined=exp --export-if-defined=log --export-if-defined=log2 --export-if-defined=log10 --export-if-defined=sin --export-if-defined=sinh --export-if-defined=tan --export-if-defined=tanh --export-if-defined=asinf --export-if-defined=asinhf --export-if-defined=acosf --export-if-defined=acoshf --export-if-defined=atanf --export-if-defined=atanhf --export-if-defined=cbrtf --export-if-defined=cosf --export-if-defined=coshf --export-if-defined=expf --export-if-defined=logf --export-if-defined=log2f --export-if-defined=log10f --export-if-defined=sinf --export-if-defined=sinhf --export-if-defined=tanf --export-if-defined=tanhf --export-if-defined=malloc --export-if-defined=stackSave --export-if-defined=stackRestore --export-if-defined=stackAlloc --export-if-defined=memalign --export-if-defined=memset --export-if-defined=htons --export-if-defined=ntohs --export-if-defined=free --export-if-defined=__get_exception_message --export-if-defined=__cpp_exception --export-if-defined=__cxa_increment_exception_refcount --export-if-defined=__cxa_decrement_exception_refcount --export-if-defined=__thrown_object_from_unwind_exception --export-if-defined=__start_em_asm --export-if-defined=__stop_em_asm --export-if-defined=__start_em_lib_deps --export-if-defined=__stop_em_lib_deps --export-if-defined=__start_em_js --export-if-defined=__stop_em_js --export-if-defined=fflush --export=emscripten_stack_get_end --export=emscripten_stack_get_free --export=emscripten_stack_get_base --export=emscripten_stack_get_current --export=emscripten_stack_init --export=stackSave --export=stackRestore --export=stackAlloc --export=__errno_location --export=malloc --export=free --export=__trap --export=__wasm_call_ctors --export=__dl_seterr --export=emscripten_builtin_memalign --export=ntohs --export=htons --export=htonl --export-table --growable-table -z stack-size=5242880 --initial-memory=16777216 --no-entry --max-memory=2147483648 --stack-first
1>    [00:00:07.8691101] wasm-ld: error: C:/Users/thoma/.nuget/packages/skiasharp.nativeassets.webassembly/3.0.0-preview.4.1/buildTransitive/netstandard1.0/libSkiaSharp.a/3.1.34/simd,st/libSkiaSharp.a(gpu.GrGLAssembleWebGLInterfaceAutogen.o): undefined symbol: emscripten_glWaitSync
1>    [00:00:07.8691356] wasm-ld: error: C:/Users/thoma/.nuget/packages/skiasharp.nativeassets.webassembly/3.0.0-preview.4.1/buildTransitive/netstandard1.0/libSkiaSharp.a/3.1.34/simd,st/libSkiaSharp.a(gpu.GrGLAssembleWebGLInterfaceAutogen.o): undefined symbol: emscripten_glClientWaitSync
1>    [00:00:07.8691418] wasm-ld: error: C:/Users/thoma/.nuget/packages/skiasharp.nativeassets.webassembly/3.0.0-preview.4.1/buildTransitive/netstandard1.0/libSkiaSharp.a/3.1.34/simd,st/libSkiaSharp.a(gpu.GrGLAssembleWebGLInterfaceAutogen.o): undefined symbol: emscripten_glGetStringi
1>    [00:00:07.8691446] wasm-ld: error: C:/Users/thoma/.nuget/packages/skiasharp.nativeassets.webassembly/3.0.0-preview.4.1/buildTransitive/netstandard1.0/libSkiaSharp.a/3.1.34/simd,st/libSkiaSharp.a(gpu.GrGLAssembleWebGLInterfaceAutogen.o): undefined symbol: emscripten_glGetStringi
1>    [00:00:07.8691474] wasm-ld: error: C:/Users/thoma/.nuget/packages/skiasharp.nativeassets.webassembly/3.0.0-preview.4.1/buildTransitive/netstandard1.0/libSkiaSharp.a/3.1.34/simd,st/libSkiaSharp.a(gpu.GrGLAssembleWebGLInterfaceAutogen.o): undefined symbol: emscripten_glDrawElementsInstancedBaseVertexBaseInstanceWEBGL
1>    [00:00:07.8691712] wasm-ld: error: C:/Users/thoma/.nuget/packages/skiasharp.nativeassets.webassembly/3.0.0-preview.4.1/buildTransitive/netstandard1.0/libSkiaSharp.a/3.1.34/simd,st/libSkiaSharp.a(gpu.GrGLAssembleWebGLInterfaceAutogen.o): undefined symbol: emscripten_glDrawArraysInstancedBaseInstanceWEBGL
1>    [00:00:07.8691772] wasm-ld: error: C:/Users/thoma/.nuget/packages/skiasharp.nativeassets.webassembly/3.0.0-preview.4.1/buildTransitive/netstandard1.0/libSkiaSharp.a/3.1.34/simd,st/libSkiaSharp.a(gpu.GrGLAssembleWebGLInterfaceAutogen.o): undefined symbol: emscripten_glReadBuffer
1>    [00:00:07.8691808] wasm-ld: error: C:/Users/thoma/.nuget/packages/skiasharp.nativeassets.webassembly/3.0.0-preview.4.1/buildTransitive/netstandard1.0/libSkiaSharp.a/3.1.34/simd,st/libSkiaSharp.a(gpu.GrGLAssembleWebGLInterfaceAutogen.o): undefined symbol: emscripten_glMultiDrawElementsInstancedBaseVertexBaseInstanceWEBGL
1>    [00:00:07.8692075] wasm-ld: error: C:/Users/thoma/.nuget/packages/skiasharp.nativeassets.webassembly/3.0.0-preview.4.1/buildTransitive/netstandard1.0/libSkiaSharp.a/3.1.34/simd,st/libSkiaSharp.a(gpu.GrGLAssembleWebGLInterfaceAutogen.o): undefined symbol: emscripten_glMultiDrawArraysInstancedBaseInstanceWEBGL
1>    [00:00:07.8692132] wasm-ld: error: C:/Users/thoma/.nuget/packages/skiasharp.nativeassets.webassembly/3.0.0-preview.4.1/buildTransitive/netstandard1.0/libSkiaSharp.a/3.1.34/simd,st/libSkiaSharp.a(gpu.GrGLAssembleWebGLInterfaceAutogen.o): undefined symbol: emscripten_glVertexAttribIPointer
1>    [00:00:07.8692161] wasm-ld: error: C:/Users/thoma/.nuget/packages/skiasharp.nativeassets.webassembly/3.0.0-preview.4.1/buildTransitive/netstandard1.0/libSkiaSharp.a/3.1.34/simd,st/libSkiaSharp.a(gpu.GrGLAssembleWebGLInterfaceAutogen.o): undefined symbol: emscripten_glTexStorage2D
1>    [00:00:07.8692187] wasm-ld: error: C:/Users/thoma/.nuget/packages/skiasharp.nativeassets.webassembly/3.0.0-preview.4.1/buildTransitive/netstandard1.0/libSkiaSharp.a/3.1.34/simd,st/libSkiaSharp.a(gpu.GrGLAssembleWebGLInterfaceAutogen.o): undefined symbol: emscripten_glDrawRangeElements
1>    [00:00:07.8692415] wasm-ld: error: C:/Users/thoma/.nuget/packages/skiasharp.nativeassets.webassembly/3.0.0-preview.4.1/buildTransitive/netstandard1.0/libSkiaSharp.a/3.1.34/simd,st/libSkiaSharp.a(gpu.GrGLAssembleWebGLInterfaceAutogen.o): undefined symbol: emscripten_glRenderbufferStorageMultisample
1>    [00:00:07.8692476] wasm-ld: error: C:/Users/thoma/.nuget/packages/skiasharp.nativeassets.webassembly/3.0.0-preview.4.1/buildTransitive/netstandard1.0/libSkiaSharp.a/3.1.34/simd,st/libSkiaSharp.a(gpu.GrGLAssembleWebGLInterfaceAutogen.o): undefined symbol: emscripten_glBlitFramebuffer
1>    [00:00:07.8692504] wasm-ld: error: C:/Users/thoma/.nuget/packages/skiasharp.nativeassets.webassembly/3.0.0-preview.4.1/buildTransitive/netstandard1.0/libSkiaSharp.a/3.1.34/simd,st/libSkiaSharp.a(gpu.GrGLAssembleWebGLInterfaceAutogen.o): undefined symbol: emscripten_glDeleteSync
1>    [00:00:07.8692529] wasm-ld: error: C:/Users/thoma/.nuget/packages/skiasharp.nativeassets.webassembly/3.0.0-preview.4.1/buildTransitive/netstandard1.0/libSkiaSharp.a/3.1.34/simd,st/libSkiaSharp.a(gpu.GrGLAssembleWebGLInterfaceAutogen.o): undefined symbol: emscripten_glCopyBufferSubData
1>    [00:00:07.8692743] wasm-ld: error: C:/Users/thoma/.nuget/packages/skiasharp.nativeassets.webassembly/3.0.0-preview.4.1/buildTransitive/netstandard1.0/libSkiaSharp.a/3.1.34/simd,st/libSkiaSharp.a(gpu.GrGLAssembleWebGLInterfaceAutogen.o): undefined symbol: emscripten_glIsSync
1>    [00:00:07.8692772] wasm-ld: error: C:/Users/thoma/.nuget/packages/skiasharp.nativeassets.webassembly/3.0.0-preview.4.1/buildTransitive/netstandard1.0/libSkiaSharp.a/3.1.34/simd,st/libSkiaSharp.a(gpu.GrGLAssembleWebGLInterfaceAutogen.o): undefined symbol: emscripten_glFenceSync
1>    [00:00:07.8692797] wasm-ld: error: C:/Users/thoma/.nuget/packages/skiasharp.nativeassets.webassembly/3.0.0-preview.4.1/buildTransitive/netstandard1.0/libSkiaSharp.a/3.1.34/simd,st/libSkiaSharp.a(gpu.GrGLAssembleWebGLInterfaceAutogen.o): undefined symbol: emscripten_glSamplerParameteriv
1>    [00:00:07.8692822] wasm-ld: error: C:/Users/thoma/.nuget/packages/skiasharp.nativeassets.webassembly/3.0.0-preview.4.1/buildTransitive/netstandard1.0/libSkiaSharp.a/3.1.34/simd,st/libSkiaSharp.a(gpu.GrGLAssembleWebGLInterfaceAutogen.o): undefined symbol: emscripten_glSamplerParameteri

So the driver message was fixed but for the missing GL Symbol I think needs to be fixed in SkiaSharp itself. (Will be fixed in the .NET 8 pull request #2927).