Stream: git-wasmtime

Topic: wasmtime / issue #6675 32-bit build of wasmtime is broken?


view this post on Zulip Wasmtime GitHub notifications bot (Jun 30 2023 at 12:40):

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?

view this post on Zulip Wasmtime GitHub notifications bot (Jun 30 2023 at 12:41):

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?

view this post on Zulip Wasmtime GitHub notifications bot (Jun 30 2023 at 12:46):

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

view this post on Zulip Wasmtime GitHub notifications bot (Jun 30 2023 at 12:48):

bjorn3 commented on issue #6675:

Maybe WebAssembly Micro Runtime would work for your use case? According to it's readme it supports:

view this post on Zulip Wasmtime GitHub notifications bot (Jun 30 2023 at 13:02):

arvid-norlander commented on issue #6675:

Thanks!

view this post on Zulip Wasmtime GitHub notifications bot (Jun 30 2023 at 15:17):

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.

view this post on Zulip Wasmtime GitHub notifications bot (Jun 30 2023 at 15:17):

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: Oct 23 2024 at 20:03 UTC