/[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.40
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.40 2007/06/21 23:46:16 rane Exp $ -->
4 4
5<guide link="/doc/en/distcc.xml"> 5<guide link="/doc/en/distcc.xml">
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">
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> 26</author>
27 27
28<abstract> 28<abstract>
29This document serves as a HOWTO for using distcc with Gentoo. 29This document serves as a HOWTO for using distcc with Gentoo.
30</abstract> 30</abstract>
31 31
32<!-- The content of this document is licensed under the CC-BY-SA license --> 32<!-- The content of this document is licensed under the CC-BY-SA license -->
33<!-- See http://creativecommons.org/licenses/by-sa/2.5 --> 33<!-- See http://creativecommons.org/licenses/by-sa/2.5 -->
34<license/> 34<license/>
35 35
36<version>1.18</version> 36<version>1.19</version>
37<date>2006-12-24</date> 37<date>2007-06-22</date>
38 38
39<chapter> 39<chapter>
40<title>Introduction</title> 40<title>Introduction</title>
41<section> 41<section>
42<title>What is distcc?</title> 42<title>What is distcc?</title>
43<body> 43<body>
44 44
45<p> 45<p>
46Distcc is a program designed to distribute compiling tasks across a network to 46Distcc is a program designed to distribute compiling tasks across a network to
47participating hosts. It is comprised of a server, <c>distccd</c>, and a client 47participating hosts. It is comprised of a server, <c>distccd</c>, and a client
48program, <c>distcc</c>. Distcc can work transparently with <uri 48program, <c>distcc</c>. Distcc can work transparently with <uri
49link="http://ccache.samba.org">ccache</uri>, Portage, and Automake with a 49link="http://ccache.samba.org">ccache</uri>, Portage, and Automake with a
50little setup. 50little setup.
51</p> 51</p>
52 52
106machines. 106machines.
107</impo> 107</impo>
108 108
109</body> 109</body>
110</section> 110</section>
111<section> 111<section>
112<title>Setting up Portage to use Distcc</title> 112<title>Setting up Portage to use Distcc</title>
113<body> 113<body>
114 114
115<p> 115<p>
116Setting up Portage to use distcc is easy. Execute the following steps on 116Setting up Portage to use distcc is easy. Execute the following steps on
117each system that should participate in the distributed compiling: 117each system that should participate in the distributed compiling:
118</p> 118</p>
119 119
120<pre caption="Integrating Distcc and Portage"> 120<pre caption="Integrating Distcc and Portage">
121# <i>emerge distcc</i> 121# <i>emerge distcc distcc-config</i>
122# <i>nano -w /etc/make.conf</i> 122# <i>nano -w /etc/make.conf</i>
123<comment>(Set N to a suitable number for your particular setup)</comment> 123<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 124<comment>(A common strategy is setting N as twice the number of total CPUs + 1 available)</comment>
125available)</comment>
126MAKEOPTS="-jN" 125MAKEOPTS="-jN"
127<comment>(Add distcc to your FEATURES)</comment> 126<comment>(Add distcc to your FEATURES)</comment>
128FEATURES="distcc" 127FEATURES="distcc"
129</pre> 128</pre>
130 129
131</body> 130</body>
132</section> 131</section>
133<section> 132<section>
134<title>Specifying Participating Hosts</title> 133<title>Specifying Participating Hosts</title>
135<body> 134<body>
136 135
137<p> 136<p>
138Use the <c>distcc-config</c> command to set the list of hosts. Here is an 137Use the <c>distcc-config</c> command to set the list of hosts. Here is an
139example of some hosts that might be in your list: 138example of some hosts that might be in your list:
140</p> 139</p>
271+1 available)</comment> 270+1 available)</comment>
272MAKEOPTS="-jN" 271MAKEOPTS="-jN"
273</pre> 272</pre>
274 273
275<pre caption="Setting your path"> 274<pre caption="Setting your path">
276# <i>export PATH="/usr/lib/ccache/bin:/usr/lib/distcc/bin:${PATH}"</i> 275# <i>export PATH="/usr/lib/ccache/bin:/usr/lib/distcc/bin:${PATH}"</i>
277</pre> 276</pre>
278 277
279</body> 278</body>
280</section> 279</section>
281<section> 280<section>
282<title>Step 2: Getting Distcc</title> 281<title>Step 2: Getting Distcc</title>
283<body> 282<body>
284 283
285<p> 284<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
300<p>
301Install distcc: 285Install distcc:
302</p> 286</p>
303 287
304<pre caption="Getting Distcc on the new box"> 288<pre caption="Getting Distcc on the new box">
305# <i>USE='-*' emerge --nodeps sys-devel/distcc</i> 289# <i>USE='-*' emerge --nodeps sys-devel/distcc sys-devel/distcc-config</i>
306</pre> 290</pre>
307 291
308</body> 292</body>
309</section> 293</section>
310<section> 294<section>
311<title>Step 3: Setting Up Distcc</title> 295<title>Step 3: Setting Up Distcc</title>
312<body> 296<body>
313 297
314<p> 298<p>
315Run <c>distcc-config --install</c> to setup distcc: 299Run <c>distcc-config --install</c> to setup distcc:
316</p> 300</p>
317 301
318<pre caption="Final distcc setup"> 302<pre caption="Final distcc setup">
319<comment>(Substitute host1, host2, ... with the IP number(s) of the 303<comment>(Substitute host1, host2, ... with the IP number(s) of the
320participating hosts)</comment> 304participating hosts)</comment>

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

  ViewVC Help
Powered by ViewVC 1.1.20