PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : distcc - Risiko?



stefan-tiger
27.06.04, 16:46
Hallo,

hat distcc Nachteile?

In der Gentoo Doku steht was von Fehlern die passieren können. Angeblich soll sich XFree damit nicht kompilieren lassen.

Muß auf allen Rechnern die distcc machen sollen die selbe gcc version installiert sein oder gehen auch verschiedene?

Gruß

sirmoloch
27.06.04, 17:15
Ich habe mit unterschiedlichen gcc Versionen ohne Probleme alles möglich schon kompiliert und - wie du siehst - es klappt...;)

XFree z.B. wird nicht per distcc kompiliert, das ist anscheinend im ebuild deaktiviert. Ich hab mich aber bisher noch nicht umfangreichend damit beschäftigt, da alles problemlos läuft.

sirmoloch
30.06.04, 17:16
Gibts denn niemanden, der etwas genauere Kenntnisse hat? ;)

Kip
30.06.04, 17:31
fundiertes Fachwissen über distcc kann ich auch nicht einbringen, aber ich habe die gleichen Erfahrungen wie du gemacht sirmoloch. Xfree wird nicht mit distcc kompiliert, ist im ebuild deaktiviert.

zu den verschiedenen gcc versionen: solange der ""Quellcode"" den du kompiliest keine Features von gcc nutzt, die noch nicht alle gcc-Versionen auf den Clients unterstützen, ist das kein Problem ... ansonsten wirds ein Problem :)

sirmoloch
30.06.04, 19:15
Eine Feststellung habe ich noch gemacht:

Beim Kompilieren per distcc werden massig Daten über das Netzwerk versendet - ich tippe darauf, dass Header und Compiler auf den anderen Host temporär übertragen werden.

Mal sehen, ich lese das die Tage mal nach - irgendwo muss das ja stehen.

sirmoloch
30.06.04, 19:42
Mensch, was bin ich doch faul: man distcc / Description / 2. Absatz



distcc sends the complete preprocessed source code and compiler arguments
across the network for each job, so the machines do not need to share a
filesystem, have the same headers or libraries installed, or have synchronized
clocks.


Und jetzt kommts ganz interessant (... / ... / 7. Absatz):



It is strongly recommended that you install the same compiler version on all
machines participating in a build. Incompatible compilers may cause mysterious
compile or link failures.


Ich denke das sagt alles. Wenn man auf seinen Systemen den gcc aktuell hält, ist es wohl kein Problem. Außerdem steht da ja auch "...may cause..." - es muss also nicht passieren.

So, Problem gelöst...;)

stefan-tiger
30.06.04, 21:35
Ich habs mir jetzt mal eingerichtet.

Also mache Programme kompiliern auf dem anderen Rechner.

Aber z.b. die svgalib nicht. Warum?

Ich lass immer die logs offen damit ich das seh. Aber momentan (bei der svgalib) macht ein Rechner die arbeit die anderen machen nix.

:(

EDIT: jetzt hab ichs bestätigt: bei Prorgammen wie svgalib, openssl und gtk+ bekommen die anderen Rechner nix zu tun. Nur bei kleinen (Hilfs-)Programmen bekommen die anderen Rechner was zu tun.
Aber dabei ist die Auslastung überall ganz gering. Was läuft da schief?

Leider bringt es mir nix nur diese kleinen Programme per distcc zu kompilieren weil die ohne distcc sowieso schnell gehen. Und die großen gehen nicht :( oder hab ich irgendwo ein fehler gemacht?

Wie entscheidet distcc welcher distccserver Pakete bekommt? localhost bekommt fast immer alles

Gruß

sirmoloch
30.06.04, 22:06
Hmm, bei mir wird so ziemlich alles schön per distcc kompiliert. Bisher ist mir nur bei X.org aufgefallen, dass das nicht "distributed" (ich hasse solche Wörter, aber mir war danach...;)) wird. Hmm...

stefan-tiger
30.06.04, 22:32
Muß mich ein bisschen korrigieren. Jetzt nach ein paar Minuten bekommt langsam der andere Rechner Kompilieraufgaben.


CPU Auslastung ist gleichzeitig: auf meinem Duron 750 ca 30-40% und auf einem Celeron 1-3%.

Der Celeron arbeitet zwar, aber wohl nur ganz wenig.

Kann es am 10 MBit Netzwerk liegen?

Gruß

sirmoloch
01.07.04, 01:53
Kann es am 10 MBit Netzwerk liegen?

www.ich-lese-die-manpage-von-distcc.de ;)