(Preface: i dont know much about this)
mkdev.h is not available in arch either. I even tried searching the repos with pacman -F mkdev.h
.
Looking up makedev (which I'm assuming is the lib that cpio uses from it) it seems that it is available in sysmacros.h for linux and mkdev.h for solaris, see for example: https://patchwork.kernel.org/project/dri-devel/patch/1436377303-28355-1-git-send-email-alan.coopersmith@oracle.com/
So I tried just commenting that include out but got a bunch of other errors about multiple definitions of some enums (defined in cpio.h), and so I gave up.
I don't like GNU either but I went the more free route of BSD instead.
C is a pretty simple language and relatively easy to learn. But it's a lot harder to be proficient with.