/[gentoo]/xml/htdocs/doc/en/distcc.xml
Gentoo

Diff of /xml/htdocs/doc/en/distcc.xml

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

Revision 1.39 Revision 1.45
1<?xml version='1.0' encoding="UTF-8"?> 1<?xml version='1.0' encoding="UTF-8"?>
2<!DOCTYPE guide SYSTEM "/dtd/guide.dtd"> 2<!DOCTYPE guide SYSTEM "/dtd/guide.dtd">
3<!-- $Header: /var/cvsroot/gentoo/xml/htdocs/doc/en/distcc.xml,v 1.39 2006/12/24 17:54:01 nightmorph Exp $ --> 3<!-- $Header: /var/cvsroot/gentoo/xml/htdocs/doc/en/distcc.xml,v 1.45 2012/07/24 12:12:51 swift Exp $ -->
4 4
5<guide link="/doc/en/distcc.xml"> 5<guide>
6 6
7<title>Gentoo Distcc Documentation</title> 7<title>Gentoo Distcc Documentation</title>
8 8
9<author title="Author"> 9<author title="Author">
10 <mail link="lisa@gentoo.org">Lisa Seelye</mail> 10 <mail link="lisa@gentoo.org">Lisa Seelye</mail>
21<author title="Editor"> 21<author title="Editor">
22 <mail link="pylon@gentoo.org">Lars Weiler</mail> 22 <mail link="pylon@gentoo.org">Lars Weiler</mail>
23</author> 23</author>
24<author title="Reviewer"> 24<author title="Reviewer">
25 <mail link="blubber@gentoo.org">Tiemo Kieft</mail> 25 <mail link="blubber@gentoo.org">Tiemo Kieft</mail>
26</author>
27<author title="Editor">
28 <mail link="nightmorph"/>
26</author> 29</author>
27 30
28<abstract> 31<abstract>
29This document serves as a HOWTO for using distcc with Gentoo. 32This document serves as a HOWTO for using distcc with Gentoo.
30</abstract> 33</abstract>
31 34
32<!-- The content of this document is licensed under the CC-BY-SA license --> 35<!-- The content of this document is licensed under the CC-BY-SA license -->
33<!-- See http://creativecommons.org/licenses/by-sa/2.5 --> 36<!-- See http://creativecommons.org/licenses/by-sa/2.5 -->
34<license/> 37<license/>
35 38
36<version>1.18</version> 39<version>2</version>
37<date>2006-12-24</date> 40<date>2012-07-24</date>
38 41
39<chapter> 42<chapter>
40<title>Introduction</title> 43<title>Introduction</title>
41<section> 44<section>
42<title>What is distcc?</title> 45<title>What is distcc?</title>
117each system that should participate in the distributed compiling: 120each system that should participate in the distributed compiling:
118</p> 121</p>
119 122
120<pre caption="Integrating Distcc and Portage"> 123<pre caption="Integrating Distcc and Portage">
121# <i>emerge distcc</i> 124# <i>emerge distcc</i>
122# <i>nano -w /etc/make.conf</i> 125# <i>nano -w /etc/portage/make.conf</i>
123<comment>(Set N to a suitable number for your particular setup)</comment> 126<comment>(Set N to a suitable number for your particular setup)</comment>
124<comment>(A common strategy is setting N as twice the number of total CPUs + 1 127<comment>(A common strategy is setting N as twice the number of total CPUs + 1 available)</comment>
125available)</comment>
126MAKEOPTS="-jN" 128MAKEOPTS="-jN"
127<comment>(Add distcc to your FEATURES)</comment> 129<comment>(Add distcc to your FEATURES)</comment>
128FEATURES="distcc" 130FEATURES="distcc"
129</pre> 131</pre>
130 132
159</p> 161</p>
160 162
161<p> 163<p>
162Since most people won't be using lines 3 or 4, I'll <uri 164Since most people won't be using lines 3 or 4, I'll <uri
163link="http://distcc.samba.org/man/distcc_1.html">refer to</uri> the distcc 165link="http://distcc.samba.org/man/distcc_1.html">refer to</uri> the distcc
164docs (man distcc) for more information. 166docs (man distcc) for more information, which includes being able to run distcc
167over an SSH connection.
165</p> 168</p>
166 169
167<p> 170<p>
168For instance, to set the first line in the previous example: 171For instance, to set the first line in the previous example:
169</p> 172</p>
262link="/doc/en/faq.xml#stage12">Gentoo FAQ</uri> for more information about 265link="/doc/en/faq.xml#stage12">Gentoo FAQ</uri> for more information about
263bootstrapping.) Then configure Portage to use distcc: 266bootstrapping.) Then configure Portage to use distcc:
264</p> 267</p>
265 268
266<pre caption="Preliminary Setup"> 269<pre caption="Preliminary Setup">
267# <i>nano -w /etc/make.conf</i> 270# <i>nano -w /etc/portage/make.conf</i>
268<comment>(Add distcc to the FEATURES</comment> 271<comment>(Add distcc to the FEATURES</comment>
269FEATURES="distcc" 272FEATURES="distcc"
270<comment>(Modify MAKEOPTS to include -jN, where N is twice the number of CPUs 273<comment>(Modify MAKEOPTS to include -jN, where N is twice the number of CPUs
271+1 available)</comment> 274+1 available)</comment>
272MAKEOPTS="-jN" 275MAKEOPTS="-jN"
279</body> 282</body>
280</section> 283</section>
281<section> 284<section>
282<title>Step 2: Getting Distcc</title> 285<title>Step 2: Getting Distcc</title>
283<body> 286<body>
284
285<p>
286Before the installation of distcc, a user called distcc must be added to the
287<path>/etc/passwd</path>:
288</p>
289
290<pre caption="Create user distcc">
291# <i>echo "distcc:x:240:2:distccd:/dev/null:/bin/false" &gt;&gt;/etc/passwd</i>
292</pre>
293
294<impo>
295It is important to note that adding users like this is very bad. We only do
296it here because there is no <c>useradd</c> utility (which you normally use for
297adding users) yet at this stage of installation.
298</impo>
299 287
300<p> 288<p>
301Install distcc: 289Install distcc:
302</p> 290</p>
303 291
372 360
373<p> 361<p>
374Recent Portage updates have made Portage use <c>${CHOST}-gcc</c> instead of 362Recent Portage updates have made Portage use <c>${CHOST}-gcc</c> instead of
375<c>gcc</c>. This means that if you're mixing i686 machines with other types 363<c>gcc</c>. This means that if you're mixing i686 machines with other types
376(i386, i586) you will run into problems. A workaround for this may be to 364(i386, i586) you will run into problems. A workaround for this may be to
377<c>export CC='gcc' CXX='c++'</c> or to put it in <path>/etc/make.conf</path>. 365<c>export CC='gcc' CXX='c++'</c> or to put it in <path>/etc/portage/make.conf</path>.
378</p> 366</p>
379 367
380<impo> 368<impo>
381Doing this explicitly redefines some behaviour of Portage and may have some 369Doing this explicitly redefines some behaviour of Portage and may have some
382weird results in the future. Only do this if you're mixing CHOSTs. 370weird results in the future. Only do this if you're mixing CHOSTs.
383</impo> 371</impo>
384 372
373
374</body>
375</section>
376<section>
377<title>-march=native</title>
378<body>
379
380<p>
381Starting with GCC 4.3.0, the compiler supports the <c>-march=native</c> switch
382which turns on CPU autodetection and optimizations that are worth being enabled
383on the processor the GCC is running at. This is a problem with <c>distcc</c> as
384it allows mixing of code optimized for different processors (like AMD Athlon and
385Intel Pentium). <e>Don't</e> use <c>-march=native</c> or <c>-mtune=native</c> in
386your <c>CFLAGS</c> or <c>CXXFLAGS</c> when compiling with <c>distcc</c>.
387</p>
385 388
386</body> 389</body>
387</section> 390</section>
388</chapter> 391</chapter>
389 392

Legend:
Removed from v.1.39  
changed lines
  Added in v.1.45

  ViewVC Help
Powered by ViewVC 1.1.20