[distcc] distcc and ccache problems
Martin Pool
mbp at sourcefrog.net
Mon Aug 12 01:25:01 GMT 2002
On 12 Aug 2002, Marcus Gruendler <Marcus.Gruendler at aixigo.de> wrote:
> I have a problem using distcc in combination with ccache. I seems as if the
> problems are similar to the ones using distcc with tmpfs, but I don't use
> tmpfs at all. Whenever I call
Very interesting! Thankyou for reporting this so clearly. You are
probably right that sendfile() is not sending all the data.
Can you tell me what filesystem is used on /tmp and on your working
directory?
In the meantime you could try editing config.h to remove
HAVE_SENDFILE, do "make clean" and recompile. That might get it
working for now.
> ccache distcc gcc <options>
>
> I get the following error message (with DISTCC_VERBOSE=1):
>
> distcc[2012] (dcc_try_lock_host) /tmp/distcc_888/lock_localhost_0000000
> already locked
> distcc[2012] (dcc_try_lock_host) locked
> /tmp/distcc_888/lock_machine1_0000000
> distcc[2012] (dcc_pick_buildhost) building on machine1
> distcc[2012] exec on machine1: gcc -c -Wall -g -fPIC -ftemplate-depth-27 -o
> /tmp/ccache/tmp.hash.1985.o /tmp/ccache/tmp.stdout.1985.ii
> distcc[2012] (dcc_open_socket_out) client got connection to machine1 port
> 4200 on fd7
> distcc[2012] (dcc_x_file) send 1408245 byte file
> /tmp/ccache/tmp.stdout.1985.ii with token DOTI
> distcc[2012] ERROR: (dcc_pump_sendfile) sendfile failed: Success
> distcc[2012] (dcc_exit) exit: code -1; self: 0.000000 user 0.000000 sys;
> children: 0.000000 user 0.000000 sys
> make: *** [build/single/debug/processor.o] Error 1
>
> When I use distcc alone, everything works perfectly. Also if I use ccache
> on its own, everything works nice. Does anybody know what the problem is?
> One thing I find especially interesting is the second last line of the
> distcc output "sendfile failed: Success". I had a look into src/io.c and
> realised that this is caused by method sys_sendfile() when the returned
> amount of transmitted bytes does not correspondent with the size of the
> input. Since errno tells us that there is no problem I tried to ignore the
> error but it didn't help.
>
> I am using SuSE Linux 7.0, Linux 2.2.16 and gcc 2.95.2
Regards,
--
Martin
More information about the distcc
mailing list