[distcc] 2.13 release tomorrow - please test cvs

Martin Pool mbp at sourcefrog.net
Tue Mar 2 00:37:04 GMT 2004


On  1 Mar 2004, Lisa Seelye <lisa at gentoo.org> wrote:
> On Sat, 2004-02-28 at 23:39, Martin Pool wrote:
> > If you can, please test distcc CVS.  I plan to do a release in a day or two.
> > 
> > Most of the changes are portability fixes, so it would be particularly
> > good to get tests results on non-linux-i386 machines.

Hi Lisa,

> Would testing for ipv6 at ./configure time be doable?

There are two kinds of tests you can do for ipv6.  

One is "can this operating system even think about ipv6?", which is
basically true on most modern systems and false on old ones.  This
implies having getnameinfo, sockaddr_storage, and all the other stuff
from RFC2553.  In general this is a good test to do at configure time
for things like mmap or hstrerror().

However it turns out that trying to test for RFC2553 support is very
hard, because a large number of systems have partial or broken
implementations of it.  I tried this on rsync a while ago and it was a
complete fiasco.  It seems like whatever aspect of the interface you
try to test, there will be some system that has that but doesn't have
another one.  You would need to test for every single header,
function, macro and type that the program relied upon.  At that point
I give up and say that anyone who is so keen can just turn it on
themselves.

The other kind of test is "can this particular machine do IPv6
sockets."  The answer might be different if e.g. you have a modern
Linux C library, but you have ommitted IPv6 support from the kernel.
This kind of test should not be done at configure time, because most
people don't rebuild the program on every machine where it is used.
Gentoo is kind of exceptional -- but even then, Gentoo users might
change kernels after building distcc.

> Compiling ipv6 support into distcc without support in the rest of the
> system will render distcc unusable with errors such as:
> 
> Feb 24 00:07:30 [distccd] (dcc_listen_by_addr) ERROR: socket creation
> failed: Address family not supported by protocol

So basically this should be done at runtime: if we wanted to create an
IPv6 socket but couldn't, then we should fall back to IPv4.  

Was my guess right that you did --enable-rfc2553 but the kernel didn't
have ipv6?

-- 
Martin 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: Digital signature
Url : http://lists.samba.org/archive/distcc/attachments/20040302/5bb72c13/attachment.bin


More information about the distcc mailing list