/[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.34 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.34 2006/02/21 16:50:58 jkt 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
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.15</version> 36<version>1.19</version>
37<date>2006-02-18</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>
99 99
100<pre caption="Installing distcc"> 100<pre caption="Installing distcc">
101# <i>emerge distcc</i> 101# <i>emerge distcc</i>
102</pre> 102</pre>
103 103
104<impo>
105Remember, you must be sure to install distcc on all of your participating
106machines.
107</impo>
108
104</body> 109</body>
105</section> 110</section>
106<section> 111<section>
107<title>Setting up Portage to use Distcc</title> 112<title>Setting up Portage to use Distcc</title>
108<body> 113<body>
111Setting 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
112each system that should participate in the distributed compiling: 117each system that should participate in the distributed compiling:
113</p> 118</p>
114 119
115<pre caption="Integrating Distcc and Portage"> 120<pre caption="Integrating Distcc and Portage">
116# <i>emerge distcc</i> 121# <i>emerge distcc distcc-config</i>
117# <i>nano -w /etc/make.conf</i> 122# <i>nano -w /etc/make.conf</i>
118<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>
119<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>
120available)</comment>
121MAKEOPTS="-jN" 125MAKEOPTS="-jN"
122<comment>(Add distcc to your FEATURES)</comment> 126<comment>(Add distcc to your FEATURES)</comment>
123FEATURES="distcc" 127FEATURES="distcc"
124</pre> 128</pre>
125 129
207the ccache part: 211the ccache part:
208</p> 212</p>
209 213
210<pre caption="Setting your path"> 214<pre caption="Setting your path">
211# <i>export PATH="/usr/lib/ccache/bin:/usr/lib/distcc/bin:${PATH}"</i> 215# <i>export PATH="/usr/lib/ccache/bin:/usr/lib/distcc/bin:${PATH}"</i>
212<comment>You can put this in your .bashrc or equivelant file to have the PATH 216<comment>(You can put this in your ~/.bashrc or equivalent file to have the PATH
213set every time you log in</comment> 217set every time you log in)</comment>
214</pre> 218</pre>
215 219
216<p> 220<p>
217Then, as you would normally type <c>make</c>, you would type <c>make -jN</c> 221Then, as you would normally type <c>make</c>, you would type <c>make -jN</c>
218(where N is an integer). The value of N depends on your network and the types 222(where N is an integer). The value of N depends on your network and the types
276<section> 280<section>
277<title>Step 2: Getting Distcc</title> 281<title>Step 2: Getting Distcc</title>
278<body> 282<body>
279 283
280<p> 284<p>
281Before the installation of distcc, a user called distcc must be added to the
282<path>/etc/passwd</path>:
283</p>
284
285<pre caption="Create user distcc">
286# <i>echo "distcc:x:240:2:distccd:/dev/null:/bin/false" &gt;&gt;/etc/passwd</i>
287</pre>
288
289<impo>
290It is important to note that adding users like this is very bad. We only do
291it here because there is no <c>useradd</c> utility (which you normally use for
292adding users) yet at this stage of installation.
293</impo>
294
295<p>
296Install distcc: 285Install distcc:
297</p> 286</p>
298 287
299<pre caption="Getting Distcc on the new box"> 288<pre caption="Getting Distcc on the new box">
300# <i>USE='-*' emerge --nodeps sys-devel/distcc</i> 289# <i>USE='-*' emerge --nodeps sys-devel/distcc sys-devel/distcc-config</i>
301</pre> 290</pre>
302 291
303</body> 292</body>
304</section> 293</section>
305<section> 294<section>
336</chapter> 325</chapter>
337 326
338<chapter> 327<chapter>
339<title>Troubleshooting</title> 328<title>Troubleshooting</title>
340<section> 329<section>
341<title>Mozilla and Xorg</title> 330<title>Some Packages Don't Use Distcc</title>
342<body> 331<body>
343 332
344<p> 333<p>
345As you emerge various packages, you'll notice that some of them aren't being 334As you emerge various packages, you'll notice that some of them aren't being
346distributed (and aren't being built in parallel). This is because the 335distributed (and aren't being built in parallel). This may happen because the
347developers of the Mozilla and Xorg-X11 ebuilds intentionally disable parallel 336package's Makefile doesn't support parallel operations or the maintainer of the
348building because it is known to cause problems. 337ebuild has explicitly disabled parallel operations due to a known problem.
349</p> 338</p>
350 339
351<p> 340<p>
352Sometimes distcc might cause a package to fail to compile. If this happens 341Sometimes distcc might cause a package to fail to compile. If this happens
353for you, please <uri link="http://bugs.gentoo.org">report</uri> it to us. 342for you, please <uri link="http://bugs.gentoo.org">report</uri> it to us.

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

  ViewVC Help
Powered by ViewVC 1.1.20