On Tue, Aug 16, 2022 at 12:13 PM Jan Staněk <jstanek(a)redhat.com> wrote:
Hi list,
in order to be able to compile WASM natively on Fedora,
I'm trying to package wasi-libc[1] to provide the Web Assembly System
Interface.
[1]:
https://github.com/WebAssembly/wasi-libc
My trouble is that this is in essence a cross-compilation environment,
and I have zero experience in trying to package these.
Also, I did not have much luck in trying to find any related
documentation.
Some issues I have run into so far:
- This is a libc implementation, which would probably conflict with the
glibc package by default. Looking at musl, the solution seems to be to
install into `/usr/{target}` prefix (i.e. `/usr/wasm32-wasi/include`).
Not really sure how this works, any pointers appreciated.
- Clang seems to have issue with `-fstack-clash-protection` flag for the
`wasm32-wasi` target. What's the proper way to adjust these?
Any additional tips on cross-compilation support in Fedora would also be
appreciated :)
Thanks in advance for any help!
You might want to look into how rust packages its wasm32-wasi
cross-compilation toolchain.
I assume that wasi-libc would build an object for statically linking with?
rust-std-static-wasm32-wasi should be an equivalent thing when
cross-compiling Rust for wasm32-wasi.
Fabio