Tru64 UNIX 4.0D doesn't provide strtold (in the standard library at least), but /usr/include.dtk/stdlib.h provides a declaration. Thus the compile test in c-strtod.m4 fails. This causes a link failure for coreutils-5.96 printf. The patch below seems to fix this (but I don't know whether it should rather be searched for in some library).
| configure:12086: checking whether strtold conforms to C99 | configure:12118: cc -o conftest -g conftest.c >&5 | cc: Info: conftest.c, line 141: In this declaration, type long double has the same representation as type double on this platform. (longdoublenyi) | static long double (*p) (char const *, char **) = strtold; | --------------------^ Cheers, Ralf * c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a compile test, for Tru64 4.0D. Index: m4/c-strtod.m4 =================================================================== RCS file: /cvsroot/gnulib/gnulib/m4/c-strtod.m4,v retrieving revision 1.4 diff -u -r1.4 c-strtod.m4 --- m4/c-strtod.m4 21 Mar 2005 22:06:27 -0000 1.4 +++ m4/c-strtod.m4 27 May 2006 19:36:23 -0000 @@ -1,6 +1,6 @@ # c-strtod.m4 serial 6 -# Copyright (C) 2004, 2005 Free Software Foundation, Inc. +# Copyright (C) 2004, 2005, 2006 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -11,7 +11,7 @@ [ AC_CACHE_CHECK([whether strtold conforms to C99], [gl_cv_func_c99_strtold], - [AC_COMPILE_IFELSE( + [AC_LINK_IFELSE( [AC_LANG_PROGRAM( [[/* On HP-UX before 11.23, strtold returns a struct instead of long double. Reject implementations like that, by requiring