Open adrien3d opened 3 months ago
Thanks for the report!
It looks like the C cross-compiler is unable to compile some of these legacy C files. Not sure if they have been tested on risc-V before. (It's also possible that I only see issues for legacy files because it's the end of the long stack trace.)
Could you try a few workarounds:
zstd
(in particular the legacy
feature). Unfortunately it looks like actix-web depends on the zstd
crate with all default features: https://github.com/actix/actix-web/blob/b4f8bda0329a96009521999eb23ac9f874880504/actix-http/Cargo.toml#L144. You might need to fork actix-web and disable the default features there to test that.bindgen
feature from zstd
(in case the issue is caused by the binding files not matching)It is weird though:
expected 'U32 *' {aka 'long unsigned int *'} but argument is of type 'unsigned int *'
On riscv32, unsigned int
and long unsigned int
should both be 32 bits, not sure why it's complaining.
Sounds a bit related to https://github.com/espressif/esp-idf/issues/6906.
It looks like it might be some upstream issue, where the C zstd library assumes int
and int32_t
are the same, which is the case in most places but not in espressif's idf compiler. Could be filed as an issue for zstd.
I am trying to use
actix_web
on a esp32, but, at compile time, sincezstd-rs
is a dependency ofactix-http
, I can't build my project. Here is the end of the stacktrace (Github limits it to 65536 characters):