GCC can't find stdio.h in Alpine Linux
In a fresh Alpine Linux I installed GCC by
apk add --update-cache gcc
but still a simple program
#include <stdio.h>
int main(int argc, char *argv[]) {
return 0;
}
compiled with message
fatal error: stdio.h: No such file or directory
Solution 1:
Install musl-dev
(in addition to the gcc compiler)
apk add musl-dev
You need to install it separately because in Alpine Linux, the package GCC doesn't depend on libc-dev
for good reason:
You can use gcc to compile things without libc, for example hypervisors firmware etc.
And August Klein also noted that in Debian, GCC only recommends libc-dev
for the same reason (but most people don't do --no-install-recommends
anyway).