It looks like there are two separate issues here.
arm64, ppc64el, riscv64, s390x and ppc64el are failing because
the c type char is unsigned on those platforms, which means the
rust type c_char is an alias for u8 instead of i8. Probably just
needs some casts adjusting.
armel, armhf, i386 and powerpc are failing with
> thread 'main' panicked at 'Failed to generate bindings:
ClangDiagnostic("/usr/include/apr-1.0/apr.h:381:10: error: unknown type
name 'off64_t'\n")', build.rs:60:10
From some googling, it looks like _LARGEFILE64_SOURCE needs to
be defined when calling bindgen.