Difference between revisions of "Distcc"
(→Multilib) |
|||
(5 intermediate revisions by the same user not shown) | |||
Line 7: | Line 7: | ||
---- | ---- | ||
− | + | {{Package-Introduction|Distcc is a program to distribute builds of C, C++, Objective C or Objective C++ code across several machines on a network. Distcc should always generate the same results as a local build, is simple to install and use, and is usually much faster than a local compile.|http://distcc.samba.org/}} | |
− | |||
− | Distcc is a program to distribute builds of C, C++, Objective C or Objective C++ code across several machines on a network. Distcc should always generate the same results as a local build, is simple to install and use, and is usually much faster than a local compile. | ||
− | |||
− | |||
== Dependencies == | == Dependencies == | ||
Line 37: | Line 33: | ||
./configure --prefix=/usr --sysconfdir=/etc \ | ./configure --prefix=/usr --sysconfdir=/etc \ | ||
− | --with-docdir=/usr/share/distcc-{{Distcc-Version}} \ | + | --with-docdir=/usr/share/doc/distcc-{{Distcc-Version}} \ |
--enable-rfc2553 && | --enable-rfc2553 && | ||
make | make | ||
Line 43: | Line 39: | ||
Install the package: | Install the package: | ||
− | make install | + | make install && |
+ | if [ -x distccmon-gnome ]; then | ||
+ | ln -sfv ../distcc/distccmon-gnome.desktop /usr/share/applications && | ||
+ | ln -sfv ../distcc/distccmon-gnome-icon.png /usr/share/pixmaps | ||
+ | fi | ||
== Multilib == | == Multilib == | ||
'''''This package does not install any libraries so only one installation is needed.''''' | '''''This package does not install any libraries so only one installation is needed.''''' | ||
− | === | + | === 64Bit === |
Compile the package: | Compile the package: | ||
− | CC="gcc ${ | + | CC="gcc ${BUILD64}" PKG_CONFIG_PATH="${PKG_CONFIG_PATH64}" \ |
./configure --prefix=/usr --sysconfdir=/etc \ | ./configure --prefix=/usr --sysconfdir=/etc \ | ||
− | --with-docdir=/usr/share/distcc-{{Distcc-Version}} \ | + | --with-docdir=/usr/share/doc/distcc-{{Distcc-Version}} \ |
--enable-rfc2553 && | --enable-rfc2553 && | ||
make | make | ||
Line 60: | Line 60: | ||
Install the package: | Install the package: | ||
− | make install | + | make install && |
+ | if [ -x distccmon-gnome ]; then | ||
+ | ln -sfv ../distcc/distccmon-gnome.desktop /usr/share/applications && | ||
+ | ln -sfv ../distcc/distccmon-gnome-icon.png /usr/share/pixmaps | ||
+ | fi | ||
− | == | + | == Configuring == |
− | + | === Running distccd from [[Xinetd]] === | |
− | + | If you do not already have [[Xinetd]] installed this would be a good time todo so. | |
− | |||
− | |||
− | |||
− | |||
− | + | Create a rule for distcc: | |
− | + | cat > /etc/xinetd.d/distcc << "EOF" | |
+ | # Begin /etc/xinetd.d/distcc | ||
+ | |||
+ | service distcc | ||
+ | { | ||
+ | disable = no | ||
+ | socket_type = stream | ||
+ | wait = no | ||
+ | user = root | ||
+ | server = /usr/bin/distccd | ||
+ | server_args = --inetd | ||
+ | } | ||
+ | |||
+ | # End /etc/xinetd.d/distcc | ||
+ | EOF | ||
− | === | + | === Running distccd from a BootScript === |
− | + | ToDo | |
− | + | === Running distccd from inittab === | |
− | |||
− | |||
− | |||
− | |||
− | + | Add this entry to your inittab for distccd to run on runlevels 3, 4, and 5: | |
− | + | dscc:345:respawn:/usr/bin/distccd --verbose --no-detach --daemon | |
= Contents = | = Contents = | ||
Line 103: | Line 113: | ||
| /usr/share/distcc /usr/share/doc/distcc-{{Distcc-Version}} | | /usr/share/distcc /usr/share/doc/distcc-{{Distcc-Version}} | ||
|} | |} | ||
+ | |||
+ | [[Category:Programming]] |
Latest revision as of 19:20, 8 June 2009
Download Source: | http://distcc.samba.org/ftp/distcc/distcc-2.18.3.tar.bz2 |
---|
Contents
Introduction to Distcc
Distcc is a program to distribute builds of C, C++, Objective C or Objective C++ code across several machines on a network. Distcc should always generate the same results as a local build, is simple to install and use, and is usually much faster than a local compile.
Project Homepage: http://distcc.samba.org/
Dependencies
Recommended
Optional
- Python (To run tests)
- Gtk2
- libgnomeui
Configuration Information
Add one of the following to configure if you would like to build distccmon-gnome:
--with-gnome --with-gtk
Not that --with-gnome takes precedence over --with-gtk.
Non-Multilib
Compile the package:
./configure --prefix=/usr --sysconfdir=/etc \ --with-docdir=/usr/share/doc/distcc-2.18.3 \ --enable-rfc2553 && make
Install the package:
make install && if [ -x distccmon-gnome ]; then ln -sfv ../distcc/distccmon-gnome.desktop /usr/share/applications && ln -sfv ../distcc/distccmon-gnome-icon.png /usr/share/pixmaps fi
Multilib
This package does not install any libraries so only one installation is needed.
64Bit
Compile the package:
CC="gcc ${BUILD64}" PKG_CONFIG_PATH="${PKG_CONFIG_PATH64}" \ ./configure --prefix=/usr --sysconfdir=/etc \ --with-docdir=/usr/share/doc/distcc-2.18.3 \ --enable-rfc2553 && make
Install the package:
make install && if [ -x distccmon-gnome ]; then ln -sfv ../distcc/distccmon-gnome.desktop /usr/share/applications && ln -sfv ../distcc/distccmon-gnome-icon.png /usr/share/pixmaps fi
Configuring
Running distccd from Xinetd
If you do not already have Xinetd installed this would be a good time todo so.
Create a rule for distcc:
cat > /etc/xinetd.d/distcc << "EOF" # Begin /etc/xinetd.d/distcc service distcc { disable = no socket_type = stream wait = no user = root server = /usr/bin/distccd server_args = --inetd } # End /etc/xinetd.d/distcc EOF
Running distccd from a BootScript
ToDo
Running distccd from inittab
Add this entry to your inittab for distccd to run on runlevels 3, 4, and 5:
dscc:345:respawn:/usr/bin/distccd --verbose --no-detach --daemon
Contents
Installed Programs: | distcc distccd distccmon-gnome distccmon-text |
---|---|
Installed Libraries: | None |
Installed Directories: | /usr/share/distcc /usr/share/doc/distcc-2.18.3 |