<div dir="ltr"><div class="gmail_extra"><div class="gmail_extra">This is a known (and intentional) limitation.  From the distcc man page:</div><div class="gmail_extra"><br></div><div class="gmail_extra">       RESTRICTIONS FOR PUMP MODE</div>


<div class="gmail_extra">       ...</div><div class="gmail_extra">       Another important assumption is that the include configuration of all machines must be identical.  Thus the headers under the default system path must be the same</div>


<div class="gmail_extra">       on  all servers and all clients.</div><div class="gmail_extra"><br></div><div class="gmail_extra">So the idea is that you should install all the relevant system headers on all of the server machines as well as on the client.</div>

<div class="gmail_extra"><br></div><div class="gmail_extra">We designed it that way mainly because that was sufficient for our use cases, more efficient, and less complex to implement. Avoiding sending the system header files makes distcc more efficient because it reduces the amount of data that needs to be sent.  Also, trying to transmit the system includes to the server machines is a bit more difficult, because they might not be written in standard C/C++, and might make use of non-standard preprocessing directives, which distcc would need to be able to parse. Also the distcc server can't write them out in their actual locations, so some additional complication would be required to provide appropriate flags to the compiler to use system header files from a non-standard location, and those flags are compiler-dependent and potentially compiler-version-dependent.</div>


<div class="gmail_extra"><br></div><div class="gmail_extra">On Mon, Jan 20, 2014 at 3:39 AM, Michael L. <span dir="ltr"><<a href="mailto:mlabbe@gmail.com" target="_blank">mlabbe@gmail.com</a>></span> wrote:<br></div>


<div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr"><div><div><div><div>


<div>I tried two separate code bases.  One could not find X11/Xlib.h (which is installed on the computer running distcc-pump) and the other could not find GL/gl.h.  These are system headers that, in my understanding, should be transmitted to the remote distcc build host.<br>



<br><br></div>I start distcc-pump as follows:<br><br></div>eval `INCLUDE_SERVER_ARGS="--exact_analysis" distcc-pump --startup`<br></div><div>(Note I have tried without --exact_analysis as well)<br></div><div><br>



</div>And I compile with:<br>DISTCC_FALLBACK=0 scons <br><br></div>(Internally, this scons file uses CC=distcc CXX=distcc)<br><br>It is a C++ project.<br><br><br>distcc g++-4.7 <tons of build options omitted><br><br>



</div>generates:<br><div><br>distcc[28829] ERROR: compile cl_draw.cpp on remotesrv,cpp,lzo failed<br>distcc[28829] (dcc_build_somewhere) Warning: remote compilation of 'cl_draw.cpp' failed, retrying locally<br>distcc[28829] (dcc_build_somewhere) Warning: failed to distribute and fallbacks are disabled<br>



In file included from /home/mlabbe/dev/include/Or/TextureSet.h:25:0,<br>                 from /home/mlabbe/dev/include/Or/Font.h:26,<br>                 from /home/mlabbe/dev/include/Or/DebugDraw.h:27,<br>                 from /home/mlabbe/dev/include/Or/DefaultSubsystems.h:28,<br>



                 from local.h:26,<br>                 from cl_draw.cpp:23:<br>/home/mlabbe/dev/include/OrionRenderer.h:58:19: fatal error: GL/gl.h: No such file or directory<br>compilation terminated.<br>scons: *** [cl_draw.o] Error 1<br>



<br>I am running:<br>distccd 3.1 x86_64-pc-linux-gnu<br>  (protocols 1, 2 and 3) (default port 3632)<br>  built May  9 2013 23:15:01<br><br><br></div><div>To me, this looks like the compile host is trying to look for system header files locally.  The compile host definitely does not have GL/gl.h.<br>



</div><div><br></div><div>Much thanks.<br><br>Michael Labbe<br></div></div>
<br>__<br>
distcc mailing list            <a href="http://distcc.samba.org/" target="_blank">http://distcc.samba.org/</a><br>
To unsubscribe or change options:<br>
<a href="https://lists.samba.org/mailman/listinfo/distcc" target="_blank">https://lists.samba.org/mailman/listinfo/distcc</a><br></blockquote></div><br><br clear="all"><div><br></div>-- <br><div>Fergus Henderson <<a href="mailto:fergus@google.com" target="_blank">fergus@google.com</a>></div>


<div><br></div><div><div><span style="font-family:arial,sans-serif;font-size:13px;border-collapse:collapse">"Defend the user, exclude no one, and create magic." -- Eric Schmidt.</span></div></div><div><span style="font-family:arial,sans-serif;font-size:13px;border-collapse:collapse"><br>


</span></div>
</div></div>