About Musl
The libc situation is pretty unfortunate. You can go with glibc for compatibility, but ideally you don't actually use the upstream version but copy the one from Debian that has crucial fixes that most of the world uses that they didn't bother to upstream because for a while there, glibc was maintained by the biggest asshole in all of software engineering.<p>On the other hand you have musl, and we can all appreciate its design goals, but then it is similarly maintained by people that believe they and their work are utterly infallible. Hence why to this date they have not made it possible to <i>detect</i> musl and would rather cite you a POSIX standards meeting from 1980 than fix an incompatibility <i>everyone else handles differently</i>. Just ctrl+F musl on <a href="http://landley.net/toybox/" rel="nofollow">http://landley.net/toybox/</a> for some insight.<p>The last time I felt like smashing the desk because of musl was when I realized you can't stacktrace a thread in a syscall because they refuse to annotate their 10 lines of assembler doing the syscall with the required CFI directives. They would rather wait for someone to write a 200 line AWK script that does it ([1]) than fix debugging on platforms like arm64.<p>1: <a href="https://github.com/bminor/musl/blob/master/tools/add-cfi.x86_64.awk" rel="nofollow">https://github.com/bminor/musl/blob/master/tools/add-cfi.x86...</a>