Hi Masahiro, On Sun, Jul 5, 2020 at 5:30 PM Masahiro Yamada <masahiroy@xxxxxxxxxx> wrote: > > Hmm, adding '#include <sys/types.h>' did not make any difference. That should have worked, because POSIX defines it to be there. It sounds like you need --sysroot to point it to the proper ones. > If I add -std=c99, I get a different error. Yeah, that is the expected behavior. C99 does not have the implicit int rule anymore (unlike older C) so ssize_t (an unknown type given that program) is not being interpreted as int anymore (which is what triggers the warning later about the mismatch between size_t and int in the format string). > In contrast, 'size_t' has no problem. That is expected too, because size_t is defined via stdio.h (size_t is a C standard type, ssize_t is not -- it is a POSIX one). Hope that helps, Cheers, Miguel