For different OS/compilers, char * in a native interface can turn into either *const i8 or *const u8. (char can be signed or unsigned). In klickhouse 0.8.2-0.8.4 (and probably others), I get a compiler error on aarch64 for the type casts in these two calls into lz4. I changed the cast to *const libc::c_char and it seems to compile on both x86_64 and aarch64 now. All tests pass on both platforms.
For different OS/compilers,
char *
in a native interface can turn into either*const i8
or*const u8
. (char can be signed or unsigned). In klickhouse 0.8.2-0.8.4 (and probably others), I get a compiler error on aarch64 for the type casts in these two calls into lz4. I changed the cast to*const libc::c_char
and it seems to compile on both x86_64 and aarch64 now. All tests pass on both platforms.