#1103725 rust-subversion: FTBFS on many archs: expected raw pointer *const u8, found *const i8 #1103725
- Package:
- src:rust-subversion
- Source:
- src:rust-subversion
- Submitter:
- Chris Hofstaedtler
- Date:
- 2025-04-21 12:33:02 UTC
- Severity:
- normal
- Tags:
rust-subversion FTBFS everywhere except on amd64, mips64el, and loong64. Example log from arm64: https://buildd.debian.org/status/fetch.php?pkg=rust-subversion&arch=arm64&ver=0.0.8-3&stamp=1744759574&raw=0 Most of the issues appear to be some pointer definition mismatch for dirent...
Rust does not have a core type that is directly equivalent to the c type char, instead it has a type alias core:ffi::c_char (also rexported as std::ffi::c_char) which, depending on the target platform, is an alias for either i8 or u8. Since it's an alias, and not a fully distinct type (unlike isize/usize which *are* distinct types) you can mix i8 with c_char on platforms where the c char type is signed, and mix u8 with c_char on platforms where the c type char is unsigned, but doing so will result in unportable code.