[distcc] Distcc & Portage

Martin Pool mbp at sourcefrog.net
Mon Jan 27 13:49:27 GMT 2003


On 25 Jan 2003, Brad Cowan <bcowan at gentoo.org> wrote:
> > Unfortunetly, few emerges run to completion before they die.  This 
> > occurs when I change my /etc/make.conf to use MAKEOPTS="-j10 CC=distcc", 
> > or play games like putting a wrapper script in /bin called gcc... (which 
> > I believe would be a nice general way to have all compiles use
> > distcc).

One fairly obvious problem with this approach is that it will cause
the daemon to see the client rather than the real cc, and therefore
recursively invoke it...  CVS flags that situation if it occurs.

Even if the wrapper goes in some directory like /usr/lib/distcc/bin
then I bet people will end up running the daemon with it on their
PATH. 

> Hi,
> 
>   I have been in charge of the distcc package in portage for a few months now. Please check out:
> 
> http://bugs.gentoo.org/show_bug.cgi?id=13897
> 
> As this wrapper being worked on and written in C will help solve
> ALOT or your problems, and will allow almost any package that uses
> -j to be distributed :)

I agree that it would be nice to be able to have cc just point at
distcc.  I'm just trying to work out a way to do that that does not
cause more problems than it solves.

I had a look at the wrapper linked from that bug.  (I have to say it's
pretty messy.) 

Using /etc files to configure which compiler is used probably works OK
for the gentoo builder situation but it's obviously not adequate for
multiuser boxes.

I'm happy to add /etc/.distcc/hosts and ~/.distcc/hosts support in a
future version.  

The new Gentoo init script has 

> 	PATH=`gcc-config --get-bin-path` /sbin/start-stop-daemon --start --quiet --startas /usr/bin/distccd \
> 		-c nobody --pidfile /var/tmp/distccd.pid \
> 		-- --pid-file /var/tmp/distccd.pid
> 	eend $? "Failed to Start distccd"

That path setting seems like in general it won't work for
cross-compilation.  Having e.g. the cross-compiler in /usr/local must
be pretty common.

If you can help me work out a reusable solution that would be great.

-- 
Martin



More information about the distcc mailing list