The e2fsprogs headers redefine some __ prefixed types like __u64 and so on with definitions that do not necessarily match the linux headers (e.g. unsigned long long vs unsigned long). But they do not do that when linux/types.h is included first. diff --git a/vendor/e2fsprogs/contrib/android/block_list.c b/vendor/e2fsprogs/contrib/android/block_list.c index 63cc1a2..e356da9 100644 --- a/vendor/e2fsprogs/contrib/android/block_list.c +++ b/vendor/e2fsprogs/contrib/android/block_list.c @@ -1,3 +1,4 @@ +#include #include "block_list.h" #include "block_range.h" #include diff --git a/vendor/e2fsprogs/contrib/android/fsmap.c b/vendor/e2fsprogs/contrib/android/fsmap.c index 9ee8472..68a9345 100644 --- a/vendor/e2fsprogs/contrib/android/fsmap.c +++ b/vendor/e2fsprogs/contrib/android/fsmap.c @@ -1,3 +1,4 @@ +#include #include "fsmap.h" #include #include --- a/vendor/e2fsprogs/contrib/android/perms.c 2022-09-23 10:49:27.000000000 +0200 +++ - 2022-11-20 01:09:21.921899432 +0100 @@ -1,6 +1,7 @@ #ifndef _GNU_SOURCE # define _GNU_SOURCE //asprintf #endif +#include #include "config.h" #include "perms.h" #include "support/nls-enable.h" --- a/vendor/e2fsprogs/contrib/android/e2fsdroid.c 2022-09-23 10:49:27.000000000 +0200 +++ - 2022-11-20 01:10:24.783255145 +0100 @@ -6,6 +6,7 @@ #include #include #include +#include #include "perms.h" #include "base_fs.h"