stdlib/fmtmsg.c is using a uint32_t type, but does not include stdint.h. This make the glibc to fail to build on Hurd. On other architectures, I guess stdint.h is included by one of the architecture specific headers. The patches below fixes the problem: Index: stdlib/fmtmsg.c =================================================================== RCS file: /cvs/glibc/libc/stdlib/fmtmsg.c,v retrieving revision 1.20 diff -u -d -p -r1.20 stdlib/fmtmsg.c --- stdlib/fmtmsg.c 15 May 2006 18:41:18 -0000 1.20 +++ stdlib/fmtmsg.c 7 Feb 2007 14:06:37 -0000 @@ -20,6 +20,7 @@ #include <fmtmsg.h> #include <bits/libc-lock.h> #include <stdio.h> +#include <stdint.h> #include <stdlib.h> #include <string.h> #include <sys/syslog.h>
I've said multiple times that the correct thing to do is to mimic what the other archs do and include the same headers. Otherwise there will always be these kind of problems.
Fixed by commit 433f48bf3ba7120b9a16ed4816d630f250ea4d92. Thanks.