cc -O2 -pipe -pthread -Wall -Wextra -Werror=implicit-function-declaration unistd/fexecve.c -o unistd/fexecve -D_GNU_SOURCE -D_BSD_SOURCE -D_ALL_SOURCE -D_DEFAULT_SOURCE -lm -lpthread unistd/fexecve.c:30:2: error: call to undeclared function 'fexecve'; ISO C99 and later do not support implicit function declarations [-Werror,-Wimplicit-function-declaration] fexecve(fd, args, environ); ^ unistd/fexecve.c:30:2: note: did you mean 'execve'? /usr/include/unistd.h:338:6: note: 'execve' declared here int execve(const char *, char *const *, char *const *); ^ 1 error generated.