clang -O2 -Wall -Wextra getlocalename_l.c -o getlocalename_l -D_GNU_SOURCE -D_BSD_SOURCE -D_ALL_SOURCE -D_DEFAULT_SOURCE -lm -lintl getlocalename_l.c:9:21: warning: implicit declaration of function 'getlocalename_l' is invalid in C99 [-Wimplicit-function-declaration] const char* name = getlocalename_l(LC_COLLATE, LC_GLOBAL_LOCALE); ^ getlocalename_l.c:9:14: warning: incompatible integer to pointer conversion initializing 'const char *' with an expression of type 'int' [-Wint-conversion] const char* name = getlocalename_l(LC_COLLATE, LC_GLOBAL_LOCALE); ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ getlocalename_l.c:17:7: warning: incompatible integer to pointer conversion assigning to 'const char *' from 'int' [-Wint-conversion] name = getlocalename_l(LC_COLLATE, locale); ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 3 warnings generated. ../out/minix/basic/getlocalename_l.o: In function `main': getlocalename_l.c:(.text+0x306): undefined reference to `getlocalename_l' getlocalename_l.c:(.text+0x33f): undefined reference to `getlocalename_l' clang: error: linker command failed with exit code 1 (use -v to see invocation)