ignatz opened issue #12385:
For context, I found https://github.com/bytecodealliance/wasmtime/issues/12154 which had the same error message but supposedly it's fixed, it may also be unrelated...
...anyway, I'm using wasmtime v41.0.0 enabling the "component-model-async" feature, while still using WASIp2.
The host seems to be happy, but when I build the WASM guest, I'm getting:
cargo build --target wasm32-wasip2 --release Compiling wasm-rust-guest-testfixture v0.0.0 (/home/sebastian/projects/trailbase/client/testfixture/guests/rust) error: linking with `wasm-component-ld` failed: exit status: 1 | = note: "wasm-component-ld" "-flavor" "wasm" "--export" "cabi_post_trailbase:component/init-endpoint@0.1.0#init-http-handlers" "--export" "cabi_post_trailbase:component/init-endpoint@0.1.0#init-job-handlers" "--export" "cabi_post_trailbase:component/init-endpoint@0.1.0#init-sqlite-functions" "--export" "cabi_post_trailbase:component/sqlite-function-endpoint@0.1.0#dispatch-scalar-function" "--export" "trailbase:component/init-endpoint@0.1.0#init-http-handlers" "--export" "trailbase:component/init-endpoint@0.1.0#init-job-handlers" "--export" "trailbase:component/init-endpoint@0.1.0#init-sqlite-functions" "--export" "trailbase:component/sqlite-function-endpoint@0.1.0#dispatch-scalar-function" "--export" "wasi:http/incoming-handler@0.2.9#handle" "--export" "cabi_realloc" "-z" "stack-size=1048576" "--stack-first" "--allow-undefined" "--no-demangle" "<431 object files omitted>" "/tmp/rustcvjZFo1/{libwit_bindgen-82480354a7f0311d,libwit_bindgen-07ccf6eb5537f8e1}.rlib" "-l" "c" "<sysroot>/lib/rustlib/wasm32-wasip2/lib/libcompiler_builtins-*.rlib" "-L" "/home/sebastian/projects/trailbase/target/wasm32-wasip2/release/build/wit-bindgen-8ffd3c9ddbea9b25/out" "-L" "<sysroot>/lib/rustlib/wasm32-wasip2/lib/self-contained" "-o" "/home/sebastian/projects/trailbase/target/wasm32-wasip2/release/deps/wasm_rust_guest_testfixture.wasm" "--gc-sections" "--no-entry" "-O3" "--strip-debug" = note: some arguments are omitted. use `--verbose` to show all linker arguments = note: error: failed to parse core wasm for componentization Caused by: 0: decoding custom section component-type:wit-bindgen:0.51.0:trailbase:component@0.1.0:interfaces-with-all-of-its-exports-removed:encoded world 1: invalid leading byte (0x43) for component defined type (at offset 0x2a38)When I build with
--target wasm-unknown-unknownor--target wasm-wasip1, the component builds but the guest is not able to load it: "Wasmtime: failed to parse WebAssembly module".The wasm-wasip3 target seems to be retired? Anyway, which would be the right one? Am I holding something else wrong? For example, does
component-model-asyncrequire me to also switch to WASIp3 in lock-step?Much appreciated :folded_hands:
Last updated: Jan 29 2026 at 13:25 UTC