/[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.40 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.40 2007/06/21 23:46:16 rane 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.19</version> 39<version>2</version>
37<date>2007-06-22</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>
116Setting up Portage to use distcc is easy. Execute the following steps on 119Setting up Portage to use distcc is easy. Execute the following steps on
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 distcc-config</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 available)</comment> 127<comment>(A common strategy is setting N as twice the number of total CPUs + 1 available)</comment>
125MAKEOPTS="-jN" 128MAKEOPTS="-jN"
126<comment>(Add distcc to your FEATURES)</comment> 129<comment>(Add distcc to your FEATURES)</comment>
127FEATURES="distcc" 130FEATURES="distcc"
158</p> 161</p>
159 162
160<p> 163<p>
161Since 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
162link="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
163docs (man distcc) for more information. 166docs (man distcc) for more information, which includes being able to run distcc
167over an SSH connection.
164</p> 168</p>
165 169
166<p> 170<p>
167For instance, to set the first line in the previous example: 171For instance, to set the first line in the previous example:
168</p> 172</p>
261link="/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
262bootstrapping.) Then configure Portage to use distcc: 266bootstrapping.) Then configure Portage to use distcc:
263</p> 267</p>
264 268
265<pre caption="Preliminary Setup"> 269<pre caption="Preliminary Setup">
266# <i>nano -w /etc/make.conf</i> 270# <i>nano -w /etc/portage/make.conf</i>
267<comment>(Add distcc to the FEATURES</comment> 271<comment>(Add distcc to the FEATURES</comment>
268FEATURES="distcc" 272FEATURES="distcc"
269<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
270+1 available)</comment> 274+1 available)</comment>
271MAKEOPTS="-jN" 275MAKEOPTS="-jN"
284<p> 288<p>
285Install distcc: 289Install distcc:
286</p> 290</p>
287 291
288<pre caption="Getting Distcc on the new box"> 292<pre caption="Getting Distcc on the new box">
289# <i>USE='-*' emerge --nodeps sys-devel/distcc sys-devel/distcc-config</i> 293# <i>USE='-*' emerge --nodeps sys-devel/distcc</i>
290</pre> 294</pre>
291 295
292</body> 296</body>
293</section> 297</section>
294<section> 298<section>
356 360
357<p> 361<p>
358Recent 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
359<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
360(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
361<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>.
362</p> 366</p>
363 367
364<impo> 368<impo>
365Doing this explicitly redefines some behaviour of Portage and may have some 369Doing this explicitly redefines some behaviour of Portage and may have some
366weird 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.
367</impo> 371</impo>
368 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>
369 388
370</body> 389</body>
371</section> 390</section>
372</chapter> 391</chapter>
373 392

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

  ViewVC Help
Powered by ViewVC 1.1.20