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
p.s. the standard location on *nix systems would be /usr/include/stdio. h, i.e., #include looks in /usr/include and other -I directories passed as arguments to the compiler. Show activity on this post. stdio.
Assuming C h> is one of the standard C headers. Your compiler complains that it can not find this header. This means that your standard library is broken. Consider reinstalling your compiler.
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).
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With