flutter_svg
flutter_svg copied to clipboard
Issue with Wasm Compilation: dart:ffi Not Supported
I have just used the package in my web app but it just don't support wasm:
Target dart2wasm failed: ProcessException: Process exited abnormally with exit code 64:
*NOTE*: Compilation to WasmGC is experimental.
The support may change, or be removed, with no advance notice.
../../../../.pub-cache/hosted/pub.dev/vector_graphics_compiler-1.1.11+1/lib/src/svg/_tessellator_ffi.dart:6:1: Error: 'dart:ffi' can't be imported when compiling to Wasm.
import 'dart:ffi' as ffi;
^
../../../../.pub-cache/hosted/pub.dev/vector_graphics_compiler-1.1.11+1/lib/src/svg/_path_ops_ffi.dart:6:1: Error: 'dart:ffi' can't be imported when compiling to Wasm.
import 'dart:ffi' as ffi;
^
Command: /Users/yara/Development/flutter/bin/cache/dart-sdk/bin/dart compile wasm --packages=.dart_tool/package_config.json --extra-compiler-option=--dart-sdk=/Users/yara/Development/flutter/bin/cache/dart-sdk
--extra-compiler-option=--platform=/Users/yara/Development/flutter/bin/cache/flutter_web_sdk/kernel/dart2wasm_platform.dill --extra-compiler-option=--delete-tostring-package-uri=dart:ui --extra-compiler-option=--delete-tostring-package-uri=package:flutter
--extra-compiler-option=--import-shared-memory --extra-compiler-option=--shared-memory-max-pages=32768 -Ddart.vm.product=true -DFLUTTER_WEB_CANVASKIT_URL=https://www.gstatic.com/flutter-canvaskit/edd8546116457bdf1c5bdfb13ecb9463d2bb5ed4/ -DFLUTTER_WEB_AUTO_DETECT=false -DFLUTTER_WEB_USE_SKIA=false
-DFLUTTER_WEB_USE_SKWASM=true --extra-compiler-option=--depfile=/Users/yara/Desktop/work/POS/pos_admin_panel/.dart_tool/flutter_build/a91501fadcce71a69bcbc5d40dfdd285/dart2wasm.d -O4 --no-name-section -o
/Users/yara/Desktop/work/POS/pos_admin_panel/.dart_tool/flutter_build/a91501fadcce71a69bcbc5d40dfdd285/main.dart.wasm /Users/yara/Desktop/work/POS/pos_admin_panel/.dart_tool/flutter_build/a91501fadcce71a69bcbc5d40dfdd285/main.dart
#0 RunResult.throwException (package:flutter_tools/src/base/process.dart:125:5)
#1 _DefaultProcessUtils.run (package:flutter_tools/src/base/process.dart:321:19)
<asynchronous suspension>
#2 Dart2WasmTarget.build (package:flutter_tools/src/build_system/targets/web.dart:329:5)
<asynchronous suspension>
#3 _BuildInstance._invokeInternal (package:flutter_tools/src/build_system/build_system.dart:875:9)
<asynchronous suspension>
#4 Future.wait.<anonymous closure> (dart:async/future.dart:524:21)
<asynchronous suspension>
#5 _BuildInstance.invokeTarget (package:flutter_tools/src/build_system/build_system.dart:813:32)
<asynchronous suspension>
#6 Future.wait.<anonymous closure> (dart:async/future.dart:524:21)
<asynchronous suspension>
#7 _BuildInstance.invokeTarget (package:flutter_tools/src/build_system/build_system.dart:813:32)
<asynchronous suspension>
#8 FlutterBuildSystem.build (package:flutter_tools/src/build_system/build_system.dart:642:16)
<asynchronous suspension>
#9 WebBuilder.buildWeb (package:flutter_tools/src/web/compile.dart:92:34)
<asynchronous suspension>
#10 BuildWebCommand.runCommand (package:flutter_tools/src/commands/build_web.dart:230:5)
<asynchronous suspension>
#11 FlutterCommand.run.<anonymous closure> (package:flutter_tools/src/runner/flutter_command.dart:1394:27)
<asynchronous suspension>
#12 AppContext.run.<anonymous closure> (package:flutter_tools/src/base/context.dart:153:19)
<asynchronous suspension>
#13 CommandRunner.runCommand (package:args/command_runner.dart:212:13)
<asynchronous suspension>
#14 FlutterCommandRunner.runCommand.<anonymous closure> (package:flutter_tools/src/runner/flutter_command_runner.dart:372:9)
<asynchronous suspension>
#15 AppContext.run.<anonymous closure> (package:flutter_tools/src/base/context.dart:153:19)
<asynchronous suspension>
#16 FlutterCommandRunner.runCommand (package:flutter_tools/src/runner/flutter_command_runner.dart:308:5)
<asynchronous suspension>
#17 run.<anonymous closure>.<anonymous closure> (package:flutter_tools/runner.dart:130:9)
<asynchronous suspension>
#18 AppContext.run.<anonymous closure> (package:flutter_tools/src/base/context.dart:153:19)
<asynchronous suspension>
#19 main (package:flutter_tools/executable.dart:93:3)
<asynchronous suspension>
Compiling lib/main.dart for the Web... 88.8s
Error: Failed to compile application for the Web.
See also: https://github.com/dart-lang/sdk/issues/55948#issuecomment-2174118338. The vector_graphics_compiler may have other issues with WebAssembly compilation due to it conditionally importing dart:html libraries.
You can try this fix
https://github.com/dnfield/vector_graphics/issues/244#issuecomment-2194686601
Some dart libraries dart:ffi / dart:js / dart:js_util, etc are not allowed in the latest flutter and dart SDK. You can avoid this issue by downgrading your Flutter SDK.
for more details - https://github.com/dart-lang/sdk/issues/55948#issuecomment-2157589246
Some dart libraries
dart:ffi / dart:js / dart:js_util, etc are not allowed in the latest flutter and dart SDK. You can avoid this issue by downgrading your Flutter SDK.for more details - dart-lang/sdk#55948 (comment)
The reason I want to resolve this issue is to ensure we can use the latest version rather than downgrading. Downgrading is merely evading the problem.