[distcc] distcc times out in mid-build

Jeremy Glazman JGlazman at itsgames.com
Fri Jun 3 21:52:58 GMT 2005


The dependencies are all there, and the program builds correctly without
parallel make (-j#).  When parallel make is enabled however, the makefile is
not properly organized and the dependencies are lost.  For some reason in
GNU make logic, even though the dependencies are there for the binary, it
tries to build the binary before the dependencies are complete.  I am not
sure how that is possible, but the -j flag makes it happen.

I am fairly certain now that it is a problem within the makefile, but I
don't yet understand what's wrong.

-----Original Message-----
From: Daniel Kegel [mailto:dank at kegel.com]
Sent: Friday, June 03, 2005 4:49 PM
To: Jeremy Glazman
Cc: distcc at lists.samba.org
Subject: Re: [distcc] distcc times out in mid-build

Jeremy Glazman wrote:
> After some more rigorous testing, it appears that the problem is a race
> condition.  Somehow make (in parallel) is trying to build the libraries
and
> the binary that depends on them at the same time. Then when the binary is
> finished compiling it tries to link, and the libraries aren't ready yet.
It
> appears that parallel make in Solaris solves this sort of dependency
issue,
> but GNU make does not. The GNU solution is apparently to redesign your
> makefile.

I would think the GNU solution is for you to add the missing dependency
to your Makefile.   That doesn't qualify as a redesign in my book.


More information about the distcc mailing list