bytecodealliance / lucet

Lucet, the Sandboxing WebAssembly Compiler.
Apache License 2.0
4.06k stars 165 forks source link

lucet-runtime-example doesn't work when specifying latest crate version (0.6.1) #652

Open zaki-yama opened 3 years ago

zaki-yama commented 3 years ago

Hello. I just started to learn how to use Lucet by reading the document. And I'm facing a problem in Using the Lucet runtime API from Rust - Lucet section.

In this section, lucet-runtime and lucet-wasi are specified as dependencies in Cargo.toml, by relative path. So I try to create an independent package with cargo new, and specify their latest versions (they are both 0.6.1).

[dependencies]
lucet-runtime = "0.6.1"
lucet-wasi = "0.6.1"

I copied src/main.rs in that page, and run cargo run then it raised an error:

thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: DlError(Custom { kind: Other, error: "dlopen(/Users/yamazaki/repos/github.com/zaki-yama-labs/lucet-playground/lucet-runtime-example/example.so, 2): Symbol not found: _hostcall_wasi_snapshot_preview1_fd_close\n  Referenced from: /Users/yamazaki/repos/github.com/zaki-yama-labs/lucet-playground/lucet-runtime-example/example.so\n  Expected in: flat namespace\n in /Users/yamazaki/repos/github.com/zaki-yama-labs/lucet-playground/lucet-runtime-example/example.so" })', src/main.rs:8:50
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

Can I solve this error? I really appreciate if you tell me if there are any other requirements.

Additional info: