The union semun is not defined in musl libc's sys/sem.h --- sem.c 2014-11-26 23:41:09.000000000 +0100 +++ sem.c 2016-08-12 10:14:48.225963726 +0200 @@ -42,7 +42,7 @@ * * mbuck@debian.org, 1999/08/29 */ -#if defined(__GNU_LIBRARY__) && defined(_SEM_SEMUN_UNDEFINED) +#if !defined(__GLIBC__) || (defined(__GNU_LIBRARY__) && defined(_SEM_SEMUN_UNDEFINED)) union semun { int val; /* value for SETVAL */ struct semid_ds *buf; /* buffer for IPC_STAT & IPC_SET */