Difference between revisions of "Distcc"

From CBLFS
Jump to navigationJump to search
(Multilib)
 
(4 intermediate revisions by the same user not shown)
Line 7: Line 7:
 
----
 
----
  
== Introduction to Distcc ==
+
{{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.
 
 
 
'''Project Home Page''': http://distcc.samba.org/
 
  
 
== 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 52: Line 48:
 
'''''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.'''''
  
=== 32Bit ===
+
=== 64Bit ===
  
 
Compile the package:
 
Compile the package:
  
  CC="gcc ${BUILD32}" PKG_CONFIG_PATH="${PKG_CONFIG_PATH32}" \
+
  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 70: Line 66:
 
  fi
 
  fi
  
=== N32 ===
+
== Configuring ==
  
Compile the package:
+
=== Running distccd from [[Xinetd]] ===
  
CC="gcc ${BUILDN32}" PKG_CONFIG_PATH="${PKG_CONFIG_PATHN32}" \
+
If you do not already have [[Xinetd]] installed this would be a good time todo so.
./configure --prefix=/usr --sysconfdir=/etc \
 
    --with-docdir=/usr/share/distcc-{{Distcc-Version}} \
 
    --enable-rfc2553 &&
 
make
 
  
Install the package:
+
Create a rule for distcc:
  
  make install &&
+
  cat > /etc/xinetd.d/distcc << "EOF"
  if [ -x distccmon-gnome ]; then
+
  # Begin /etc/xinetd.d/distcc
  ln -sfv ../distcc/distccmon-gnome.desktop /usr/share/applications &&
+
   ln -sfv ../distcc/distccmon-gnome-icon.png /usr/share/pixmaps
+
service distcc
  fi
+
{
 +
    disable        = no
 +
    socket_type    = stream
 +
    wait          = no
 +
    user          = root
 +
    server        = /usr/bin/distccd
 +
    server_args   = --inetd
 +
}
 +
 +
# End /etc/xinetd.d/distcc
 +
  EOF
  
=== 64Bit ===
+
=== Running distccd from a BootScript ===
  
Compile the package:
+
ToDo
  
CC="gcc ${BUILD64}" PKG_CONFIG_PATH="${PKG_CONFIG_PATH64}" \
+
=== Running distccd from inittab ===
./configure --prefix=/usr --sysconfdir=/etc \
 
    --with-docdir=/usr/share/distcc-{{Distcc-Version}} \
 
    --enable-rfc2553 &&
 
make
 
  
Install the package:
+
Add this entry to your inittab for distccd to run on runlevels 3, 4, and 5:
  
  make install &&
+
  dscc:345:respawn:/usr/bin/distccd --verbose --no-detach --daemon
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
 
  
 
= Contents =
 
= Contents =
Line 119: 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 20:20, 8 June 2009

Download Source: http://distcc.samba.org/ftp/distcc/distcc-2.18.3.tar.bz2

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

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