cc -pthread -Wall -Wextra getlocalename_l.c -o getlocalename_l -D_GNU_SOURCE -D_BSD_SOURCE -D_ALL_SOURCE -D_DEFAULT_SOURCE -lm -lpthread -liconv getlocalename_l.c:9:21: error: implicit declaration of function 'getlocalename_l' is invalid in C99 [-Werror,-Wimplicit-function-declaration] const char* name = getlocalename_l(LC_COLLATE, LC_GLOBAL_LOCALE); ^ getlocalename_l.c:9:49: error: use of undeclared identifier 'LC_GLOBAL_LOCALE' const char* name = getlocalename_l(LC_COLLATE, LC_GLOBAL_LOCALE); ^ getlocalename_l.c:14:2: error: use of undeclared identifier 'locale_t' locale_t locale = newlocale(LC_COLLATE_MASK, "C", (locale_t) 0); ^ getlocalename_l.c:15:18: error: use of undeclared identifier 'locale_t' if ( locale == (locale_t) 0 ) ^ getlocalename_l.c:15:7: error: use of undeclared identifier 'locale' if ( locale == (locale_t) 0 ) ^ getlocalename_l.c:17:37: error: use of undeclared identifier 'locale' name = getlocalename_l(LC_COLLATE, locale); ^ 6 errors generated.