abner / flutter_js

A Javascript engine to use with flutter. It uses quickjs on Android and JavascriptCore on IOS
MIT License
464 stars 117 forks source link

Could not load 'libquickjs_c_bridge_plugin.so' on arm64 linux #116

Open lindeer opened 1 year ago

lindeer commented 1 year ago

flutter_js: 0.6.0 actually 'libquickjs_c_bridge_plugin.so' did exist in build/linux/arm64/debug/bundle/lib and build/linux/arm64/debug/plugins/flutter_js/bundle/lib, but failed loaded, seems caused by different machine arch?

$ fd 'libquickjs_c_bridge_plugin.so'
./build/linux/arm64/debug/bundle/lib/libquickjs_c_bridge_plugin.so
./build/linux/arm64/debug/plugins/flutter_js/bundle/lib/libquickjs_c_bridge_plugin.so

stack trace:

An Observatory debugger and profiler on Linux is available at: http://127.0.0.1:43227/o5VDUEp-pro=/

══╡ EXCEPTION CAUGHT BY WIDGETS LIBRARY ╞═══════════════════════════════════════════════════════════
The following ArgumentError was thrown building Builder:
Invalid argument(s): Failed to load dynamic library
'/home/greatwall/Work/projects/durian/xml_widget/example/build/linux/arm64/debug/bundle/lib/libquickjs_c_bridge_plugin.so':
/home/greatwall/Work/projects/durian/xml_widget/example/build/linux/arm64/debug/bundle/lib/libquickjs_c_bridge_plugin.so:
Could not open shared file object: no such file or directory

The relevant error-causing widget was:
  MaterialApp
  MaterialApp:file:///home/greatwall/Work/projects/durian/xml_widget/example/lib/main.dart:18:12

When the exception was thrown, this was the stack:
#0      _open (dart:ffi-patch/ffi_dynamic_library_patch.dart:12:43)
#1      new DynamicLibrary.open (dart:ffi-patch/ffi_dynamic_library_patch.dart:23:12)
#2      _qjsLib (package:flutter_js/quickjs/ffi.dart:129:30)
#3      _qjsLib (package:flutter_js/quickjs/ffi.dart)
#4      _jsNewRuntime (package:flutter_js/quickjs/ffi.dart:166:19)
#5      _jsNewRuntime (package:flutter_js/quickjs/ffi.dart)
#6      jsNewRuntime (package:flutter_js/quickjs/ffi.dart:209:14)
#7      QuickJsRuntime2._ensureEngine (package:flutter_js/quickjs/quickjs_runtime2.dart:53:16)
#8      QuickJsRuntime2.evaluate (package:flutter_js/quickjs/quickjs_runtime2.dart:167:5)
#9      QuickJsRuntime2.initChannelFunctions (package:flutter_js/quickjs/quickjs_runtime2.dart:232:9)
#10     JavascriptRuntime.init (package:flutter_js/javascript_runtime.dart:64:5)
#11     new QuickJsRuntime2 (package:flutter_js/quickjs/quickjs_runtime2.dart:48:10)
#12     getJavascriptRuntime (package:flutter_js/flutter_js.dart:43:15)
#13     new JSEngine (package:durian/js_engine.dart:13:24)