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.
Back to the drawing board >_< -----Original Message----- From: Donohue, Michael [mailto:[EMAIL PROTECTED] Sent: Friday, June 03, 2005 1:19 PM To: Jeremy Glazman; [email protected] Subject: RE: [distcc] distcc times out in mid-build After a state file hasn't bee updated for 60 seconds, the monitor tool removes it. That is the message you're seeing in the verbose log - dcc_mon_kill_old. This doesn't really shed any light on your problem. Distcc does have some timeouts built in. Do these files take a long time to compile without distcc? A long time would be greater than 5 minutes or so for each file, as I believe that's the default. If so, you might just need longer timeouts. Michael > -----Original Message----- > From: [EMAIL PROTECTED] [mailto:distcc- > [EMAIL PROTECTED] On Behalf Of Jeremy Glazman > Sent: Friday, June 03, 2005 9:43 AM > To: '[email protected]' > Subject: [distcc] distcc times out in mid-build > > In the middle of my build, distcc suddenly hangs on a single file (not > always the same). It doesn't matter if the file is being compiled locally > or not, and the machine doing the compiling will only be at about 10% CPU > usage mostly from cc1plus. > > distccmon-text tells me the file is compiling, over and over and over, > with all other activity ceasing. Finally after a minute or so, distccmon- > text goes totally blank. Eventually the build will time out and tell me: > "Timed out waiting for data from remote." (if building remotely) or it > will simply fail if local. > > If I set DISTCC_VERBOSE=1 and log to a file, I am told this is happening: > > distccmon-text[520] (dcc_mon_do_file) process > //.distcc/state/binstate_11052 > (repeated about 100 times in a row) > distccmon-text[520] (dcc_mon_kill_old) unlink > //.distcc/state/binstate_11052 > (EOF) > > What is happening in that final step? What exactly does 'dcc_mon_kill_old' > signify? Any ideas what could be causing this timeout are much > appreciated. I'll keep testing my makefile in the meantime, assuming that > the problem is in there somewhere... > > __ distcc mailing list http://distcc.samba.org/ To unsubscribe or change options: https://lists.samba.org/mailman/listinfo/distcc
