Under the assumption that iputils-ping will eventually become the default in Debian, I've been doing some extra QA to make sure things work as advertised on all platforms. Unfortunately, they don't. The problems are very easy to work around, but it bugs me that it's even necessary. The iputils source includes a directory, include-glibc, that contains modified copies of /usr/include/bits/{sockunion.h,socket.h} and /usr/include/netinet/{ip.h,ip_icmp.h,in.h}. These files are modified from the original in that certain definitions have been removed from them. This is necessary because, for example, both /usr/include/netinet/in.h and /usr/include/linux/ipv6.h define the in6_addr structure, and the iputils tools won't compile since it includes both of those files. Why do they both define that structure? There are other conflicting definitions as well, such as sockaddr_in6. The reason this is all causing me problems right now is that for some reason on MIPS, SOCK_DGRAM is defined as 1 and SOCK_STREAM is 2, which is the opposite of other systems. This caused the local bits/socket.h to set those symbols to the wrong values... noah -- _______________________________________________________ | Web: http://web.morgul.net/~frodo/ | PGP Public Key: http://web.morgul.net/~frodo/mail.html
Attachment:
pgpMF6xbKiW3z.pgp
Description: PGP signature