Dies ist eine alte Version des Dokuments!


Allgemeines und Installation

Distcc ist ein Programm, welches sich um die Verteilung von Kompilierungsprozessen an teilnehmende Rechner kümmert. Es besteht aus einem Serverteil, distccd und einem Clientprogramm, distcc. Mit etwas Konfigurationsaufwand funktioniert distcc mit ccache, Portage und Automake zusammen.

Um distcc einsetzen zu können, müssen alle Computer im Netzwerk die gleiche GCC-Version benutzen. Sie können verschiedene 3.3.x Versionen (wobei x variiert) verwenden, aber ein gleichzeitiger Gebrauch von 3.3.x und 3.2.x kann zu Fehlern bei der Kompilierung oder Ausführung von Programmen führen.

Distcc kommt mit einem grafischen Überwachungstool, um einzelne Aufgaben, die an andere PCs verteilt werden, aufzuzeichnen. Als Gnome Benutzer sollten sie 'gnome' in Ihren USE Flags setzen. Verwenden Sie kein Gnome, wollen jedoch die Funktionalität des grafischen Tools nicht missen, dann sollten Sie 'gtk' in den USE Flags gesetzt haben.

emerge -va distcc

Portage so einrichten, dass es Distcc benutzt

nano /etc/make.conf

Dort fügt man distcc zu den Features hinzu.

FEATURES="distcc"

Dies wäre also der Clientrechner der die Kompileranfrage ins Netz sendet. Die Liste der Hosts, bearbeitet man mit distcc-config.

distcc-config --set-hosts "hostname1 hostname2 hostname3"

Man kann natürlich auch gesamte Netze eingeben.

Passen Sie /etc/conf.d/distccd an Ihre Bedürfnisse an. Vergessen Sie nicht, durch die –allow Anweisung die Hosts anzugeben, denen Sie vertrauen. Noch mehr Sicherheit erhalten Sie durch Einsatz der –listen Anweisung, die dem distcc Dämon mitteilt, auf welche IP-Adressen er lauschen soll. Starten Sie jetzt den distcc Dämon auf allen teilnehmenden Computern:

rc-update add distccd default
etc/init.d/distccd start

DistCC Cross-Compiling

Distcc ist ein Werkzeug, mit dem Sie die Last der Software-Kompilierung über mehrere vernetzte Rechner verteilen können. Solange die vernetzten Rechner alle die gleiche Toolchain für die gleiche Prozessorarchitektur benutzen, benötigen Sie keine spezielle Konfiguration des distcc. Aber was machen Sie, wenn Sie für eine abweichende Architektur auf verschiedenen Computern kompilieren möchten? Diese Anleitung wird Ihnen zeigen, wie Sie distcc konfigurieren müssen, um für unterschiedliche Architekturen zu kompilieren.