I'm seeing this on AIX 5.3: /tmp/gl/build-aux/compile cc -qlanglvl=extc89 -qlanglvl=extc99 -g -o test-select test-select.o ../gllib/libgnu.a -lm ld: 0711-317 ERROR: Undefined symbol: .__printf__ ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more information.
I can only guess the relevant parts of the generated stdio.h are: #if 1 # if 1 # define fprintf rpl_fprintf extern int fprintf (FILE *fp, const char *format, ...) __attribute__ ((__format__ (__printf__, 2, 3))) _GL_ARG_NONNULL ((1, 2)); # endif #elif 1 && 0 && 1 # define fprintf rpl_fprintf extern int fprintf (FILE *fp, const char *format, ...) __attribute__ ((__format__ (__printf__, 2, 3))) _GL_ARG_NONNULL ((1, 2)); #elif defined GNULIB_POSIXCHECK # undef fprintf # define fprintf \ [...] #if 1 # if 1 /* Don't break __attribute__((format(printf,M,N))). */ # define printf __printf__ extern int printf (const char *format, ...) __attribute__ ((__format__ (__printf__, 1, 2))) _GL_ARG_NONNULL ((1)); # endif #elif 1 && 0 && 1 /* Don't break __attribute__((format(printf,M,N))). */ # define printf __printf__ extern int printf (const char *format, ...) __attribute__ ((__format__ (__printf__, 1, 2))) _GL_ARG_NONNULL ((1)); #elif defined GNULIB_POSIXCHECK # undef printf # define printf \ (GL_LINK_WARNING ("printf is not always POSIX compliant - " \ but test-select.c must somehow play a role here too, otherwise other tests would have failed, too. Thanks, Ralf