second-state / wasmedge-go Goto Github PK
View Code? Open in Web Editor NEWThe GO language SDK and API for WasmEdge
Home Page: https://www.secondstate.io/articles/extend-golang-app-with-webassembly-rust/
License: Apache License 2.0
The GO language SDK and API for WasmEdge
Home Page: https://www.secondstate.io/articles/extend-golang-app-with-webassembly-rust/
License: Apache License 2.0
For https://github.com/second-state/WasmEdge-go-examples/blob/master/go_BindgenFuncs/bindgen_funcs.go
If I put the vm as a global variable, and call the vm.ExecuteBindgen
in goroutine:
package main
import (
"fmt"
"os"
"github.com/second-state/WasmEdge-go/wasmedge"
)
var vm *wasmedge.VM
func main() {
/// Expected Args[0]: program name (./bindgen_funcs)
/// Expected Args[1]: wasm or wasm-so file (rust_bindgen_funcs_lib_bg.wasm))
/// Set not to print debug info
wasmedge.SetLogErrorLevel()
/// Create configure
var conf = wasmedge.NewConfigure(wasmedge.WASI)
/// Create VM with configure
vm = wasmedge.NewVMWithConfig(conf)
/// Init WASI
var wasi = vm.GetImportObject(wasmedge.WASI)
wasi.InitWasi(
os.Args[1:], /// The args
os.Environ(), /// The envs
[]string{".:."}, /// The mapping directories
[]string{}, /// The preopens will be empty
)
/// Instantiate wasm
vm.LoadWasmFile(os.Args[1])
vm.Validate()
vm.Instantiate()
go run()
run()
vm.Delete()
conf.Delete()
}
func run() {
/// Run bindgen functions
var res interface{}
var err error
/// create_line: array, array, array -> array (inputs are JSON stringified)
res, err = vm.ExecuteBindgen("create_line", wasmedge.Bindgen_return_array, []byte("{\"x\":1.5,\"y\":3.8}"), []byte("{\"x\":2.5,\"y\":5.8}"), []byte("A thin red line"))
if err == nil {
fmt.Println("Run bindgen -- create_line:", string(res.([]byte)))
} else {
fmt.Println("Run bindgen -- create_line FAILED")
}
/// say: array -> array
res, err = vm.ExecuteBindgen("say", wasmedge.Bindgen_return_array, []byte("bindgen funcs test"))
if err == nil {
fmt.Println("Run bindgen -- say:", string(res.([]byte)))
} else {
fmt.Println("Run bindgen -- say FAILED")
}
/// obfusticate: array -> array
res, err = vm.ExecuteBindgen("obfusticate", wasmedge.Bindgen_return_array, []byte("A quick brown fox jumps over the lazy dog"))
if err == nil {
fmt.Println("Run bindgen -- obfusticate:", string(res.([]byte)))
} else {
fmt.Println("Run bindgen -- obfusticate FAILED")
}
/// lowest_common_multiple: i32, i32 -> i32
res, err = vm.ExecuteBindgen("lowest_common_multiple", wasmedge.Bindgen_return_i32, int32(123), int32(2))
if err == nil {
fmt.Println("Run bindgen -- lowest_common_multiple:", res.(int32))
} else {
fmt.Println("Run bindgen -- lowest_common_multiple FAILED")
}
/// sha3_digest: array -> array
res, err = vm.ExecuteBindgen("sha3_digest", wasmedge.Bindgen_return_array, []byte("This is an important message"))
if err == nil {
fmt.Println("Run bindgen -- sha3_digest:", res.([]byte))
} else {
fmt.Println("Run bindgen -- sha3_digest FAILED")
}
/// keccak_digest: array -> array
res, err = vm.ExecuteBindgen("keccak_digest", wasmedge.Bindgen_return_array, []byte("This is an important message"))
if err == nil {
fmt.Println("Run bindgen -- keccak_digest:", res.([]byte))
} else {
fmt.Println("Run bindgen -- keccak_digest FAILED")
}
}
Then the program will fail with error:
unexpected signal during runtime execution
[signal SIGSEGV: segmentation violation code=0x1 addr=0x4 pc=0x7f1311798288]
runtime stack:
runtime.throw({0x4b41a6, 0x0})
/usr/local/go/src/runtime/panic.go:1198 +0x71
runtime.sigpanic()
/usr/local/go/src/runtime/signal_unix.go:719 +0x396
goroutine 6 [syscall]:
runtime.cgocall(0x493420, 0xc00004acd0)
/usr/local/go/src/runtime/cgocall.go:156 +0x5c fp=0xc00004ac98 sp=0xc00004ac60 pc=0x40a2dc
github.com/second-state/WasmEdge-go/wasmedge._Cfunc_WasmEdge_VMExecute(0xfbd420, {0xb, 0x4ae60d}, 0xc00010a180, 0x7, 0x0, 0x0)
_cgo_gotypes.go:1779 +0x49 fp=0xc00004acd0 sp=0xc00004ac98 pc=0x489a89
github.com/second-state/WasmEdge-go/wasmedge.(*VM).ExecuteBindgen.func1(0xc00004afa0, {0x3, 0x4ae60d}, 0x100000000000000, {0xc00010a180, 0x7, 0x18}, 0x7f1310afb108, {0x57d8f0, 0x0, ...})
/root/github/second-state/WasmEdge-go/wasmedge/vm.go:218 +0xb1 fp=0xc00004ad48 sp=0xc00004acd0 pc=0x48fcf1
github.com/second-state/WasmEdge-go/wasmedge.(*VM).ExecuteBindgen(0xc0000162e0, {0x4ae60d, 0xb}, 0x0, {0xc00004afa0, 0x3, 0x3})
/root/github/second-state/WasmEdge-go/wasmedge/vm.go:218 +0x169 fp=0xc00004ae00 sp=0xc00004ad48 pc=0x48fb29
main.run()
/root/github/second-state/WasmEdge-go-examples/go_BindgenFuncs/bindgen_funcs.go:52 +0x196 fp=0xc00004afe0 sp=0xc00004ae00 pc=0x491036
runtime.goexit()
/usr/local/go/src/runtime/asm_amd64.s:1581 +0x1 fp=0xc00004afe8 sp=0xc00004afe0 pc=0x4630e1
created by main.main
/root/github/second-state/WasmEdge-go-examples/go_BindgenFuncs/bindgen_funcs.go:39 +0x1d6
goroutine 1 [runnable]:
github.com/second-state/WasmEdge-go/wasmedge._Cfunc_WasmEdge_VMExecute(0xfbd420, {0xb, 0x4ae6c8}, 0xc0000a60c0, 0x3, 0x0, 0x0)
_cgo_gotypes.go:1779 +0x49
github.com/second-state/WasmEdge-go/wasmedge.(*VM).ExecuteBindgen.func1(0xc000049d30, {0x1, 0x4ae6c8}, 0x10000c000049c80, {0xc0000a60c0, 0x3, 0x18}, 0x7f1310afb5b8, {0x57d8f0, 0x0, ...})
/root/github/second-state/WasmEdge-go/wasmedge/vm.go:218 +0xb1
github.com/second-state/WasmEdge-go/wasmedge.(*VM).ExecuteBindgen(0xc0000a0120, {0x4ae6c8, 0xb}, 0x2, {0xc000049d30, 0x1, 0x1})
/root/github/second-state/WasmEdge-go/wasmedge/vm.go:218 +0x169
main.run()
/root/github/second-state/WasmEdge-go-examples/go_BindgenFuncs/bindgen_funcs.go:80 +0x74b
main.main()
/root/github/second-state/WasmEdge-go-examples/go_BindgenFuncs/bindgen_funcs.go:40 +0x1db
If I load wasm using vm.LoadWasmBuffer, then the vm.Validate() will result with an error: 'magic header not detected'
Hello,
While I am trying to use wasmedge sdk for windows 10, I got the error. Have you any suggestion for that? I have done the required steps for installation.
Thanks in advance!
wasmedge-tensorflow & wasmedge-tensorflowlite are required at the same time by the above code.
This way, we cannot use WasmEdge-go tensorflowlite extension on aarch64 linux, where only tensorflowlite provided.
When running this, I am getting the following warning:
ld: warning: ignoring file ~/.wasmedge/lib/libwasmedge.dylib, building for macOS-arm64 but attempting to link with file built for macOS-x86_64
I then get a long stack trace, and the errors:
ld: symbol(s) not found for architecture arm64 clang: error: linker command failed with exit code 1 (use -v to see invocation)
AFAIK this means that I have to rebuild this library for my architecture. I can't seem to find where to do this in the docs, is this supported?
go get -u github.com/second-state/WasmEdge-go/wasmedge
../../../go/pkg/mod/github.com/second-state/!wasm!edge-go@v0.8.2/wasmedge/configure.go:31:50: could not determine kind of name for C.WasmEdge_CompilerOptimizationLevel_O0
../../../go/pkg/mod/github.com/second-state/!wasm!edge-go@v0.8.2/wasmedge/configure.go:33:50: could not determine kind of name for C.WasmEdge_CompilerOptimizationLevel_O1
../../../go/pkg/mod/github.com/second-state/!wasm!edge-go@v0.8.2/wasmedge/configure.go:35:50: could not determine kind of name for C.WasmEdge_CompilerOptimizationLevel_O2
../../../go/pkg/mod/github.com/second-state/!wasm!edge-go@v0.8.2/wasmedge/configure.go:37:50: could not determine kind of name for C.WasmEdge_CompilerOptimizationLevel_O3
../../../go/pkg/mod/github.com/second-state/!wasm!edge-go@v0.8.2/wasmedge/configure.go:39:50: could not determine kind of name for C.WasmEdge_CompilerOptimizationLevel_Os
../../../go/pkg/mod/github.com/second-state/!wasm!edge-go@v0.8.2/wasmedge/configure.go:41:50: could not determine kind of name for C.WasmEdge_CompilerOptimizationLevel_Oz
../../../go/pkg/mod/github.com/second-state/!wasm!edge-go@v0.8.2/wasmedge/configure.go:109:35: could not determine kind of name for C.WasmEdge_ConfigureCompilerGetOptimizationLevel
../../../go/pkg/mod/github.com/second-state/!wasm!edge-go@v0.8.2/wasmedge/configure.go:133:14: could not determine kind of name for C.WasmEdge_ConfigureCompilerIsCostMeasuring
../../../go/pkg/mod/github.com/second-state/!wasm!edge-go@v0.8.2/wasmedge/configure.go:117:14: could not determine kind of name for C.WasmEdge_ConfigureCompilerIsDumpIR
../../../go/pkg/mod/github.com/second-state/!wasm!edge-go@v0.8.2/wasmedge/configure.go:125:14: could not determine kind of name for C.WasmEdge_ConfigureCompilerIsInstructionCounting
../../../go/pkg/mod/github.com/second-state/!wasm!edge-go@v0.8.2/wasmedge/configure.go:129:2: could not determine kind of name for C.WasmEdge_ConfigureCompilerSetCostMeasuring
../../../go/pkg/mod/github.com/second-state/!wasm!edge-go@v0.8.2/wasmedge/configure.go:113:2: could not determine kind of name for C.WasmEdge_ConfigureCompilerSetDumpIR
../../../go/pkg/mod/github.com/second-state/!wasm!edge-go@v0.8.2/wasmedge/configure.go:121:2: could not determine kind of name for C.WasmEdge_ConfigureCompilerSetInstructionCounting
../../../go/pkg/mod/github.com/second-state/!wasm!edge-go@v0.8.2/wasmedge/configure.go:105:2: could not determine kind of name for C.WasmEdge_ConfigureCompilerSetOptimizationLevel
Hi , i just want to use wasmedge-go examples but when i try this command in terminal i get this error.
go version go1.16 linux/amd64
wasmedge version 0.8.2
Also in vs code error
Right now, installing shared libraries is a manual task, and they are quite large (dozens of megabytes). I've been told that the shared libraries are only 1.7MB, which would be a refreshing change, but also it would be better to have these attached to the release tags. That way end users can get the trusted libs per-platform similar to how they can get them in wasmer-go and wasmedge-go. Wanna give this a go?
ex.
bytecodealliance/wasmtime-go@df14d9f
https://github.com/bytecodealliance/wasmtime-go/blob/7d1d102e5213c4ba7b15e41907322b27533b3999/includebuild.go
I'm trying to do a wasmedge wrapper for DAPR to provide api for wasm.
There is a issue we panic at this line of code:
https://github.com/chenyukang/wasmedge-dapr-sdk/blob/add-string/dapr-sdk/hostfunc.go#L30
I think this is not related to WasmEdge-go, but it's great if you can give me some help.
WasmEdge-Tensorflow, WasmEdge-TensorflowLite, and WasmEdge-Image are deprecated in WasmEdge 0.13.0
.
Therefore, the APIs such as NewImageModule()
, NewTensorflowModule()
, and NewTensorflowLiteModule()
will be deleted in WasmEdge-Go v0.13.0
.
The TensorFlow extension will be replaced by the WasmEdge-Tensorflow plug-in, and so do the TensorFlow-Lite and Image extensions.
We'll update the document and the examples soon after the installer ready for the plug-ins installation with their dependencies.
For users need to use the extensions, please fallback to the v0.12.1
version.
WasmEdge-go 0.11.2 is not compatible with WasmEdge 0.12.0 alpha pre-releases.
(I wanted to try the latest WasmEdge, to see if an AOT compilation out-of-bounds error was still happening. But I cannot test it in my Golang setup.)
1. My OS: Mac OS Monterey (version 12.0.1)
2. Go version: 1.17.6
3. Tinygo: tinygo version 0.22.0 darwin/amd64 (using go version go1.17.6 and LLVM version 13.0.0)
4. My func for WASM:
package main
func main() {
}
//export Fibonacci
func Fibonacci(n int32) int32 {
if n <= 1 {
return n
}
return Fibonacci(n-1) + Fibonacci(n-2)
}
Command compile: tinygo build -o fib.wasm -target wasi fib.go
5. My main app:
package main
import (
"fmt"
"log"
"os"
"github.com/second-state/WasmEdge-go/wasmedge"
)
func main() {
wasmedge.SetLogErrorLevel()
conf := wasmedge.NewConfigure(wasmedge.WASI)
store := wasmedge.NewStore()
vm := wasmedge.NewVMWithConfigAndStore(conf, store)
wasi := vm.GetImportObject(wasmedge.WASI)
wasi.InitWasi(
os.Args[1:],
os.Environ(),
[]string{".:."},
)
wasmedge.SetLogErrorLevel()
err := vm.LoadWasmFile("fib.wasm")
if err != nil {
fmt.Println("failed to load wasm")
}
vm.Validate()
vm.Instantiate()
res, err := vm.Execute("Fibonacci", uint32(40))
if err != nil {
log.Fatalln(err)
}
fmt.Println(res)
}
6. Performance Comparison:
❓Why slow:(?
7. AOT Compile: wasmedgec fib.wasm fib.wasm
8. Run app again:
fatal error: unexpected signal during runtime execution
[signal SIGBUS: bus error code=0x2 addr=0x41ff000 pc=0x45ee3ee]
runtime stack:
runtime.throw({0x40b9093, 0x45f0001})
/usr/local/Cellar/go/1.17.6/libexec/src/runtime/panic.go:1198 +0x71
runtime.sigpanic()
/usr/local/Cellar/go/1.17.6/libexec/src/runtime/signal_unix.go:719 +0x396
goroutine 1 [syscall]:
runtime.cgocall(0x4096f30, 0xc00005cdf8)
/usr/local/Cellar/go/1.17.6/libexec/src/runtime/cgocall.go:156 +0x5c fp=0xc00005cdd0 sp=0xc00005cd98 pc=0x400529c
github.com/second-state/WasmEdge-go/wasmedge._Cfunc_WasmEdge_VMLoadWasmFromFile(0x4e5e7c0, 0x4e64350)
_cgo_gotypes.go:2627 +0x49 fp=0xc00005cdf8 sp=0xc00005cdd0 pc=0x4090769
github.com/second-state/WasmEdge-go/wasmedge.(*VM).LoadWasmFile.func2(0x4e64350, 0x8)
<MyPath>/go/pkg/mod/github.com/second-state/!wasm![email protected]/wasmedge/vm.go:187 +0x51 fp=0xc00005ce38 sp=0xc00005cdf8 pc=0x40930f1
github.com/second-state/WasmEdge-go/wasmedge.(*VM).LoadWasmFile(0xc00005cf50, {0x40b3176, 0x1})
<MyPath>/go/pkg/mod/github.com/second-state/!wasm![email protected]/wasmedge/vm.go:187 +0x68 fp=0xc00005ce88 sp=0xc00005ce38 pc=0x4092f88
main.main()
<MyPath>/main.go:25 +0x1d1 fp=0xc00005cf80 sp=0xc00005ce88 pc=0x4093f71
runtime.main()
/usr/local/Cellar/go/1.17.6/libexec/src/runtime/proc.go:255 +0x227 fp=0xc00005cfe0 sp=0xc00005cf80 pc=0x40350a7
runtime.goexit()
/usr/local/Cellar/go/1.17.6/libexec/src/runtime/asm_amd64.s:1581 +0x1 fp=0xc00005cfe8 sp=0xc00005cfe0 pc=0x405e701
exit status 2
HELP ME:) ❓what am I doing wrong?
I used the command you provided in Getting Started:
go get github.com/second-state/WasmEdge-go/[email protected]
but failed. The error message is:
go get: github.com/second-state/WasmEdge-go/[email protected]: invalid version: unknown revision wasmedge/v0.10.0
and I also tried setting up GOPRIVATE according to the method described in this website:https://stackoverflow.com/questions/67678203/why-does-go-get-fail-with-invalid-version-unknown-revision
but still failed for the same reason.
And i noticed that you just published the v0.10.0 version a few days ago, and it's only pre-release. Is that caused my problem?
This implementation here seems to be wrong ?
Lines 91 to 93 in 87a5832
WasmEdge-go/wasmedge/hostfunc.go
Lines 42 to 44 in 87a5832
The last element is reused, but not pop out from the slice.
Error is:
could not determine kind of name for C.WasmEdge_Driver_UniTool
Was attempting to build the Fibonacci example:
https://github.com/second-state/WasmEdge-go-examples/tree/master
Running on MacOS with an ARM chip. Any thoughts on how to get the build to work?
I was following the docs from https://wasmedge.org/book/en/sdk/go/ref.html#ast-module:
loader := wasmedge.NewLoader()
ast, err := loader.LoadBuffer(wasmbuffer)
if err != nil {
fmt.Println("Load WASM from file FAILED:", err.Error())
}
imports := ast.ListImports()
for _, mimport := range imports {
fmt.Println("Import:", mimport.GetModuleName(), mimport.GetExternalName())
}
// List the exports.
exports := ast.ListExports()
for _, mexport := range exports {
fmt.Println("Export:", mexport.GetExternalName())
}
ast.Release()
loader.Release()
The panic comes from
Line 63 in 746946a
Line 83 in 746946a
When initializing imptype = make([]*ImportType, uint(ltypes))
, imptype
gets initialized with nil
.
So the solution is to initialize imptype[i] = &ImportType{}
before line 63.
cgo link errors while installing wasmedge-go on macos 11.6 big sur.
my go version is 1.17.2
, llvm: 13.0.0, and wasmedge is installed correctly on my mac.
go get -v -u github.com/second-state/WasmEdge-go/wasmedge
github.com/second-state/WasmEdge-go/wasmedge
# github.com/second-state/WasmEdge-go/wasmedge
Undefined symbols for architecture x86_64:
"_WasmEdge_ASTModuleDelete", referenced from:
__cgo_0190cfa8e5d1_Cfunc_WasmEdge_ASTModuleDelete in _x002.o
(maybe you meant: __cgo_0190cfa8e5d1_Cfunc_WasmEdge_ASTModuleDelete)
"_WasmEdge_CompilerCompile", referenced from:
__cgo_0190cfa8e5d1_Cfunc_WasmEdge_CompilerCompile in _x005.o
(maybe you meant: __cgo_0190cfa8e5d1_Cfunc_WasmEdge_CompilerCompile)
"_WasmEdge_CompilerCreate", referenced from:
__cgo_0190cfa8e5d1_Cfunc_WasmEdge_CompilerCreate in _x005.o
(maybe you meant: __cgo_0190cfa8e5d1_Cfunc_WasmEdge_CompilerCreate)
"_WasmEdge_CompilerDelete", referenced from:
__cgo_0190cfa8e5d1_Cfunc_WasmEdge_CompilerDelete in _x005.o
(maybe you meant: __cgo_0190cfa8e5d1_Cfunc_WasmEdge_CompilerDelete)
"_WasmEdge_ConfigureAddHostRegistration", referenced from:
__cgo_0190cfa8e5d1_Cfunc_WasmEdge_ConfigureAddHostRegistration in _x006.o
(maybe you meant: __cgo_0190cfa8e5d1_Cfunc_WasmEdge_ConfigureAddHostRegistration)
"_WasmEdge_ConfigureAddProposal", referenced from:
__cgo_0190cfa8e5d1_Cfunc_WasmEdge_ConfigureAddProposal in _x006.o
(maybe you meant: __cgo_0190cfa8e5d1_Cfunc_WasmEdge_ConfigureAddProposal)
"_WasmEdge_ConfigureCompilerGetOptimizationLevel", referenced from:
__cgo_0190cfa8e5d1_Cfunc_WasmEdge_ConfigureCompilerGetOptimizationLevel in _x006.o
(maybe you meant: __cgo_0190cfa8e5d1_Cfunc_WasmEdge_ConfigureCompilerGetOptimizationLevel)
"_WasmEdge_ConfigureCompilerIsCostMeasuring", referenced from:
__cgo_0190cfa8e5d1_Cfunc_WasmEdge_ConfigureCompilerIsCostMeasuring in _x006.o
(maybe you meant: __cgo_0190cfa8e5d1_Cfunc_WasmEdge_ConfigureCompilerIsCostMeasuring)
"_WasmEdge_ConfigureCompilerIsDumpIR", referenced from:
__cgo_0190cfa8e5d1_Cfunc_WasmEdge_ConfigureCompilerIsDumpIR in _x006.o
(maybe you meant: __cgo_0190cfa8e5d1_Cfunc_WasmEdge_ConfigureCompilerIsDumpIR)
"_WasmEdge_ConfigureCompilerIsInstructionCounting", referenced from:
__cgo_0190cfa8e5d1_Cfunc_WasmEdge_ConfigureCompilerIsInstructionCounting in _x006.o
(maybe you meant: __cgo_0190cfa8e5d1_Cfunc_WasmEdge_ConfigureCompilerIsInstructionCounting)
"_WasmEdge_ConfigureCompilerSetCostMeasuring", referenced from:
__cgo_0190cfa8e5d1_Cfunc_WasmEdge_ConfigureCompilerSetCostMeasuring in _x006.o
(maybe you meant: __cgo_0190cfa8e5d1_Cfunc_WasmEdge_ConfigureCompilerSetCostMeasuring)
"_WasmEdge_ConfigureCompilerSetDumpIR", referenced from:
__cgo_0190cfa8e5d1_Cfunc_WasmEdge_ConfigureCompilerSetDumpIR in _x006.o
(maybe you meant: __cgo_0190cfa8e5d1_Cfunc_WasmEdge_ConfigureCompilerSetDumpIR)
"_WasmEdge_ConfigureCompilerSetInstructionCounting", referenced from:
__cgo_0190cfa8e5d1_Cfunc_WasmEdge_ConfigureCompilerSetInstructionCounting in _x006.o
(maybe you meant: __cgo_0190cfa8e5d1_Cfunc_WasmEdge_ConfigureCompilerSetInstructionCounting)
"_WasmEdge_ConfigureCompilerSetOptimizationLevel", referenced from:
__cgo_0190cfa8e5d1_Cfunc_WasmEdge_ConfigureCompilerSetOptimizationLevel in _x006.o
(maybe you meant: __cgo_0190cfa8e5d1_Cfunc_WasmEdge_ConfigureCompilerSetOptimizationLevel)
"_WasmEdge_ConfigureCreate", referenced from:
__cgo_0190cfa8e5d1_Cfunc_WasmEdge_ConfigureCreate in _x006.o
(maybe you meant: __cgo_0190cfa8e5d1_Cfunc_WasmEdge_ConfigureCreate)
"_WasmEdge_ConfigureDelete", referenced from:
__cgo_0190cfa8e5d1_Cfunc_WasmEdge_ConfigureDelete in _x006.o
(maybe you meant: __cgo_0190cfa8e5d1_Cfunc_WasmEdge_ConfigureDelete)
"_WasmEdge_ConfigureHasHostRegistration", referenced from:
__cgo_0190cfa8e5d1_Cfunc_WasmEdge_ConfigureHasHostRegistration in _x006.o
(maybe you meant: __cgo_0190cfa8e5d1_Cfunc_WasmEdge_ConfigureHasHostRegistration)
"_WasmEdge_ConfigureHasProposal", referenced from:
__cgo_0190cfa8e5d1_Cfunc_WasmEdge_ConfigureHasProposal in _x006.o
(maybe you meant: __cgo_0190cfa8e5d1_Cfunc_WasmEdge_ConfigureHasProposal)
"_WasmEdge_ConfigureRemoveHostRegistration", referenced from:
__cgo_0190cfa8e5d1_Cfunc_WasmEdge_ConfigureRemoveHostRegistration in _x006.o
(maybe you meant: __cgo_0190cfa8e5d1_Cfunc_WasmEdge_ConfigureRemoveHostRegistration)
"_WasmEdge_ConfigureRemoveProposal", referenced from:
__cgo_0190cfa8e5d1_Cfunc_WasmEdge_ConfigureRemoveProposal in _x006.o
(maybe you meant: __cgo_0190cfa8e5d1_Cfunc_WasmEdge_ConfigureRemoveProposal)
"_WasmEdge_FunctionInstanceGetFunctionType", referenced from:
__cgo_0190cfa8e5d1_Cfunc_WasmEdge_FunctionInstanceGetFunctionType in _x007.o
(maybe you meant: __cgo_0190cfa8e5d1_Cfunc_WasmEdge_FunctionInstanceGetFunctionType)
"_WasmEdge_FunctionTypeCreate", referenced from:
__cgo_0190cfa8e5d1_Cfunc_WasmEdge_FunctionTypeCreate in _x008.o
(maybe you meant: __cgo_0190cfa8e5d1_Cfunc_WasmEdge_FunctionTypeCreate)
"_WasmEdge_FunctionTypeDelete", referenced from:
__cgo_0190cfa8e5d1_Cfunc_WasmEdge_FunctionTypeDelete in _x010.o
(maybe you meant: __cgo_0190cfa8e5d1_Cfunc_WasmEdge_FunctionTypeDelete)
"_WasmEdge_FunctionTypeGetParameters", referenced from:
__cgo_0190cfa8e5d1_Cfunc_WasmEdge_FunctionTypeGetParameters in _x008.o
(maybe you meant: __cgo_0190cfa8e5d1_Cfunc_WasmEdge_FunctionTypeGetParametersLength, __cgo_0190cfa8e5d1_Cfunc_WasmEdge_FunctionTypeGetParameters )
"_WasmEdge_FunctionTypeGetParametersLength", referenced from:
__cgo_0190cfa8e5d1_Cfunc_WasmEdge_FunctionTypeGetParametersLength in _x008.o
(maybe you meant: __cgo_0190cfa8e5d1_Cfunc_WasmEdge_FunctionTypeGetParametersLength)
"_WasmEdge_FunctionTypeGetReturns", referenced from:
__cgo_0190cfa8e5d1_Cfunc_WasmEdge_FunctionTypeGetReturns in _x008.o
(maybe you meant: __cgo_0190cfa8e5d1_Cfunc_WasmEdge_FunctionTypeGetReturnsLength, __cgo_0190cfa8e5d1_Cfunc_WasmEdge_FunctionTypeGetReturns )
"_WasmEdge_FunctionTypeGetReturnsLength", referenced from:
__cgo_0190cfa8e5d1_Cfunc_WasmEdge_FunctionTypeGetReturnsLength in _x008.o
(maybe you meant: __cgo_0190cfa8e5d1_Cfunc_WasmEdge_FunctionTypeGetReturnsLength)
"_WasmEdge_GlobalInstanceCreate", referenced from:
__cgo_0190cfa8e5d1_Cfunc_WasmEdge_GlobalInstanceCreate in _x009.o
(maybe you meant: __cgo_0190cfa8e5d1_Cfunc_WasmEdge_GlobalInstanceCreate)
"_WasmEdge_GlobalInstanceDelete", referenced from:
__cgo_0190cfa8e5d1_Cfunc_WasmEdge_GlobalInstanceDelete in _x009.o
(maybe you meant: __cgo_0190cfa8e5d1_Cfunc_WasmEdge_GlobalInstanceDelete)
"_WasmEdge_GlobalInstanceGetMutability", referenced from:
__cgo_0190cfa8e5d1_Cfunc_WasmEdge_GlobalInstanceGetMutability in _x009.o
(maybe you meant: __cgo_0190cfa8e5d1_Cfunc_WasmEdge_GlobalInstanceGetMutability)
"_WasmEdge_GlobalInstanceGetValType", referenced from:
__cgo_0190cfa8e5d1_Cfunc_WasmEdge_GlobalInstanceGetValType in _x009.o
(maybe you meant: __cgo_0190cfa8e5d1_Cfunc_WasmEdge_GlobalInstanceGetValType)
"_WasmEdge_GlobalInstanceGetValue", referenced from:
__cgo_0190cfa8e5d1_Cfunc_WasmEdge_GlobalInstanceGetValue in _x009.o
(maybe you meant: __cgo_0190cfa8e5d1_Cfunc_WasmEdge_GlobalInstanceGetValue)
"_WasmEdge_GlobalInstanceSetValue", referenced from:
__cgo_0190cfa8e5d1_Cfunc_WasmEdge_GlobalInstanceSetValue in _x009.o
(maybe you meant: __cgo_0190cfa8e5d1_Cfunc_WasmEdge_GlobalInstanceSetValue)
"_WasmEdge_HostFunctionCreateBinding", referenced from:
__cgo_0190cfa8e5d1_Cfunc_WasmEdge_HostFunctionCreateBinding in _x010.o
(maybe you meant: __cgo_0190cfa8e5d1_Cfunc_WasmEdge_HostFunctionCreateBinding)
"_WasmEdge_HostFunctionDelete", referenced from:
__cgo_0190cfa8e5d1_Cfunc_WasmEdge_HostFunctionDelete in _x010.o
(maybe you meant: __cgo_0190cfa8e5d1_Cfunc_WasmEdge_HostFunctionDelete)
"_WasmEdge_ImportObjectAddGlobal", referenced from:
__cgo_0190cfa8e5d1_Cfunc_WasmEdge_ImportObjectAddGlobal in _x011.o
(maybe you meant: __cgo_0190cfa8e5d1_Cfunc_WasmEdge_ImportObjectAddGlobal)
"_WasmEdge_ImportObjectAddHostFunction", referenced from:
__cgo_0190cfa8e5d1_Cfunc_WasmEdge_ImportObjectAddHostFunction in _x011.o
(maybe you meant: __cgo_0190cfa8e5d1_Cfunc_WasmEdge_ImportObjectAddHostFunction)
"_WasmEdge_ImportObjectAddMemory", referenced from:
__cgo_0190cfa8e5d1_Cfunc_WasmEdge_ImportObjectAddMemory in _x011.o
(maybe you meant: __cgo_0190cfa8e5d1_Cfunc_WasmEdge_ImportObjectAddMemory)
"_WasmEdge_ImportObjectAddTable", referenced from:
__cgo_0190cfa8e5d1_Cfunc_WasmEdge_ImportObjectAddTable in _x011.o
(maybe you meant: __cgo_0190cfa8e5d1_Cfunc_WasmEdge_ImportObjectAddTable)
"_WasmEdge_ImportObjectCreate", referenced from:
__cgo_0190cfa8e5d1_Cfunc_WasmEdge_ImportObjectCreate in _x011.o
(maybe you meant: __cgo_0190cfa8e5d1_Cfunc_WasmEdge_ImportObjectCreateWasmEdgeProcess, __cgo_0190cfa8e5d1_Cfunc_WasmEdge_ImportObjectCreate , __cgo_0190cfa8e5d1_Cfunc_WasmEdge_ImportObjectCreateWASI )
"_WasmEdge_ImportObjectCreateWASI", referenced from:
__cgo_0190cfa8e5d1_Cfunc_WasmEdge_ImportObjectCreateWASI in _x011.o
(maybe you meant: __cgo_0190cfa8e5d1_Cfunc_WasmEdge_ImportObjectCreateWASI)
"_WasmEdge_ImportObjectCreateWasmEdgeProcess", referenced from:
__cgo_0190cfa8e5d1_Cfunc_WasmEdge_ImportObjectCreateWasmEdgeProcess in _x011.o
(maybe you meant: __cgo_0190cfa8e5d1_Cfunc_WasmEdge_ImportObjectCreateWasmEdgeProcess)
"_WasmEdge_ImportObjectDelete", referenced from:
__cgo_0190cfa8e5d1_Cfunc_WasmEdge_ImportObjectDelete in _x011.o
(maybe you meant: __cgo_0190cfa8e5d1_Cfunc_WasmEdge_ImportObjectDelete)
"_WasmEdge_ImportObjectInitWASI", referenced from:
__cgo_0190cfa8e5d1_Cfunc_WasmEdge_ImportObjectInitWASI in _x011.o
(maybe you meant: __cgo_0190cfa8e5d1_Cfunc_WasmEdge_ImportObjectInitWASI)
"_WasmEdge_ImportObjectInitWasmEdgeProcess", referenced from:
__cgo_0190cfa8e5d1_Cfunc_WasmEdge_ImportObjectInitWasmEdgeProcess in _x011.o
(maybe you meant: __cgo_0190cfa8e5d1_Cfunc_WasmEdge_ImportObjectInitWasmEdgeProcess)
"_WasmEdge_InterpreterCreate", referenced from:
__cgo_0190cfa8e5d1_Cfunc_WasmEdge_InterpreterCreate in _x012.o
(maybe you meant: __cgo_0190cfa8e5d1_Cfunc_WasmEdge_InterpreterCreate)
"_WasmEdge_InterpreterDelete", referenced from:
__cgo_0190cfa8e5d1_Cfunc_WasmEdge_InterpreterDelete in _x012.o
(maybe you meant: __cgo_0190cfa8e5d1_Cfunc_WasmEdge_InterpreterDelete)
"_WasmEdge_InterpreterInstantiate", referenced from:
__cgo_0190cfa8e5d1_Cfunc_WasmEdge_InterpreterInstantiate in _x012.o
(maybe you meant: __cgo_0190cfa8e5d1_Cfunc_WasmEdge_InterpreterInstantiate)
"_WasmEdge_InterpreterInvoke", referenced from:
__cgo_0190cfa8e5d1_Cfunc_WasmEdge_InterpreterInvoke in _x012.o
(maybe you meant: __cgo_0190cfa8e5d1_Cfunc_WasmEdge_InterpreterInvoke, __cgo_0190cfa8e5d1_Cfunc_WasmEdge_InterpreterInvokeRegistered )
"_WasmEdge_InterpreterInvokeRegistered", referenced from:
__cgo_0190cfa8e5d1_Cfunc_WasmEdge_InterpreterInvokeRegistered in _x012.o
(maybe you meant: __cgo_0190cfa8e5d1_Cfunc_WasmEdge_InterpreterInvokeRegistered)
"_WasmEdge_InterpreterRegisterImport", referenced from:
__cgo_0190cfa8e5d1_Cfunc_WasmEdge_InterpreterRegisterImport in _x012.o
(maybe you meant: __cgo_0190cfa8e5d1_Cfunc_WasmEdge_InterpreterRegisterImport)
"_WasmEdge_InterpreterRegisterModule", referenced from:
__cgo_0190cfa8e5d1_Cfunc_WasmEdge_InterpreterRegisterModule in _x012.o
(maybe you meant: __cgo_0190cfa8e5d1_Cfunc_WasmEdge_InterpreterRegisterModule)
"_WasmEdge_LoaderCreate", referenced from:
__cgo_0190cfa8e5d1_Cfunc_WasmEdge_LoaderCreate in _x014.o
(maybe you meant: __cgo_0190cfa8e5d1_Cfunc_WasmEdge_LoaderCreate)
"_WasmEdge_LoaderDelete", referenced from:
__cgo_0190cfa8e5d1_Cfunc_WasmEdge_LoaderDelete in _x014.o
(maybe you meant: __cgo_0190cfa8e5d1_Cfunc_WasmEdge_LoaderDelete)
"_WasmEdge_LoaderParseFromBuffer", referenced from:
__cgo_0190cfa8e5d1_Cfunc_WasmEdge_LoaderParseFromBuffer in _x014.o
(maybe you meant: __cgo_0190cfa8e5d1_Cfunc_WasmEdge_LoaderParseFromBuffer)
"_WasmEdge_LoaderParseFromFile", referenced from:
__cgo_0190cfa8e5d1_Cfunc_WasmEdge_LoaderParseFromFile in _x014.o
(maybe you meant: __cgo_0190cfa8e5d1_Cfunc_WasmEdge_LoaderParseFromFile)
"_WasmEdge_LogSetDebugLevel", referenced from:
__cgo_0190cfa8e5d1_Cfunc_WasmEdge_LogSetDebugLevel in _x015.o
(maybe you meant: __cgo_0190cfa8e5d1_Cfunc_WasmEdge_LogSetDebugLevel)
"_WasmEdge_LogSetErrorLevel", referenced from:
__cgo_0190cfa8e5d1_Cfunc_WasmEdge_LogSetErrorLevel in _x015.o
(maybe you meant: __cgo_0190cfa8e5d1_Cfunc_WasmEdge_LogSetErrorLevel)
"_WasmEdge_MemoryInstanceCreate", referenced from:
__cgo_0190cfa8e5d1_Cfunc_WasmEdge_MemoryInstanceCreate in _x016.o
(maybe you meant: __cgo_0190cfa8e5d1_Cfunc_WasmEdge_MemoryInstanceCreate)
"_WasmEdge_MemoryInstanceDelete", referenced from:
__cgo_0190cfa8e5d1_Cfunc_WasmEdge_MemoryInstanceDelete in _x016.o
(maybe you meant: __cgo_0190cfa8e5d1_Cfunc_WasmEdge_MemoryInstanceDelete)
"_WasmEdge_MemoryInstanceGetData", referenced from:
__cgo_0190cfa8e5d1_Cfunc_WasmEdge_MemoryInstanceGetData in _x016.o
(maybe you meant: __cgo_0190cfa8e5d1_Cfunc_WasmEdge_MemoryInstanceGetData)
"_WasmEdge_MemoryInstanceGetPageSize", referenced from:
__cgo_0190cfa8e5d1_Cfunc_WasmEdge_MemoryInstanceGetPageSize in _x016.o
(maybe you meant: __cgo_0190cfa8e5d1_Cfunc_WasmEdge_MemoryInstanceGetPageSize)
"_WasmEdge_MemoryInstanceGrowPage", referenced from:
__cgo_0190cfa8e5d1_Cfunc_WasmEdge_MemoryInstanceGrowPage in _x016.o
(maybe you meant: __cgo_0190cfa8e5d1_Cfunc_WasmEdge_MemoryInstanceGrowPage)
"_WasmEdge_MemoryInstanceSetData", referenced from:
__cgo_0190cfa8e5d1_Cfunc_WasmEdge_MemoryInstanceSetData in _x016.o
(maybe you meant: __cgo_0190cfa8e5d1_Cfunc_WasmEdge_MemoryInstanceSetData)
"_WasmEdge_ResultGetMessage", referenced from:
__cgo_0190cfa8e5d1_Cfunc_WasmEdge_ResultGetMessage in _x017.o
(maybe you meant: __cgo_0190cfa8e5d1_Cfunc_WasmEdge_ResultGetMessage)
"_WasmEdge_ResultOK", referenced from:
__cgo_0190cfa8e5d1_Cfunc_WasmEdge_ResultOK in _x005.o
(maybe you meant: __cgo_0190cfa8e5d1_Cfunc_WasmEdge_ResultOK)
"_WasmEdge_StatisticsCreate", referenced from:
__cgo_0190cfa8e5d1_Cfunc_WasmEdge_StatisticsCreate in _x018.o
(maybe you meant: __cgo_0190cfa8e5d1_Cfunc_WasmEdge_StatisticsCreate)
"_WasmEdge_StatisticsDelete", referenced from:
__cgo_0190cfa8e5d1_Cfunc_WasmEdge_StatisticsDelete in _x018.o
(maybe you meant: __cgo_0190cfa8e5d1_Cfunc_WasmEdge_StatisticsDelete)
"_WasmEdge_StatisticsGetInstrCount", referenced from:
__cgo_0190cfa8e5d1_Cfunc_WasmEdge_StatisticsGetInstrCount in _x018.o
(maybe you meant: __cgo_0190cfa8e5d1_Cfunc_WasmEdge_StatisticsGetInstrCount)
"_WasmEdge_StatisticsGetInstrPerSecond", referenced from:
__cgo_0190cfa8e5d1_Cfunc_WasmEdge_StatisticsGetInstrPerSecond in _x018.o
(maybe you meant: __cgo_0190cfa8e5d1_Cfunc_WasmEdge_StatisticsGetInstrPerSecond)
"_WasmEdge_StatisticsGetTotalCost", referenced from:
__cgo_0190cfa8e5d1_Cfunc_WasmEdge_StatisticsGetTotalCost in _x018.o
(maybe you meant: __cgo_0190cfa8e5d1_Cfunc_WasmEdge_StatisticsGetTotalCost)
"_WasmEdge_StatisticsSetCostLimit", referenced from:
__cgo_0190cfa8e5d1_Cfunc_WasmEdge_StatisticsSetCostLimit in _x018.o
(maybe you meant: __cgo_0190cfa8e5d1_Cfunc_WasmEdge_StatisticsSetCostLimit)
"_WasmEdge_StatisticsSetCostTable", referenced from:
__cgo_0190cfa8e5d1_Cfunc_WasmEdge_StatisticsSetCostTable in _x018.o
(maybe you meant: __cgo_0190cfa8e5d1_Cfunc_WasmEdge_StatisticsSetCostTable)
"_WasmEdge_StoreCreate", referenced from:
__cgo_0190cfa8e5d1_Cfunc_WasmEdge_StoreCreate in _x019.o
(maybe you meant: __cgo_0190cfa8e5d1_Cfunc_WasmEdge_StoreCreate)
"_WasmEdge_StoreDelete", referenced from:
__cgo_0190cfa8e5d1_Cfunc_WasmEdge_StoreDelete in _x019.o
(maybe you meant: __cgo_0190cfa8e5d1_Cfunc_WasmEdge_StoreDelete)
"_WasmEdge_StoreFindFunction", referenced from:
__cgo_0190cfa8e5d1_Cfunc_WasmEdge_StoreFindFunction in _x019.o
(maybe you meant: __cgo_0190cfa8e5d1_Cfunc_WasmEdge_StoreFindFunction, __cgo_0190cfa8e5d1_Cfunc_WasmEdge_StoreFindFunctionRegistered )
"_WasmEdge_StoreFindFunctionRegistered", referenced from:
__cgo_0190cfa8e5d1_Cfunc_WasmEdge_StoreFindFunctionRegistered in _x019.o
(maybe you meant: __cgo_0190cfa8e5d1_Cfunc_WasmEdge_StoreFindFunctionRegistered)
"_WasmEdge_StoreFindGlobal", referenced from:
__cgo_0190cfa8e5d1_Cfunc_WasmEdge_StoreFindGlobal in _x019.o
(maybe you meant: __cgo_0190cfa8e5d1_Cfunc_WasmEdge_StoreFindGlobalRegistered, __cgo_0190cfa8e5d1_Cfunc_WasmEdge_StoreFindGlobal )
"_WasmEdge_StoreFindGlobalRegistered", referenced from:
__cgo_0190cfa8e5d1_Cfunc_WasmEdge_StoreFindGlobalRegistered in _x019.o
(maybe you meant: __cgo_0190cfa8e5d1_Cfunc_WasmEdge_StoreFindGlobalRegistered)
"_WasmEdge_StoreFindMemory", referenced from:
__cgo_0190cfa8e5d1_Cfunc_WasmEdge_StoreFindMemory in _x019.o
(maybe you meant: __cgo_0190cfa8e5d1_Cfunc_WasmEdge_StoreFindMemoryRegistered, __cgo_0190cfa8e5d1_Cfunc_WasmEdge_StoreFindMemory )
"_WasmEdge_StoreFindMemoryRegistered", referenced from:
__cgo_0190cfa8e5d1_Cfunc_WasmEdge_StoreFindMemoryRegistered in _x019.o
(maybe you meant: __cgo_0190cfa8e5d1_Cfunc_WasmEdge_StoreFindMemoryRegistered)
"_WasmEdge_StoreFindTable", referenced from:
__cgo_0190cfa8e5d1_Cfunc_WasmEdge_StoreFindTable in _x019.o
(maybe you meant: __cgo_0190cfa8e5d1_Cfunc_WasmEdge_StoreFindTableRegistered, __cgo_0190cfa8e5d1_Cfunc_WasmEdge_StoreFindTable )
"_WasmEdge_StoreFindTableRegistered", referenced from:
__cgo_0190cfa8e5d1_Cfunc_WasmEdge_StoreFindTableRegistered in _x019.o
(maybe you meant: __cgo_0190cfa8e5d1_Cfunc_WasmEdge_StoreFindTableRegistered)
"_WasmEdge_StoreListFunctionLength", referenced from:
__cgo_0190cfa8e5d1_Cfunc_WasmEdge_StoreListFunctionLength in _x019.o
(maybe you meant: __cgo_0190cfa8e5d1_Cfunc_WasmEdge_StoreListFunctionLength)
"_WasmEdge_StoreListFunctionRegisteredLength", referenced from:
__cgo_0190cfa8e5d1_Cfunc_WasmEdge_StoreListFunctionRegisteredLength in _x019.o
(maybe you meant: __cgo_0190cfa8e5d1_Cfunc_WasmEdge_StoreListFunctionRegisteredLength)
"_WasmEdge_StoreListGlobalLength", referenced from:
__cgo_0190cfa8e5d1_Cfunc_WasmEdge_StoreListGlobalLength in _x019.o
(maybe you meant: __cgo_0190cfa8e5d1_Cfunc_WasmEdge_StoreListGlobalLength)
"_WasmEdge_StoreListGlobalRegisteredLength", referenced from:
__cgo_0190cfa8e5d1_Cfunc_WasmEdge_StoreListGlobalRegisteredLength in _x019.o
(maybe you meant: __cgo_0190cfa8e5d1_Cfunc_WasmEdge_StoreListGlobalRegisteredLength)
"_WasmEdge_StoreListMemoryLength", referenced from:
__cgo_0190cfa8e5d1_Cfunc_WasmEdge_StoreListMemoryLength in _x019.o
(maybe you meant: __cgo_0190cfa8e5d1_Cfunc_WasmEdge_StoreListMemoryLength)
"_WasmEdge_StoreListMemoryRegisteredLength", referenced from:
__cgo_0190cfa8e5d1_Cfunc_WasmEdge_StoreListMemoryRegisteredLength in _x019.o
(maybe you meant: __cgo_0190cfa8e5d1_Cfunc_WasmEdge_StoreListMemoryRegisteredLength)
"_WasmEdge_StoreListModule", referenced from:
__cgo_0190cfa8e5d1_Cfunc_WasmEdge_StoreListModule in _x019.o
(maybe you meant: __cgo_0190cfa8e5d1_Cfunc_WasmEdge_StoreListModuleLength, __cgo_0190cfa8e5d1_Cfunc_WasmEdge_StoreListModule )
"_WasmEdge_StoreListModuleLength", referenced from:
__cgo_0190cfa8e5d1_Cfunc_WasmEdge_StoreListModuleLength in _x019.o
(maybe you meant: __cgo_0190cfa8e5d1_Cfunc_WasmEdge_StoreListModuleLength)
"_WasmEdge_StoreListTableLength", referenced from:
__cgo_0190cfa8e5d1_Cfunc_WasmEdge_StoreListTableLength in _x019.o
(maybe you meant: __cgo_0190cfa8e5d1_Cfunc_WasmEdge_StoreListTableLength)
"_WasmEdge_StoreListTableRegisteredLength", referenced from:
__cgo_0190cfa8e5d1_Cfunc_WasmEdge_StoreListTableRegisteredLength in _x019.o
(maybe you meant: __cgo_0190cfa8e5d1_Cfunc_WasmEdge_StoreListTableRegisteredLength)
"_WasmEdge_StringDelete", referenced from:
__cgo_0190cfa8e5d1_Cfunc_WasmEdge_StringDelete in _x019.o
(maybe you meant: __cgo_0190cfa8e5d1_Cfunc_WasmEdge_StringDelete)
"_WasmEdge_StringWrap", referenced from:
__cgo_0190cfa8e5d1_Cfunc_WasmEdge_StringWrap in _x020.o
(maybe you meant: __cgo_0190cfa8e5d1_Cfunc_WasmEdge_StringWrap)
"_WasmEdge_TableInstanceCreate", referenced from:
__cgo_0190cfa8e5d1_Cfunc_WasmEdge_TableInstanceCreate in _x021.o
(maybe you meant: __cgo_0190cfa8e5d1_Cfunc_WasmEdge_TableInstanceCreate)
"_WasmEdge_TableInstanceDelete", referenced from:
__cgo_0190cfa8e5d1_Cfunc_WasmEdge_TableInstanceDelete in _x021.o
(maybe you meant: __cgo_0190cfa8e5d1_Cfunc_WasmEdge_TableInstanceDelete)
"_WasmEdge_TableInstanceGetData", referenced from:
__cgo_0190cfa8e5d1_Cfunc_WasmEdge_TableInstanceGetData in _x021.o
(maybe you meant: __cgo_0190cfa8e5d1_Cfunc_WasmEdge_TableInstanceGetData)
"_WasmEdge_TableInstanceGetRefType", referenced from:
__cgo_0190cfa8e5d1_Cfunc_WasmEdge_TableInstanceGetRefType in _x021.o
(maybe you meant: __cgo_0190cfa8e5d1_Cfunc_WasmEdge_TableInstanceGetRefType)
"_WasmEdge_TableInstanceGetSize", referenced from:
__cgo_0190cfa8e5d1_Cfunc_WasmEdge_TableInstanceGetSize in _x021.o
(maybe you meant: __cgo_0190cfa8e5d1_Cfunc_WasmEdge_TableInstanceGetSize)
"_WasmEdge_TableInstanceGrow", referenced from:
__cgo_0190cfa8e5d1_Cfunc_WasmEdge_TableInstanceGrow in _x021.o
(maybe you meant: __cgo_0190cfa8e5d1_Cfunc_WasmEdge_TableInstanceGrow)
"_WasmEdge_TableInstanceSetData", referenced from:
__cgo_0190cfa8e5d1_Cfunc_WasmEdge_TableInstanceSetData in _x021.o
(maybe you meant: __cgo_0190cfa8e5d1_Cfunc_WasmEdge_TableInstanceSetData)
"_WasmEdge_VMCleanup", referenced from:
__cgo_0190cfa8e5d1_Cfunc_WasmEdge_VMCleanup in _x025.o
(maybe you meant: __cgo_0190cfa8e5d1_Cfunc_WasmEdge_VMCleanup)
"_WasmEdge_VMCreate", referenced from:
__cgo_0190cfa8e5d1_Cfunc_WasmEdge_VMCreate in _x025.o
(maybe you meant: __cgo_0190cfa8e5d1_Cfunc_WasmEdge_VMCreate)
"_WasmEdge_VMDelete", referenced from:
__cgo_0190cfa8e5d1_Cfunc_WasmEdge_VMDelete in _x025.o
(maybe you meant: __cgo_0190cfa8e5d1_Cfunc_WasmEdge_VMDelete)
"_WasmEdge_VMExecute", referenced from:
__cgo_0190cfa8e5d1_Cfunc_WasmEdge_VMExecute in _x025.o
(maybe you meant: __cgo_0190cfa8e5d1_Cfunc_WasmEdge_VMExecuteRegistered, __cgo_0190cfa8e5d1_Cfunc_WasmEdge_VMExecute )
"_WasmEdge_VMExecuteRegistered", referenced from:
__cgo_0190cfa8e5d1_Cfunc_WasmEdge_VMExecuteRegistered in _x025.o
(maybe you meant: __cgo_0190cfa8e5d1_Cfunc_WasmEdge_VMExecuteRegistered)
"_WasmEdge_VMGetFunctionList", referenced from:
__cgo_0190cfa8e5d1_Cfunc_WasmEdge_VMGetFunctionList in _x025.o
(maybe you meant: __cgo_0190cfa8e5d1_Cfunc_WasmEdge_VMGetFunctionListLength, __cgo_0190cfa8e5d1_Cfunc_WasmEdge_VMGetFunctionList )
"_WasmEdge_VMGetFunctionListLength", referenced from:
__cgo_0190cfa8e5d1_Cfunc_WasmEdge_VMGetFunctionListLength in _x025.o
(maybe you meant: __cgo_0190cfa8e5d1_Cfunc_WasmEdge_VMGetFunctionListLength)
"_WasmEdge_VMGetFunctionType", referenced from:
__cgo_0190cfa8e5d1_Cfunc_WasmEdge_VMGetFunctionType in _x025.o
(maybe you meant: __cgo_0190cfa8e5d1_Cfunc_WasmEdge_VMGetFunctionTypeRegistered, __cgo_0190cfa8e5d1_Cfunc_WasmEdge_VMGetFunctionType )
"_WasmEdge_VMGetFunctionTypeRegistered", referenced from:
__cgo_0190cfa8e5d1_Cfunc_WasmEdge_VMGetFunctionTypeRegistered in _x025.o
(maybe you meant: __cgo_0190cfa8e5d1_Cfunc_WasmEdge_VMGetFunctionTypeRegistered)
"_WasmEdge_VMGetImportModuleContext", referenced from:
__cgo_0190cfa8e5d1_Cfunc_WasmEdge_VMGetImportModuleContext in _x025.o
(maybe you meant: __cgo_0190cfa8e5d1_Cfunc_WasmEdge_VMGetImportModuleContext)
"_WasmEdge_VMGetStatisticsContext", referenced from:
__cgo_0190cfa8e5d1_Cfunc_WasmEdge_VMGetStatisticsContext in _x025.o
(maybe you meant: __cgo_0190cfa8e5d1_Cfunc_WasmEdge_VMGetStatisticsContext)
"_WasmEdge_VMGetStoreContext", referenced from:
__cgo_0190cfa8e5d1_Cfunc_WasmEdge_VMGetStoreContext in _x025.o
(maybe you meant: __cgo_0190cfa8e5d1_Cfunc_WasmEdge_VMGetStoreContext)
"_WasmEdge_VMInstantiate", referenced from:
__cgo_0190cfa8e5d1_Cfunc_WasmEdge_VMInstantiate in _x025.o
(maybe you meant: __cgo_0190cfa8e5d1_Cfunc_WasmEdge_VMInstantiate)
"_WasmEdge_VMLoadWasmFromASTModule", referenced from:
__cgo_0190cfa8e5d1_Cfunc_WasmEdge_VMLoadWasmFromASTModule in _x025.o
(maybe you meant: __cgo_0190cfa8e5d1_Cfunc_WasmEdge_VMLoadWasmFromASTModule)
"_WasmEdge_VMLoadWasmFromBuffer", referenced from:
__cgo_0190cfa8e5d1_Cfunc_WasmEdge_VMLoadWasmFromBuffer in _x025.o
(maybe you meant: __cgo_0190cfa8e5d1_Cfunc_WasmEdge_VMLoadWasmFromBuffer)
"_WasmEdge_VMLoadWasmFromFile", referenced from:
__cgo_0190cfa8e5d1_Cfunc_WasmEdge_VMLoadWasmFromFile in _x025.o
(maybe you meant: __cgo_0190cfa8e5d1_Cfunc_WasmEdge_VMLoadWasmFromFile)
"_WasmEdge_VMRegisterModuleFromASTModule", referenced from:
__cgo_0190cfa8e5d1_Cfunc_WasmEdge_VMRegisterModuleFromASTModule in _x025.o
(maybe you meant: __cgo_0190cfa8e5d1_Cfunc_WasmEdge_VMRegisterModuleFromASTModule)
"_WasmEdge_VMRegisterModuleFromBuffer", referenced from:
__cgo_0190cfa8e5d1_Cfunc_WasmEdge_VMRegisterModuleFromBuffer in _x025.o
(maybe you meant: __cgo_0190cfa8e5d1_Cfunc_WasmEdge_VMRegisterModuleFromBuffer)
"_WasmEdge_VMRegisterModuleFromFile", referenced from:
__cgo_0190cfa8e5d1_Cfunc_WasmEdge_VMRegisterModuleFromFile in _x025.o
(maybe you meant: __cgo_0190cfa8e5d1_Cfunc_WasmEdge_VMRegisterModuleFromFile)
"_WasmEdge_VMRegisterModuleFromImport", referenced from:
__cgo_0190cfa8e5d1_Cfunc_WasmEdge_VMRegisterModuleFromImport in _x025.o
(maybe you meant: __cgo_0190cfa8e5d1_Cfunc_WasmEdge_VMRegisterModuleFromImport)
"_WasmEdge_VMValidate", referenced from:
__cgo_0190cfa8e5d1_Cfunc_WasmEdge_VMValidate in _x025.o
(maybe you meant: __cgo_0190cfa8e5d1_Cfunc_WasmEdge_VMValidate)
"_WasmEdge_ValidatorCreate", referenced from:
__cgo_0190cfa8e5d1_Cfunc_WasmEdge_ValidatorCreate in _x022.o
(maybe you meant: __cgo_0190cfa8e5d1_Cfunc_WasmEdge_ValidatorCreate)
"_WasmEdge_ValidatorDelete", referenced from:
__cgo_0190cfa8e5d1_Cfunc_WasmEdge_ValidatorDelete in _x022.o
(maybe you meant: __cgo_0190cfa8e5d1_Cfunc_WasmEdge_ValidatorDelete)
"_WasmEdge_ValidatorValidate", referenced from:
__cgo_0190cfa8e5d1_Cfunc_WasmEdge_ValidatorValidate in _x022.o
(maybe you meant: __cgo_0190cfa8e5d1_Cfunc_WasmEdge_ValidatorValidate)
"_WasmEdge_ValueGenF32", referenced from:
__cgo_0190cfa8e5d1_Cfunc_WasmEdge_ValueGenF32 in _x023.o
(maybe you meant: __cgo_0190cfa8e5d1_Cfunc_WasmEdge_ValueGenF32)
"_WasmEdge_ValueGenF64", referenced from:
__cgo_0190cfa8e5d1_Cfunc_WasmEdge_ValueGenF64 in _x023.o
(maybe you meant: __cgo_0190cfa8e5d1_Cfunc_WasmEdge_ValueGenF64)
"_WasmEdge_ValueGenFuncRef", referenced from:
__cgo_0190cfa8e5d1_Cfunc_WasmEdge_ValueGenFuncRef in _x023.o
(maybe you meant: __cgo_0190cfa8e5d1_Cfunc_WasmEdge_ValueGenFuncRef)
"_WasmEdge_ValueGenI32", referenced from:
__cgo_0190cfa8e5d1_Cfunc_WasmEdge_ValueGenI32 in _x023.o
(maybe you meant: __cgo_0190cfa8e5d1_Cfunc_WasmEdge_ValueGenI32)
"_WasmEdge_ValueGenI64", referenced from:
__cgo_0190cfa8e5d1_Cfunc_WasmEdge_ValueGenI64 in _x023.o
(maybe you meant: __cgo_0190cfa8e5d1_Cfunc_WasmEdge_ValueGenI64)
"_WasmEdge_ValueGenV128", referenced from:
__cgo_0190cfa8e5d1_Cfunc_WasmEdge_ValueGenV128 in _x023.o
(maybe you meant: __cgo_0190cfa8e5d1_Cfunc_WasmEdge_ValueGenV128)
"_WasmEdge_ValueGetF32", referenced from:
__cgo_0190cfa8e5d1_Cfunc_WasmEdge_ValueGetF32 in _x023.o
(maybe you meant: __cgo_0190cfa8e5d1_Cfunc_WasmEdge_ValueGetF32)
"_WasmEdge_ValueGetF64", referenced from:
__cgo_0190cfa8e5d1_Cfunc_WasmEdge_ValueGetF64 in _x023.o
(maybe you meant: __cgo_0190cfa8e5d1_Cfunc_WasmEdge_ValueGetF64)
"_WasmEdge_ValueGetI32", referenced from:
__cgo_0190cfa8e5d1_Cfunc_WasmEdge_ValueGetI32 in _x023.o
(maybe you meant: __cgo_0190cfa8e5d1_Cfunc_WasmEdge_ValueGetI32)
"_WasmEdge_ValueGetI64", referenced from:
__cgo_0190cfa8e5d1_Cfunc_WasmEdge_ValueGetI64 in _x023.o
(maybe you meant: __cgo_0190cfa8e5d1_Cfunc_WasmEdge_ValueGetI64)
"_WasmEdge_ValueGetV128", referenced from:
__cgo_0190cfa8e5d1_Cfunc_WasmEdge_ValueGetV128 in _x023.o
(maybe you meant: __cgo_0190cfa8e5d1_Cfunc_WasmEdge_ValueGetV128)
"_WasmEdge_VersionGet", referenced from:
__cgo_0190cfa8e5d1_Cfunc_WasmEdge_VersionGet in _x024.o
(maybe you meant: __cgo_0190cfa8e5d1_Cfunc_WasmEdge_VersionGetMinor, __cgo_0190cfa8e5d1_Cfunc_WasmEdge_VersionGet , __cgo_0190cfa8e5d1_Cfunc_WasmEdge_VersionGetPatch , __cgo_0190cfa8e5d1_Cfunc_WasmEdge_VersionGetMajor )
"_WasmEdge_VersionGetMajor", referenced from:
__cgo_0190cfa8e5d1_Cfunc_WasmEdge_VersionGetMajor in _x024.o
(maybe you meant: __cgo_0190cfa8e5d1_Cfunc_WasmEdge_VersionGetMajor)
"_WasmEdge_VersionGetMinor", referenced from:
__cgo_0190cfa8e5d1_Cfunc_WasmEdge_VersionGetMinor in _x024.o
(maybe you meant: __cgo_0190cfa8e5d1_Cfunc_WasmEdge_VersionGetMinor)
"_WasmEdge_VersionGetPatch", referenced from:
__cgo_0190cfa8e5d1_Cfunc_WasmEdge_VersionGetPatch in _x024.o
(maybe you meant: __cgo_0190cfa8e5d1_Cfunc_WasmEdge_VersionGetPatch)
ld: symbol(s) not found for architecture x86_64
clang-13: error: linker command failed with exit code 1 (use -v to see invocation)
[](On Ubuntu 18.04
Try to compile some examples on machine:
Linux wasmedge 5.4.0-1055-azure #57~18.04.1-Ubuntu SMP Fri Jul 16 19:40:19 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
Commands:
git clone https://github.com/second-state/WasmEdge-go-examples.git
cd go_ParseImage
go mod vendor
go build
I got many errors and I solved some but still the Glibc version is too low.
Do I miss something?
We need to install LLVM12 for compilation.
Fix it:
wget https://apt.llvm.org/llvm.sh -O /tmp/llvm.sh
sudo bash /tmp/llvm.sh 12
/usr/lib/gcc/x86_64-linux-gnu/7/../../../../lib/libwasmedge_c.so: undefined reference to `std::filesystem::__cxx11::path::_List::_List(std::filesystem::__cxx11::path::_List const&)@GLIBCXX_3.4.26'
/usr/lib/gcc/x86_64-linux-gnu/7/../../../../lib/libwasmedge_c.so: undefined reference to `std::filesystem::__cxx11::path::_M_split_cmpts()@GLIBCXX_3.4.26'
/usr/lib/gcc/x86_64-linux-gnu/7/../../../../lib/libwasmedge_c.so: undefined reference to `std::filesystem::__cxx11::path::lexically_normal() const@GLIBCXX_3.4.26'
/usr/lib/gcc/x86_64-linux-gnu/7/../../../../lib/libwasmedge_c.so: undefined reference to `std::filesystem::absolute(std::filesystem::__cxx11::path const&)@GLIBCXX_3.4.26'
/usr/lib/gcc/x86_64-linux-gnu/7/../../../../lib/libwasmedge_c.so: undefined reference to `std::filesystem::__cxx11::path::_List::_List()@GLIBCXX_3.4.26'
/usr/lib/gcc/x86_64-linux-gnu/7/../../../../lib/libwasmedge_c.so: undefined reference to `std::filesystem::__cxx11::path::replace_extension(std::filesystem::__cxx11::path const&)@GLIBCXX_3.4.26'
/usr/lib/gcc/x86_64-linux-gnu/7/../../../../lib/libwasmedge_c.so: undefined reference to `std::filesystem::__cxx11::path::operator/=(std::filesystem::__cxx11::path const&)@GLIBCXX_3.4.26'
/usr/lib/gcc/x86_64-linux-gnu/7/../../../../lib/libwasmedge_c.so: undefined reference to `pthread_sigmask@GLIBC_2.32'
/usr/lib/gcc/x86_64-linux-gnu/7/../../../../lib/libwasmedge_c.so: undefined reference to `std::filesystem::file_size(std::filesystem::__cxx11::path const&, std::error_code&)@GLIBCXX_3.4.26'
/usr/lib/gcc/x86_64-linux-gnu/7/../../../../lib/libwasmedge_c.so: undefined reference to `std::filesystem::__cxx11::path::_List::_Impl_deleter::operator()(std::filesystem::__cxx11::path::_List::_Impl*) const@GLIBCXX_3.4.26'
/usr/lib/gcc/x86_64-linux-gnu/7/../../../../lib/libwasmedge_c.so: undefined reference to `std::filesystem::__cxx11::path::_M_find_extension() const@GLIBCXX_3.4.26'
/usr/lib/gcc/x86_64-linux-gnu/7/../../../../lib/libwasmedge_c.so: undefined reference to `std::filesystem::__cxx11::path::compare(std::filesystem::__cxx11::path const&) const@GLIBCXX_3.4.26'
Fix it:
Need to upgrade libstdc++6 to latest version like this
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt-get update
sudo apt-get install gcc-4.9
sudo apt-get upgrade libstdc++6
After that you can check if you get GLIBCXX desired version like this:
strings /usr/lib/x86_64-linux-gnu/libstdc++.so.6 | grep GLIBCXX
GLIbC_2.33
/usr/lib/gcc/x86_64-linux-gnu/7/../../../../lib/libwasmedge_c.so: undefined reference to `fstatat@GLIBC_2.33'
/usr/lib/gcc/x86_64-linux-gnu/7/../../../../lib/libwasmedge_c.so: undefined reference to `pthread_sigmask@GLIBC_2.32'
/usr/lib/gcc/x86_64-linux-gnu/7/../../../../lib/libwasmedge_c.so: undefined reference to `fstat@GLIBC_2.33'
Glibc version is too low, double check it:
strings /usr/lib/x86_64-linux-gnu/libstdc++.so.6 | grep GLIBC_
I compiled and install GLIBC2.33 and then install it on /usr/local, the final error is:
# github.com/second-state/WasmEdge-go/wasmedge
/usr/lib/gcc/x86_64-linux-gnu/7/../../../../lib/libwasmedge_c.so: undefined reference to `fstatat@GLIBC_2.33'
//usr/local/lib/librt.so.1: undefined reference to `__futex_abstimed_wait_cancelable64@GLIBC_PRIVATE'
//usr/local/lib/librt.so.1: undefined reference to `__pthread_attr_setsigmask_internal@GLIBC_PRIVATE'
//usr/local/lib/librt.so.1: undefined reference to `__futex_abstimed_wait64@GLIBC_PRIVATE'
/usr/lib/gcc/x86_64-linux-gnu/7/../../../../lib/libwasmedge_c.so: undefined reference to `pthread_sigmask@GLIBC_2.32'
/usr/lib/gcc/x86_64-linux-gnu/7/../../../../lib/libwasmedge_c.so: undefined reference to `fstat@GLIBC_2.33'
//usr/lib/x86_64-linux-gnu/libLLVM-12.so.1: undefined reference to `clock_gettime@GLIBC_2.2.5'
collect2: error: ld returned 1 exit status
with GLIBC:
just like wasmer, i declare some wasi functions in C++, and call them in C++
extern "C" {
EMSCRIPTEN_KEEPALIVE void *get_request_data(int field);
EMSCRIPTEN_KEEPALIVE char* calculate_score_wasi(int length) {
double *prices = (double*)get_request_data(1);
...
then, i defined them in golang, and register them to wasi module, it can run correctly
importObject, err = wasiEnv.GenerateImportObject(store, module)
...
funcMap["get_request_data"] = wasmer.NewFunction(store, wasmer.NewFunctionType([]*wasmer.ValueType{wasmer.NewValueType(wasmer.I32)},
[]*wasmer.ValueType{wasmer.NewValueType(wasmer.I32)}), [mydefinedfunc])
importObject.Register("env", funcMap)
...
when i try host function in wasmedge, my register code is
wasmedge.SetLogDebugLevel()
wasmPath = compileWasm(wasmPath) // compile my demo.wasm by aot
var (
conf = wasmedge.NewConfigure(wasmedge.WASI)
err error
vm = wasmedge.NewVMWithConfig(conf)
wasiobj = vm.GetImportModule(wasmedge.WASI)
)
wasiobj.InitWasi(
os.Args[1:], // The args
os.Environ(), // The envs
[]string{".:."}, // The mapping preopens
)
importOjb := wasmedge.NewModule("env")
for name, function := range allWasiFunctionDefined {
temp := wasmedge.NewFunction(hostFunctionType, function, nil, 20)
importOjb.AddFunction(name, temp)
}
err = vm.RegisterModule(importOjb)
if err != nil {
fmt.Printf("failed to import function module\n")
return nil
}
err = vm.LoadWasmFile(wasmPath)
if err != nil {
fmt.Printf("failed to load wasm, err=%v\n", err)
return nil
}
err = vm.Validate()
if err != nil {
fmt.Printf("Validate err=%v\n", err)
return nil
}
err = vm.Instantiate()
if err != nil {
fmt.Printf("Instantiate err=%v\n", err)
return nil
}
then i call the calculate_score_wasi function, get the error
[error] execution failed: out of bounds memory access, Code: 0x88
[error] When executing function name: "calculate_score_wasi"
so, is my fault or the wasmedge hasn't support ? please help, thanks a lot
In this repo WasmEdge runtime for Suborbital Reactr
The test will fail with the error message signal killed
, which is caused by out-of-memory.
To reproduce the process:
git clone https://github.com/second-state/reactr.git
cd reactr/rwasm
mkdir wt
cp ../wasmtest/swift_test.go .
cp ../wasmtest/wasm_test.go .
vi wasm_test.go
Change package of two go files to wt
, then
go test
go test --tags wasmedge
go test
will run with Wasmer runtime by default and with --tags wasmedge
will run with WasmEdge runtime.
My host is a Ubuntu 20.04 docker container.
Below are two mem profiles of both testing on Wasmer and WasmEdge. You will notice that at the bottom of WasmEdge's graph, there is a memory consumption of 600+M more than Wasmer's graph.
WasmEdge-go
not supports goroutine now.
We should support goroutine in WasmEdge-go
in the future.
I've been folowing the instructions yomo-wasmedge-tensorflow with go run --tags "tensorflow image" app.go and it fails with this error message:
# github.com/second-state/WasmEdge-go/wasmedge
/root/go/pkg/mod/github.com/second-state/[email protected]/wasmedge/ast.go:3:11: fatal error: wasmedge/wasmedge.h: No such file or directory
3 | // #include <wasmedge/wasmedge.h>
| ^~~~~~~~~~~~~~~~~~~~~
compilation terminated.
I'm not sure if there's a way, but I can't find a configuration to set stdout to something besides os.Stdout. This is helpful in tests, ideally a writer.
For the current state, the loading compiled AOT WASM file will always failed because of the bug in WasmEdge
core.
This should be fixed after the WasmEdge 0.9.0-rc.3
in these days.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.