Believe it or not, but the kill(2) system call is not specified to be available by default in C. It's part of BSD, POSIX, Single UNIX Spec, etc., but you do have to declare one of the various feature test macros for a strict libc (such as musl) to expose the declaration.
The fix here was simply to define _POSIX_SOURCE before including the various C stdlib or UNIX headers.