Ruffle won't build due to cross-compilation problem
Ruffle fails to build due to the following twists and turns:
- Ruffle has a
build.rs
that usesCamino
. Thisbuild.rs
is compiled for the Linux target, but our toolchain is causing it to use the Redoxstd::
library. - Redox has a modified std library with
std::path::Path
containing aPrefix
variant. ThePrefix
variant is not guarded, it applies to all targets. ThePrefix
variant should be marked deprecated; it is mostly not needed now but there may be some programs that are still using it. Someone needs to verify. -
Camino
's published crate does not support thePrefix
variant, and it was decided that we should not upstream that support asPrefix
should be deprecated. - There exists a Redox fork of
Camino
with support for Prefix at https://github.com/rw-vanc/camino on branchredox-scheme
. However, the Prefix support is guarded so it is only present on the "redox" target. - So,
build.rs
does not compile. - A short-term fix would be to create a
Camino
fork that has support for Prefix that is not guarded. - A better fix would be to not use Redox's
std::
library when compilingbuild.rs
files on Linux. - The best fix would be to determine if we can eliminate the
Prefix
variant fromstd::path::Path
.
Edited by Ribbon