musl defines id_t as unsigned but doesn't use the _ID_T to detect its definition. This causes the type to be redefined as an int by fakeroot which causes a compilation error. diff -upr fakeroot-1.27.orig/libfakeroot.c fakeroot-1.27/libfakeroot.c --- fakeroot-1.27.orig/libfakeroot.c 2022-01-30 11:30:25.198506844 +0100 +++ fakeroot-1.27/libfakeroot.c 2022-01-30 11:30:41.928524429 +0100 @@ -133,13 +133,6 @@ #define INT_SEND_STAT(a,b) SEND_STAT(a,b,_STAT_VER) #define INT_SEND_GET_XATTR(a,b) SEND_GET_XATTR(a,b,_STAT_VER) #define INT_SEND_GET_STAT(a,b) SEND_GET_STAT(a,b) - -/* 10.10 uses id_t in getpriority/setpriority calls, so pretend - id_t is used everywhere, just happens to be int on some OSes */ -#ifndef _ID_T -#define _ID_T -typedef int id_t; -#endif #endif #include