cc -O2 -pipe -pthread -Wall -Wextra -Werror -Wno-error=deprecated -Wno-error=deprecated-declarations unistd/fexecve.c -o unistd/fexecve -D_POSIX_C_SOURCE=202405L -lm -lpthread unistd/fexecve.c:5:51: error: use of undeclared identifier 'fexecve'; did you mean 'execve'? int (*foo)(int, char *const [], char *const []) = fexecve; ^~~~~~~ execve /usr/include/unistd.h:338:6: note: 'execve' declared here int execve(const char *, char *const *, char *const *); ^ unistd/fexecve.c:5:7: error: incompatible function pointer types initializing 'int (*)(int, char *const *, char *const *)' with an expression of type 'int (const char *, char *const *, char *const *)' [-Werror,-Wincompatible-function-pointer-types] int (*foo)(int, char *const [], char *const []) = fexecve; ^ ~~~~~~~ 2 errors generated.