Sie sind nicht angemeldet.

1

09.04.2017, 21:58

Distcc - keine Funktion, benötige ein wenig Hilfe

Hallo Leute,

richte hier gerade Distcc ein. Habe als Compilierunterstützung zwei Gentoo-LXC-Container am laufen. Der Client der sich der Rechenleistung bedienen soll ist ein Zotacrechner mit einer Atom CPU. Leider komme ich mit distcc überhaupt nicht weiter. Es funktioniert nicht, nimmt keine Jobs an. GCC ist überall gleich, auch "march" hab ich laut Wiki richtig gestellt. Ich scheiterte zuerst schon beim Start des Dienstes, anscheinend kann distcc nicht mit IPV6 umgehen. Ich habe hierfür also ein IPV4 Netz angelegt.

Was mir glaub ich noch nicht ganz klar ist, ist das Client-Server-Prinzip. Also jeder kann Client und Server sein... richtig? In meinem Setup hier gehe ich mal davon aus das die zwei LXC-Container die Server sind, und der kleine Atom der Client.

Serverconfig:

Quellcode

1
2
cat /etc/conf.d/distccd 
DISTCCD_OPTS="${DISTCCD_OPTS} --allow 10.10.10.0/24"


Clientconfig:
Am Client hab ich die hostsfile gesetzt:

Quellcode

1
distcc-config --set-hosts "10.10.10.5,cpp,lzo"


Nur mal mit einem Host. Und natürlich die Make.conf angepasst:

Quellcode

1
2
3
4
5
CFLAGS="-march=bonnell -mmmx -msse -msse2 -msse3 -mssse3 -mcx16 -msahf -mmovbe -mfxsr --param l1-cache-size=24 --param l1-cache-line-size=64 --param l2-cache-size=512 -mtune=bonnell -fstack-protector-strong -O2 -pipe"
CXXFLAGS="${CFLAGS}"
CHOST="x86_64-pc-linux-gnu"
MAKEOPTS="-j9 -l0"
FEATURES="buildpkg ccache distcc distcc-pump"


Fehlt mir hier noch was? Oder sollte es so schon funktionieren.

Vielen Dank und lg
boospy

Nachtrag: Wenn ich was compiliere gehts jetzt garnicht mehr:

Quellcode

1
2
3
4
5
6
7
8
-IncSet.o htop-Action.o htop-EnvScreen.o htop-InfoScreen.o htop-XAlloc.o linux/htop-Platform.o linux/htop-IOPriorityPanel.o linux/htop-IOPriority.o linux/htop-LinuxProcess.o linux/htop-LinuxProcessList.o linux/htop-LinuxCRT.o linux/htop-Battery.o  -Wl,--as-needed -lncursesw -lm
/usr/lib/gcc/x86_64-pc-linux-gnu/4.9.4/../../../../x86_64-pc-linux-gnu/bin/ld: htop-AvailableMetersPanel.o: unrecognized relocation (0x2a) in section `.text'
/usr/lib/gcc/x86_64-pc-linux-gnu/4.9.4/../../../../x86_64-pc-linux-gnu/bin/ld: final link failed: Bad value
collect2: error: ld returned 1 exit status
distcc[21865] ERROR: compile (null) on localhost failed
make[1]: *** [Makefile:733: htop] Error 1
make[1]: Leaving directory '/var/tmp/portage/sys-process/htop-2.0.2/work/htop-2.0.2'
make: *** [Makefile:540: all] Error 2
Gentoo Can Do!
>>>> boospy@jabber.ccc.de <<<<
Wiki auf: http://deepdoc.at

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »boospy« (09.04.2017, 22:41)


2

12.04.2017, 19:05

Ich bin mir nicht ganz sicher, und ich glaube auch nicht dass es der wirkliche Grund ist weshalb es nicht geht, aber das hier

Zitat

MAKEOPTS="-j9 -l0"
gefällt mir nicht ganz.

mit-lx sagst du nämlich meines Wissens dass , falls die Remote Rechner nicht verfügbar sind nichts kompiliert wird, denn bei Dir steht da ja NULL was somit heisst das NULL Threads lokal benutzt werden sollen. Und somit macht der Rechner vermutlich gar nix, wenn distcc keine Rechner erreicht.

Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von »tuxracer« (12.04.2017, 19:51)


3

12.04.2017, 19:28

mit-lx sagst du nämlich meines Wissens dass , falls die Remote Rechner nicht verfügbar sind nichts kompiliert wird, denn bei Dir steht da ja NULL was somit heisst das NULL Threads lokal benutzt werden sollen. Und somit macht der Rechner vermutlich gar nix, wenn distcc keine Rechner erreicht.

Ja genau das möchte ich damit erreichen. Der lokale Rechner darf nicht, ist viel zu langsam, aber ich habs natürlich auch mit dem lokalen zusätzlich probiert. Hab dann am Server mit dem Distccmonitor mitgeschaut, aber da kommt nicht mal ne Anfrage, also irgendwas mach ich falsch, hab mich schon früher mal vor Jahren damit versucht, damals funktionierte es, war noch i386...

lg
Gentoo Can Do!
>>>> boospy@jabber.ccc.de <<<<
Wiki auf: http://deepdoc.at

4

12.04.2017, 19:51

Habe mir das ganze nochmal angesehen und vermute den fehler gefunden zu haben. Mit distcc-config --set-hosts musst Du überall alle Rechner die mitmachen sollen eintragen, bei Dir steht da nur einer drin, und das wird vermutlich die IP deines Client Rechners sein, was bedeutet, dass distcc alles local machen will, und da Du dort -l0 hast, wie schon erwähnt macht er nachher eben gar nix weil remote Rechner gibts keine und Lokal soll er nix machen dürfen.

5

12.04.2017, 21:55

Nein, Nein das schon die IP des Servers mit den 8 Kernen.
Gentoo Can Do!
>>>> boospy@jabber.ccc.de <<<<
Wiki auf: http://deepdoc.at

6

28.08.2017, 14:36

Lass mich mal nen Schuss ins Blaue machen. Die IP ist die des Servers, ABER das nützt Dich nichts, weil Du nicht die Addresse des Servers eintragen musst, sondern die IP Addressen Deiner lxc-container, weil das sind die Rechner, die die Arbeit machen sollen.