[distcc] distcc sends preprocessing tasks to remote hosts

Fergus Henderson fergus at google.com
Thu Jul 31 12:12:47 GMT 2008


On Thu, Jul 31, 2008 at 7:28 AM, Bart Friederichs <bf at tbwb.nl> wrote:

> I just installed distcc to play around with it,


Which version?


> and evaluate it for our
> development department. I seem to get everything working ('test' is a
> testserver):
>
> export DISTCC_HOSTS='localhost test'
> make -j8 CC=distcc CXX=distcc
>
> this starts and runs, but doesn't compile correctly. When I look into my
> distcc monitor, it shows that 'test' is also running preprocess jobs.


Can you be more specific?  What is it about the output of the distcc monitor
that makes you think that 'test' is running preprocess jobs?


> And it cannot process them correctly (I get compiler errors in .h
> files). Isn't distcc supposed to do the preprocessing on localhost?


That depends on whether you use "pump" mode or not.

The command above would not use pump mode, and so would do the preprocessing
on localhost.

I think the error that you get is because the header files on your localhost
are not compatible with the compiler on your remote host.
The error message that you get there is coming from the compiler, not from
the preprocessor, I think.
The output of the preprocessor gets shipped to your remote host, and then
the compiler detects semantic errors in the preprocessed output, so it
complains.

distcc -g -rdynamic -I/usr/include/mysql -I../include
> -I/usr/include/libxml2 -I../tbwb -I../tables  -c -o KardexLift.o
> KardexLift.cpp


Note that this probably won't work in pump mode in distcc 3.0-rc2: the
"-I/usr/include/mysql" option means that you'll hit Issue 7 <
http://code.google.com/p/distcc/issues/detail?id=7&can=1>.  This is fixed in
the current svn sources.

-- 
Fergus Henderson <fergus at google.com>
-------------- next part --------------
HTML attachment scrubbed and removed


More information about the distcc mailing list