/[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.44 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.44 2011/09/04 17:53:40 swift 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> 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>
11</author> 11</author>
12<author title="Editor"> 12<author title="Editor">
13 <mail link="vapier@gentoo.org">Mike Frysinger</mail> 13 <mail link="vapier@gentoo.org">Mike Frysinger</mail>
14</author> 14</author>
15<author title="Editor"> 15<author title="Editor">
16 <mail link="erwin@gentoo.org">Erwin</mail> 16 <mail link="erwin@gentoo.org">Erwin</mail>
17</author> 17</author>
18<author title="Editor"> 18<author title="Editor">
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> 26</author>
27<author title="Editor"> 27<author title="Editor">
28 <mail link="nightmorph"/> 28 <mail link="nightmorph"/>
29</author> 29</author>
30 30
31<abstract> 31<abstract>
32This document serves as a HOWTO for using distcc with Gentoo. 32This document serves as a HOWTO for using distcc with Gentoo.
33</abstract> 33</abstract>
34 34
35<!-- 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 -->
36<!-- See http://creativecommons.org/licenses/by-sa/2.5 --> 36<!-- See http://creativecommons.org/licenses/by-sa/2.5 -->
37<license/> 37<license/>
38 38
39<version>1.22</version> 39<version>2</version>
40<date>2009-06-14</date> 40<date>2012-07-24</date>
41 41
42<chapter> 42<chapter>
43<title>Introduction</title> 43<title>Introduction</title>
44<section> 44<section>
45<title>What is distcc?</title> 45<title>What is distcc?</title>
46<body> 46<body>
47 47
48<p> 48<p>
49Distcc is a program designed to distribute compiling tasks across a network to 49Distcc is a program designed to distribute compiling tasks across a network to
50participating hosts. It is comprised of a server, <c>distccd</c>, and a client 50participating hosts. It is comprised of a server, <c>distccd</c>, and a client
51program, <c>distcc</c>. Distcc can work transparently with <uri 51program, <c>distcc</c>. Distcc can work transparently with <uri
52link="http://ccache.samba.org">ccache</uri>, Portage, and Automake with a 52link="http://ccache.samba.org">ccache</uri>, Portage, and Automake with a
53little setup. 53little setup.
54</p> 54</p>
55 55
110</impo> 110</impo>
111 111
112</body> 112</body>
113</section> 113</section>
114<section> 114<section>
115<title>Setting up Portage to use Distcc</title> 115<title>Setting up Portage to use Distcc</title>
116<body> 116<body>
117 117
118<p> 118<p>
119Setting 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
120each system that should participate in the distributed compiling: 120each system that should participate in the distributed compiling:
121</p> 121</p>
122 122
123<pre caption="Integrating Distcc and Portage"> 123<pre caption="Integrating Distcc and Portage">
124# <i>emerge distcc</i> 124# <i>emerge distcc</i>
125# <i>nano -w /etc/make.conf</i> 125# <i>nano -w /etc/portage/make.conf</i>
126<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>
127<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>
128MAKEOPTS="-jN" 128MAKEOPTS="-jN"
129<comment>(Add distcc to your FEATURES)</comment> 129<comment>(Add distcc to your FEATURES)</comment>
130FEATURES="distcc" 130FEATURES="distcc"
131</pre> 131</pre>
132 132
133</body> 133</body>
134</section> 134</section>
135<section> 135<section>
136<title>Specifying Participating Hosts</title> 136<title>Specifying Participating Hosts</title>
137<body> 137<body>
138 138
139<p> 139<p>
140Use the <c>distcc-config</c> command to set the list of hosts. Here is an 140Use the <c>distcc-config</c> command to set the list of hosts. Here is an
255<title>Step 1: Configure Portage</title> 255<title>Step 1: Configure Portage</title>
256<body> 256<body>
257<!-- 257<!--
258Note that this will need to become a link to the old 2005.1 networked handbooks 258Note that this will need to become a link to the old 2005.1 networked handbooks
259once the 2006.0 handbooks are released. Until then, the link can stay. 259once the 2006.0 handbooks are released. Until then, the link can stay.
260--> 260-->
261<p> 261<p>
262Boot your new box with a Gentoo Linux LiveCD and follow the <uri 262Boot your new box with a Gentoo Linux LiveCD and follow the <uri
263link="/doc/en/handbook/handbook-x86.xml?part=1">installation instructions</uri> 263link="/doc/en/handbook/handbook-x86.xml?part=1">installation instructions</uri>
264up until the bootstrapping part. (See the <uri 264up until the bootstrapping part. (See the <uri
265link="/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
266bootstrapping.) Then configure Portage to use distcc: 266bootstrapping.) Then configure Portage to use distcc:
267</p> 267</p>
268 268
269<pre caption="Preliminary Setup"> 269<pre caption="Preliminary Setup">
270# <i>nano -w /etc/make.conf</i> 270# <i>nano -w /etc/portage/make.conf</i>
271<comment>(Add distcc to the FEATURES</comment> 271<comment>(Add distcc to the FEATURES</comment>
272FEATURES="distcc" 272FEATURES="distcc"
273<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
274+1 available)</comment> 274+1 available)</comment>
275MAKEOPTS="-jN" 275MAKEOPTS="-jN"
276</pre> 276</pre>
277 277
278<pre caption="Setting your path"> 278<pre caption="Setting your path">
279# <i>export PATH="/usr/lib/ccache/bin:/usr/lib/distcc/bin:${PATH}"</i> 279# <i>export PATH="/usr/lib/ccache/bin:/usr/lib/distcc/bin:${PATH}"</i>
280</pre> 280</pre>
281 281
282</body> 282</body>
283</section> 283</section>
284<section> 284<section>
285<title>Step 2: Getting Distcc</title> 285<title>Step 2: Getting Distcc</title>
350</section> 350</section>
351<section> 351<section>
352<title>Mixed GCC Versions</title> 352<title>Mixed GCC Versions</title>
353<body> 353<body>
354 354
355<p> 355<p>
356If you have different GCC versions on your hosts, there will likely be very 356If you have different GCC versions on your hosts, there will likely be very
357weird problems. The solution is to make certain all hosts have the same GCC 357weird problems. The solution is to make certain all hosts have the same GCC
358version. 358version.
359</p> 359</p>
360 360
361<p> 361<p>
362Recent 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
363<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
364(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
365<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>.
366</p> 366</p>
367 367
368<impo> 368<impo>
369Doing this explicitly redefines some behaviour of Portage and may have some 369Doing this explicitly redefines some behaviour of Portage and may have some
370weird 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.
371</impo> 371</impo>
372 372
373 373
374</body> 374</body>
375</section> 375</section>
376<section> 376<section>
377<title>-march=native</title> 377<title>-march=native</title>
378<body> 378<body>
379 379
380<p> 380<p>

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

  ViewVC Help
Powered by ViewVC 1.1.20