Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fiber: fails to build on 32-bit x86 and arm #7924

Closed
jbeich opened this issue Feb 13, 2024 · 3 comments
Closed

fiber: fails to build on 32-bit x86 and arm #7924

jbeich opened this issue Feb 13, 2024 · 3 comments

Comments

@jbeich
Copy link

jbeich commented Feb 13, 2024

Regresed by #5459 (missed x86.rs and arm.rs). Found while packaging Veloren.

$ cargo build --target i686-unknown-linux-gnu
[...]
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

For more information about this error, try `rustc --explain E0432`.
error: could not compile `wasmtime-fiber` (lib) due to previous error
@bjorn3
Copy link
Contributor

bjorn3 commented Feb 13, 2024

Wasmtime doesn't work on 32bit x86 and arm32. It is not just a missing fiber implementation (that would be easy to fix), but also missing backends for both architectures in Cranelift, which is a lot harder to fix. See #1173 and #1980.

@alexcrichton
Copy link
Member

To add more on what @bjorn3 already mentioned, can you clarify what you mean by regressed by #5459? Wasmtime/Cranelift haven't had support for x86 and arm in quite some time so that PR shouldn't have regressed anything "in the large". If, however, you only need the wasmtime-fiber crate and nothing else then I can see that PR regressing the support there. Do you only need the wasmtime-fiber crate? Given the commit you linked it seems like you're packaging all of Wasmtime so while it doesn't seem like this is the case I wanted to ask to be sure. (if you need all of Wasmtime I'll close this in favor of the issues that @bjorn3 linked tracking 32-bit support)

@jbeich
Copy link
Author

jbeich commented Feb 16, 2024

Indeed. I've got confused by the cruft i.e., x86 and arm support in wasmtime-fiber which is trivial to fix by removing unused asm_sym. Veloren then failed in wasmtime-runtime due to missing assembly but otherwise built fine (I've stubbed the assembly using x86_64 as example to check for more errors but didn't find any).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants