Simon Josefsson wrote: > It was configured with: > > CC=c89 CFLAGS="-D_POSIX_SOURCE -I/usr/local/include" ...
Bingo. On many platforms, the _POSIX_SOURCE macro has the effect of *hiding* declarations, not of enabling them: $ uname -srv IRIX64 6.5 10060437 $ cat foo.c #include <string.h> $ cc -E foo.c | grep strdup extern char *strdup(const char *); $ c89 -E foo.c | grep strdup extern char *strdup(const char *); $ c89 -D_POSIX_SOURCE -E foo.c | grep strdup Autoconf's and Gnulib's 'extensions' macro does a good job at enabling most useful declarations, but it cannot prevail against a user who specifies _POSIX_SOURCE. Bruno