Re: Analysis of build failures in Debian GNU/Hurd
Michael Banck, le Sun 01 Jul 2007 16:43:56 +0200, a écrit :
> - PATH_MAX: 155
> - MAXPATHLEN: 76
> - MAXHOSTNAMELEN: 34
> - PIPE_BUF: 4
> - ARG_MAX: 1
Package needs to be fixed into length-unlimited loops.
> - _IOT*: 14
This comes from ioctls. Fixing this is easy if the structure members
can be expressed by using the _IOT() macro. Else, it's simply
> - SA_SIGINFO: 11
Not implemented, packages may be fixed for working around this: use
void sighandler(int num) prototype and sa_handler field.
> - sys_errlist: 7
> - sys_nerr: 2
Package needs to be fixed: sys_errlist should _not_ be used directly,
strerror should be used instead.
> - MSG_NOSIGNAL: 9
Not implemented yet: https://savannah.gnu.org/bugs/?18218
> - NOFILE: 7
"People should not use NOFILE anyway"
> - IPV6_PKTINFO: 5
Not fixed yet: http://sourceware.org/bugzilla/show_bug.cgi?id=3906
> - PTHREAD_MUTEX_RECURSIVE_NP: 4
Actually fixed in hurd's CVS head.
> - SOL_IP: 5
Not implemented yet.
> - SOUND_MIXER_*: 4
Mmm, should be fixed with the soundcard.h we now ship in debian.
> - HZ: 3
Linuxish and doesn't even make sense. Fix the package.
> - SIOCDEVPRIVATE: 3
Oh, we should probably provide it.
> - MAP_NORESERVE: 2
Not POSIX, but we could implement it.
> - O_DIRECT: 2
Long story to implement.
> - ONLCR: 2
> - OCRNL: 1
> - TABDLY: 2
Not fixed yet: http://sourceware.org/bugzilla/show_bug.cgi?id=2447
> - TCGETS: 2
> - TCSETS: 1
Packages should probably not directly use this (not POSIX), but the
POSIX tcgetattr() function instead.
> - PTHREAD_ERRORCHECK_MUTEX_INITIALIZER_NP: 1
We could easily provide it.
> PTHREAD_STACK_MIN: 1
It's odd we don't have it. IIRC we have a stack minimum: TSD room.
> - net/if_arp.h: 17
> - net/ethernet.h: 15
Not implemented. POSIX doesn't talk about these.
> - termio.h: 12
> - net/ppp_defs.h: 8
> - net/route.h: 6
> - sys/kd.h: 6
> - sys/vt.h: 6
> - sys/mount.h: 19
> - netpacket/packet.h: 4
> - linux/*.h
Linuxish, there may be more portable ways.
> - asm/types.h: 17
Should include sys/types.h instead. Linuxish if that doesn't work,
and should use stdint.h instead.
> - 4 iopl undefined
Not supported, maybe just a matter of replacing with ioperm(0,65536,1)
(in the GNU case only, it won't work in Linux).
> - 4 pthread_mutex_unlock undefined
> - 2 pthread_cond_signal undefined
Odd, libpthread should provide it.
I won't take the time to go into details of the rest.