Filing this ticket so it doesn't get forgotten... hopefully...
[24 of 38] Compiling System.Posix.User ( dist/build/System/Posix/User.hs, dist/build/System/Posix/User.o )
/tmp/ghc32048_0/ghc32048_139.c: In function ‘ghczuwrapperZC0ZCunixzm2zi7zi0zi2ZCSystemziPosixziUserZCgetgrnamzur’:
/tmp/ghc32048_0/ghc32048_139.c:8:166:
warning: passing argument 5 of ‘getgrnam_r’ from incompatible pointer type
HsInt32 ghczuwrapperZC0ZCunixzm2zi7zi0zi2ZCSystemziPosixziUserZCgetgrnamzur(void* a1, void* a2, void* a3, HsWord64 a4, void** a5) {return getgrnam_r(a1, a2, a3, a4, a5);}
^
In file included from include/HsUnix.h:72:0:
0,
from /tmp/ghc32048_0/ghc32048_139.c:7:
/usr/include/grp.h:152:12:
note: expected ‘struct group ** __restrict__’ but argument is of type ‘void **’
extern int getgrnam_r (const char *__restrict __name,
^
/tmp/ghc32048_0/ghc32048_139.c: In function ‘ghczuwrapperZC1ZCunixzm2zi7zi0zi2ZCSystemziPosixziUserZCgetgrgidzur’:
/tmp/ghc32048_0/ghc32048_139.c:10:169:
warning: passing argument 5 of ‘getgrgid_r’ from incompatible pointer type
HsInt32 ghczuwrapperZC1ZCunixzm2zi7zi0zi2ZCSystemziPosixziUserZCgetgrgidzur(HsWord32 a1, void* a2, void* a3, HsWord64 a4, void** a5) {return getgrgid_r(a1, a2, a3, a4, a5);}
^
In file included from include/HsUnix.h:72:0:
0,
from /tmp/ghc32048_0/ghc32048_139.c:7:
/usr/include/grp.h:144:12:
note: expected ‘struct group ** __restrict__’ but argument is of type ‘void **’
extern int getgrgid_r (__gid_t __gid, struct group *__restrict __resultbuf,
^
/tmp/ghc32048_0/ghc32048_145.c: In function ‘ghczuwrapperZC0ZCunixzm2zi7zi0zi2ZCSystemziPosixziUserZCgetgrnamzur’:
/tmp/ghc32048_0/ghc32048_145.c:8:166:
warning: passing argument 5 of ‘getgrnam_r’ from incompatible pointer type
HsInt32 ghczuwrapperZC0ZCunixzm2zi7zi0zi2ZCSystemziPosixziUserZCgetgrnamzur(void* a1, void* a2, void* a3, HsWord64 a4, void** a5) {return getgrnam_r(a1, a2, a3, a4, a5);}
^
In file included from include/HsUnix.h:72:0:
0,
from /tmp/ghc32048_0/ghc32048_145.c:7:
/usr/include/grp.h:152:12:
note: expected ‘struct group ** __restrict__’ but argument is of type ‘void **’
extern int getgrnam_r (const char *__restrict __name,
^
/tmp/ghc32048_0/ghc32048_145.c: In function ‘ghczuwrapperZC1ZCunixzm2zi7zi0zi2ZCSystemziPosixziUserZCgetgrgidzur’:
/tmp/ghc32048_0/ghc32048_145.c:10:169:
warning: passing argument 5 of ‘getgrgid_r’ from incompatible pointer type
HsInt32 ghczuwrapperZC1ZCunixzm2zi7zi0zi2ZCSystemziPosixziUserZCgetgrgidzur(HsWord32 a1, void* a2, void* a3, HsWord64 a4, void** a5) {return getgrgid_r(a1, a2, a3, a4, a5);}
^
In file included from include/HsUnix.h:72:0:
0,
from /tmp/ghc32048_0/ghc32048_145.c:7:
/usr/include/grp.h:144:12:
note: expected ‘struct group ** __restrict__’ but argument is of type ‘void **’
extern int getgrgid_r (__gid_t __gid, struct group *__restrict __resultbuf,
^