arvid-norlander opened issue #6675:
I'm trying to build wasmtime for 32-bit x86 (and ARM in extension) as I want to embed it in a C program running on some industrial controllers, with very long service life. Unfortunately this seems broken. I can build a native x86-64 build with no issues. But the 32-bit build fails as follows:
cargo build --target i686-unknown-linux-gnu 9s Blocking waiting for file lock on build directory [... lots of sucessfully built crates ...] error[E0432]: unresolved import `wasmtime_asm_macros::asm_sym` --> crates/fiber/src/unix/x86.rs:13:37 | 13 | use wasmtime_asm_macros::{asm_func, asm_sym}; | ^^^^^^^ no `asm_sym` in the root Compiling socket2 v0.4.7 For more information about this error, try `rustc --explain E0432`. error: could not compile `wasmtime-fiber` (lib) due to previous error warning: build failed, waiting for other jobs to finish...
Are 32-bit builds not supported? If so, do you know of any wasm runtime that works on 32-bit x86 and 32-bit ARM?
arvid-norlander edited issue #6675:
I'm trying to build wasmtime for 32-bit x86 (and ARM in extension) as I want to embed it in a C program running on some industrial controllers, with very long service life. Unfortunately this seems broken. I can build a native x86-64 build with no issues. But the 32-bit build fails as follows:
$ cargo build --target i686-unknown-linux-gnu 9s Blocking waiting for file lock on build directory [... lots of sucessfully built crates ...] error[E0432]: unresolved import `wasmtime_asm_macros::asm_sym` --> crates/fiber/src/unix/x86.rs:13:37 | 13 | use wasmtime_asm_macros::{asm_func, asm_sym}; | ^^^^^^^ no `asm_sym` in the root Compiling socket2 v0.4.7 For more information about this error, try `rustc --explain E0432`. error: could not compile `wasmtime-fiber` (lib) due to previous error warning: build failed, waiting for other jobs to finish...
Are 32-bit builds not supported? If so, do you know of any wasm runtime that works on 32-bit x86 and 32-bit ARM?
bjorn3 commented on issue #6675:
Cranelift doesn't support compiling for any 32bit architecture right now. Only x86_64, aarch64, s390x and riscv64 are currently supported.
cc https://github.com/bytecodealliance/wasmtime/issues/1980 and https://github.com/bytecodealliance/wasmtime/issues/1173
bjorn3 commented on issue #6675:
Maybe WebAssembly Micro Runtime would work for your use case? According to it's readme it supports:
- X86-64, X86-32
- ARM, THUMB (ARMV7 Cortex-M7 and Cortex-A15 are tested)
- AArch64 (Cortex-A57 and Cortex-A53 are tested)
- RISCV64, RISCV32 (RISC-V LP64 and RISC-V LP64D are tested)
- XTENSA, MIPS, ARC
arvid-norlander commented on issue #6675:
Thanks!
alexcrichton commented on issue #6675:
Yes Wasmtime doesn't support 32-bit architectures at this time, and support is tracked by the issues linked by @bjorn3, so I'm going to close this.
alexcrichton closed issue #6675:
I'm trying to build wasmtime for 32-bit x86 (and ARM in extension) as I want to embed it in a C program running on some industrial controllers, with very long service life. Unfortunately this seems broken. I can build a native x86-64 build with no issues. But the 32-bit build fails as follows:
$ cargo build --target i686-unknown-linux-gnu 9s Blocking waiting for file lock on build directory [... lots of sucessfully built crates ...] error[E0432]: unresolved import `wasmtime_asm_macros::asm_sym` --> crates/fiber/src/unix/x86.rs:13:37 | 13 | use wasmtime_asm_macros::{asm_func, asm_sym}; | ^^^^^^^ no `asm_sym` in the root Compiling socket2 v0.4.7 For more information about this error, try `rustc --explain E0432`. error: could not compile `wasmtime-fiber` (lib) due to previous error warning: build failed, waiting for other jobs to finish...
Are 32-bit builds not supported? If so, do you know of any wasm runtime that works on 32-bit x86 and 32-bit ARM?
Last updated: Nov 22 2024 at 16:03 UTC