-
-
Notifications
You must be signed in to change notification settings - Fork 188
Open
Description
Hi,
I'm trying to integrate mlua (awesome project btw!) into a web project using egui and trunk for bundling. I know mlua can be built into wasm using wasm-unknown-emscripten toolchain. But tools such as wasm-pack do not propagate the emscripten target.
I also saw there is support for using a spec compliant ABI in the nightly rustc: https://github.com/rust-lang/rust/pull/117919/files (I'm not sure that even matters for building mlua)
I tried to build mlua in a project using:
.cargo/config.toml:
[target.wasm32-unknown-unknown]
rustflags = ["-C", "target-feature=+bulk-memory", "-Z", "wasm-c-abi=spec"]Adding mlua dependency as:
mlua = { version = "0.11.5", features = ["luau", "vendored"] }and building as:
cargo build --target wasm32-unknown-unknownThen I get this error:
warning: [email protected]: ToolExecError: command did not execute successfully (status code exit status: 1): LC_ALL="C" "clang++" "-O3" "-ffunction-sections" "-fdata-sections" "-fno-exceptions" "--target=wasm32-unknown-unknown" "-std=c++17" "-I" "/home/juan/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/luau0-src-0.17.0+luau701/luau/Common/include" "-I" "/home/juan/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/luau0-src-0.17.0+luau701/luau/Ast/include" "-fno-math-errno" "-DLUAI_MAXCSTACK=1000000" "-DLUA_VECTOR_SIZE=3" "-DLUA_API=extern \"C\"" "-o" "/home/juan/git/my_project/target/wasm32-unknown-unknown/release/build/mlua-sys-df4fd56c73506f73/out/luau-build/00164cb3bff842c0-Parser.o" "-c" "/home/juan/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/luau0-src-0.17.0+luau701/luau/Ast/src/Parser.cpp"
error: failed to run custom build command for `mlua-sys v0.9.0`
Caused by:
process didn't exit successfully: `/home/juan/git/midlife_engine/target/release/build/mlua-sys-5c1c28e5c5461ac1/build-script-main` (exit status: 1)
--- stdout
cargo:rerun-if-changed=build
cargo:warning=In file included from /home/juan/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/luau0-src-0.17.0+luau701/luau/Ast/src/Allocator.cpp:3:
cargo:warning=In file included from /home/juan/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/luau0-src-0.17.0+luau701/luau/Ast/include/Luau/Allocator.h:4:
cargo:warning=/home/juan/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/luau0-src-0.17.0+luau701/luau/Ast/include/Luau/Ast.h:6:10: fatal error: 'iterator' file not found
cargo:warning= 6 | #include <iterator>
cargo:warning= | ^~~~~~~~~~
cargo:warning=1 error generated.
exit status: 1
That missing <iterator> file, and possibly more for the std lib, do you think can be fixed somehow and get wasm32-unknown-unknown working?
Some references:
Metadata
Metadata
Assignees
Labels
No labels