[distcc] Re: Distcc and scanning blocks of hosts for servers

Martin Pool mbp at sourcefrog.net
Thu Jul 24 23:50:18 GMT 2003


[cc'd list]

On 24 Jul 2003, Lisa Marie Seelye <lisa at gentoo.org> wrote:

> I just read over distcc-check in the cvs repository and I'm curious as
> to why you bother calling distcc to also do linking? ( DISTCC_HOSTS="$h"
> distcc -o hello hello.o )  Isn't it sufficient just to see if your
> target host can successfully create object code?  I don't see this job
> being distributed...

No, it's not distributed.  The point is just to do the link; calling
it through distcc is just an easy way to make sure that we call the
linker that corresponds to the compiler.

Why link?  Because we want to know that the object file was just
created but that it actually works.  For example, if we naively
compiled to an OpenBSD machine from a FreeBSD machine then (I think)
we would get an object file, but it would not link properly.

Note that the distcc client is not warranted to be safe when
connecting to untrusted hosts.  (I don't think making it so would be
very useful.)  So you can only use this technique if you know that all
the machines on the subnet are secure and you're just trying to find
out which ones are up and have the right compiler (which is still
worthwhile.)

Also Alexandre pointed out we should be able to compile several
different tests that check for known incompatibilities between
compilers, such as varargs.

> As for validation of the compiled widgets created by distcc (in the
> manner of distcc-check or distcc-subnetscan.pl), I thought about this as
> well.  The solution I came up with was to leave the unlinked object code
> for the user to link and then validate through some auxillery process. 

I'm not sure what the user is meant to do with them....

If they want a full-on regression/performance test of their setup they
could run the benchmark script.  (Assuming they can work out how to
use it...)  It's basically a teeny version of garnome or ebuild that
knows how to build various packages in local or distributed mode.

-- 
Martin 



More information about the distcc mailing list