Hello,<br><br>At my work, we&#39;ve just begun to investigate how much of an impact that distcc will have on our builds. <br><br>We typically perform 200 builds a week, ranging from a thousand lines of code, up to 600,000 lines of code each. Our back end build scripts are based on python, and use Linux make to build. We are running VMWare images on a blade cluster, and each of our three new build servers have 20Ghz processing power, with 4G of RAM. Our primary build environments are loop back ISOs, from a central CIFS server, and are unioned together with unionfs. Our source code is then copied into this environment, and we proceed with our build, using chroot to enter our build environment. Our &#39;distcc&#39; machines use the same loop back system, with only our OS and distcc being accessible. <br>
<br>One of the most important things for our builds, due to the market that we are in, is that our builds must be reproducible, with repeatable md5sums on our shared objects, based on the same label and same dependencies. In our recent tests, we were able to take a particular build from 24 minutes to 14 minutes, then finally 5 minutes, using distcc and adjusting our VMs. However, when performing an md5sum on our final shared objects / object files, the checksums change every build. We dropped down to just using g++ to perform our linking, all locally, but our object files are still mismatching.<br>
<br>In the object files&#39; `objdump -s` output, it appears that an entry is being made into all our object files with the following syntax &quot;distccd_XXXXX&quot;, with XXXXX being a seemingly random combination of characters.<br>
<br>In the same object file, compiled locally without distcc, we get a rather generic &lt;built-in&gt; placeholder. <br><br>I&#39;ve reviewed the source code for distcc, and seen a few references to this distccd_xxxxx. Unfortunately, I&#39;m not a programmer, and thus am at a loss on how to further troubleshoot this, or even if its possible to get consistent checksums with distcc.<br>
<br><br>Versions<br>=======<br>g++ (Gentoo 4.3.2-r4 p1.8, pie-10.1.5) 4.3.2<br><br>distcc 3.1 i686-pc-linux-gnu<br>  (protocols 1, 2 and 3) (default port 3632)<br>  built Mar 29 2010 10:55:35<br><br>Kernel: 2.6.9-89.ELsmp<br>
<br>Command being issued:<br>      DISTCC_VERBOSE=1 make -j24 CXX=&quot;distcc&quot;<br><br>Here&#39;s the partial output of objdump -s:<br> 04f0 00030000 5f6d6f76 655f636f 6e737472  ...._move_constr<br> 0500 7563745f 66776b2e 68000300 00474454  uct_fwk.h....GDT<br>
 0510 79706573 2e68000a 00007365 72646566  ypes.h....serdef<br> 0520 732e6800 01000073 75666669 782e6870  s.h....suffix.hp<br> 0530 70000b00 00646973 74636364 5f616333  p....<span style="color: rgb(255, 0, 0);">distccd_ac3</span><br>
 0540 31633936 612e6969 000c0000 61646c5f  <span style="color: rgb(255, 0, 0);">1c96a.ii</span>....adl_<br> 0550 62617272 6965722e 68707000 0d000062  barrier.hpp....b<br> 0560 6f6f6c5f 6677642e 68707000 0e000069  ool_fwd.hpp....i<br>
 0570 6e746567 72616c5f 635f7461 672e6870  ntegral_c_tag.hp<br> 0580 70000e00 00766f69 645f6677 642e6870  p....void_fwd.hp<br><br>Thank you for reviewing my issue. <br><br>-Jeff<br>