View previous topic :: View next topic |
Author |
Message |
digu Apprentice
Joined: 26 Feb 2006 Posts: 201 Location: Verona
|
Posted: Wed May 24, 2006 7:00 pm Post subject: [Risolto]Non funziona DISTCC |
|
|
Ciao a tutti...
Ho configurato le mie macchine (un laptop e un desktop) affiche' possano utilizzare il distcc per ridurre i tempi di compilazione...
ho seguito la wiki :
http://www.gentoo.org/doc/it/distcc.xml
ma non riesco a capire se effettivamente c'e' una ripartizione del carico di lavoro.. ho lanciato sia un emerge --update world e poi emerge tuxracer per vedere se notavo qualcosa...
lanciando il comando:
(al posto di 2 ho messo anche altri valori) non mi visualizza nulla mentre la compilazione e' in esecuzione...
Secondo voi ho configurato male i distcc?
come posso verificare se tutto e' corretto?
Grazie in anticipo _________________ ..:[DiGu]:.
Last edited by digu on Tue Jun 13, 2006 11:19 am; edited 3 times in total |
|
Back to top |
|
|
Luca89 Advocate
Joined: 27 Apr 2005 Posts: 2107 Location: Agrigento (Italy)
|
Posted: Wed May 24, 2006 8:54 pm Post subject: |
|
|
la variabile DISTCC_DIR l'hai settata a /var/tmp/portage/.distcc come spiegato nella guida gentoo? _________________ Running Fast! |
|
Back to top |
|
|
digu Apprentice
Joined: 26 Feb 2006 Posts: 201 Location: Verona
|
Posted: Wed May 24, 2006 9:03 pm Post subject: |
|
|
ops... veramente no...
se non setto tale variabile d'ambiente potrei aver problemi anche in fase di compilazione o riguarda solo il distccmon-text? _________________ ..:[DiGu]:. |
|
Back to top |
|
|
Luca89 Advocate
Joined: 27 Apr 2005 Posts: 2107 Location: Agrigento (Italy)
|
Posted: Wed May 24, 2006 9:13 pm Post subject: |
|
|
digu wrote: | ops... veramente no...
se non setto tale variabile d'ambiente potrei aver problemi anche in fase di compilazione o riguarda solo il distccmon-text? |
credo la seconda, tu però usala solo per quel comando:
Code: | DISTCC_DIR=/var/tmp/portage/.distcc distccmon-text 2 |
_________________ Running Fast! |
|
Back to top |
|
|
Danilo l33t
Joined: 05 Feb 2004 Posts: 747 Location: Italy
|
Posted: Wed May 24, 2006 9:16 pm Post subject: |
|
|
La devi settare in /etc/make.conf per attivare il distcc.
La devi settare nell'amiente (.bashrc o a mano) per il distmon-text.
Io comunque verifico se funge attraverso il monitor della eth0: se distcc funge con c++ te ne accorgi eccome
A proposito non ricordo come si chiama il monitor grafico del distcc
---- EDIT -----
arrivato in ritardo |
|
Back to top |
|
|
Luca89 Advocate
Joined: 27 Apr 2005 Posts: 2107 Location: Agrigento (Italy)
|
Posted: Wed May 24, 2006 9:18 pm Post subject: |
|
|
Danilo wrote: | La devi settare in /etc/make.conf per attivare il distcc. |
Non quella variabile, bisogna settare la feature di portage semmai.
Quote: | A proposito non ricordo come si chiama il monitor grafico del distcc |
ci sono distccmon-gtk e distccmon-gnome, vengono compilati aggiungendo le rispettive use flag (gtk e gnome). _________________ Running Fast! |
|
Back to top |
|
|
Danilo l33t
Joined: 05 Feb 2004 Posts: 747 Location: Italy
|
Posted: Wed May 24, 2006 9:23 pm Post subject: |
|
|
Luca89 wrote: | Danilo wrote: | La devi settare in /etc/make.conf per attivare il distcc. |
Non quella variabile, bisogna settare la feature di portage semmai.
|
Ok per la features ma non mi andava se non presente in /etc/make.conf anche la variabile.
PS: grazie per i monitor grafici |
|
Back to top |
|
|
Scen Retired Dev
Joined: 29 Jul 2003 Posts: 2470 Location: Padova, Italy
|
Posted: Wed May 24, 2006 9:25 pm Post subject: |
|
|
Dall'output dell'emerge di distcc:
Quote: |
To use the distccmon programs with Gentoo you should use this command:
* To use the distccmon programs with Gentoo you should use this command:
* DISTCC_DIR=/var/tmp/portage/.distcc distccmon-text N
|
Comunque tieni presente che molti ebuild disabilitato la compilazione con distcc, quindi la compilazione distribuita non viene sfruttata e non noterai nessuna ripartizione del carico di lavoro.
Comunque per tenere sotto controllo la compilazione con distcc usa questo comando:
Code: |
watch -n X 'DISTCC_DIR=/var/tmp/portage/.distcc distccmon-text'
|
dove X è ogni quanti secondi vuoi aggiornare la visualizzazione (ti consiglio 1 o 2, per avere una visualizzazione ottimale) _________________ I was born in a deep forest/I wish I could live here all my life/I am made from stones and roots/My home, these woods and roads
All my life I loved this sound/Of the woods all around/Eagles flies where the winds blows free
Journey is my destiny
Last edited by Scen on Wed May 24, 2006 9:38 pm; edited 1 time in total |
|
Back to top |
|
|
Luca89 Advocate
Joined: 27 Apr 2005 Posts: 2107 Location: Agrigento (Italy)
|
Posted: Wed May 24, 2006 9:31 pm Post subject: |
|
|
Scen wrote: | Comunque per tenere sotto controllo la compilazione con distcc usa questo comando:
Code: |
watch -n X 'DISTCC_DIR=/var/tmp/portage/.distcc distccmon-textDISTCC_DIR=/var/tmp/portage/.distcc distccmon-text'
|
dove X è ogni quanti secondi vuoi aggiornare la visualizzazione (ti consiglio 1 o 2, per avere una visualizzazione ottimale) |
e perchè scusa? si ottiene lo stesso effetto semplicemente con:
Code: | DISTCC_DIR=/var/tmp/portage/.distcc distccmon-text X |
Quote: | Ok per la features ma non mi andava se non presente in /etc/make.conf anche la variabile. |
Boh, strano, perchè la home dell'utente che compila (portage) è /var/tmp/portage e quindi di conseguenza .distcc si va a piazzare là _________________ Running Fast! |
|
Back to top |
|
|
Scen Retired Dev
Joined: 29 Jul 2003 Posts: 2470 Location: Padova, Italy
|
Posted: Wed May 24, 2006 9:43 pm Post subject: |
|
|
Luca89 wrote: |
e perchè scusa? si ottiene lo stesso effetto semplicemente con:
Code: | DISTCC_DIR=/var/tmp/portage/.distcc distccmon-text X |
|
Ho editato il comando, per sbaglio l'ho incollato 2 volte di seguito
No, con il comando che dici tu avrai un output del tipo
Code: |
rohan ~ # DISTCC_DIR=/var/tmp/portage/.distcc distccmon-text 5
7171 Compile conftest.c localhost[0]
10244 Compile fbpict.tmp.rohan.10228.i localhost[0]
[....]
|
(con le voci che si accodano)
mentre con il mio comando avrai un output del tipo
Code: |
every 5,0s: DISTCC_DIR=/var/tmp/portage/.distcc distccmon-text Wed May 24 23:41:25 2006
24293 Compile localhost[0]
|
con la visualizzazione che si aggiorna ogni tot secondi, e vedrai solo i processi di compilazione attivi in quel momento (similmente al distccmon grafico) _________________ I was born in a deep forest/I wish I could live here all my life/I am made from stones and roots/My home, these woods and roads
All my life I loved this sound/Of the woods all around/Eagles flies where the winds blows free
Journey is my destiny |
|
Back to top |
|
|
digu Apprentice
Joined: 26 Feb 2006 Posts: 201 Location: Verona
|
Posted: Wed May 24, 2006 10:12 pm Post subject: |
|
|
La cosa non mi funziona ancora anzi compilando il pacchetto graphviz mi da errore:
Code: | distcc[30814] ERROR: compile Dynagraph.cpp on 192.168.x.99 failed
make[3]: *** [Dynagraph.lo] Error 1
make[3]: *** Waiting for unfinished jobs....
|
in make.conf ho:
Code: | FEATURES="distcc"
DISTCC_DIR="/var/tmp/portage/.distcc"
|
in /etc/conf.d/distccd:
Code: | DISTCCD_OPTS="${DISTCCD_OPTS} --allow 192.168.x.99 --allow 153.90.x.x" |
dove solo 192.168.x.99 al momento e' visibile dal mio laptop mentre l'altra macchina e' presente quando mi sposto in un altra rete...
con questi indirizzi dico che tali macchine possono usare la mia per compilare?
eseguendo :
Code: | distcc-config --set-hosts "192.168.x.99 localhost" |
gli indico che voglio compilare su ...x.99 e su localhost? se x.99 non e' disponibile usa solo localhost?
il comando:
Code: | export PATH=/usr/lib/distcc/bin:$PATH" |
va eseguito su tutte le macchine coinvolte o solo sul client?
non e' che facendo questo, se provo da utente normale a compilare un mio codice c,c++ va a prendermi il distcc? se lo fa ci possono essere dei problemi? o sono obbligato ad usare la flag -J1? _________________ ..:[DiGu]:. |
|
Back to top |
|
|
Ic3M4n Advocate
Joined: 02 Nov 2004 Posts: 3489 Location: Bergamo.
|
Posted: Wed May 24, 2006 11:21 pm Post subject: |
|
|
mi auguro che quelle x siano dei numeri |
|
Back to top |
|
|
digu Apprentice
Joined: 26 Feb 2006 Posts: 201 Location: Verona
|
Posted: Wed May 24, 2006 11:28 pm Post subject: |
|
|
Ic3M4n wrote: | mi auguro che quelle x siano dei numeri |
ma ... direi proprio di si... _________________ ..:[DiGu]:. |
|
Back to top |
|
|
digu Apprentice
Joined: 26 Feb 2006 Posts: 201 Location: Verona
|
Posted: Thu May 25, 2006 8:11 am Post subject: |
|
|
e' necessaria l'installazione di ccache per un corretto funzionamento di distcc?
deve essere configurato in maniera particolare? _________________ ..:[DiGu]:. |
|
Back to top |
|
|
Danilo l33t
Joined: 05 Feb 2004 Posts: 747 Location: Italy
|
Posted: Thu May 25, 2006 9:54 am Post subject: |
|
|
ccache e distcc sono due cose (ed installazioni) differenti.
Possono lavorare ANCHE insieme ma in /etc/make.conf deve avere precedenza ccache
Code: | ppp $ grep FEATURES /etc/make.conf
FEATURES="ccache distcc"
|
|
|
Back to top |
|
|
digu Apprentice
Joined: 26 Feb 2006 Posts: 201 Location: Verona
|
Posted: Thu May 25, 2006 10:21 am Post subject: |
|
|
digu wrote: | La cosa non mi funziona ancora anzi compilando il pacchetto graphviz mi da errore:
Code: | distcc[30814] ERROR: compile Dynagraph.cpp on 192.168.x.99 failed
make[3]: *** [Dynagraph.lo] Error 1
make[3]: *** Waiting for unfinished jobs....
|
in make.conf ho:
Code: | FEATURES="distcc"
DISTCC_DIR="/var/tmp/portage/.distcc"
|
in /etc/conf.d/distccd:
Code: | DISTCCD_OPTS="${DISTCCD_OPTS} --allow 192.168.x.99 --allow 153.90.x.x" |
dove solo 192.168.x.99 al momento e' visibile dal mio laptop mentre l'altra macchina e' presente quando mi sposto in un altra rete...
con questi indirizzi dico che tali macchine possono usare la mia per compilare?
eseguendo :
Code: | distcc-config --set-hosts "192.168.x.99 localhost" |
gli indico che voglio compilare su ...x.99 e su localhost? se x.99 non e' disponibile usa solo localhost?
il comando:
Code: | export PATH=/usr/lib/distcc/bin:$PATH" |
va eseguito su tutte le macchine coinvolte o solo sul client?
non e' che facendo questo, se provo da utente normale a compilare un mio codice c,c++ va a prendermi il distcc? se lo fa ci possono essere dei problemi? o sono obbligato ad usare la flag -J1? |
qualcuno sa dirmi se quello che ho supposto e' giusto o sbagliato? _________________ ..:[DiGu]:. |
|
Back to top |
|
|
Ic3M4n Advocate
Joined: 02 Nov 2004 Posts: 3489 Location: Bergamo.
|
Posted: Thu May 25, 2006 10:49 am Post subject: |
|
|
io ho semplicemente:
Code: | DISTCCD_OPTS=""
DISTCCD_EXEC="/usr/bin/distccd"
DISTCCD_PIDFILE="/var/run/distccd/distccd.pid"
DISTCCD_OPTS="${DISTCCD_OPTS} --port 3632"
DISTCCD_OPTS="${DISTCCD_OPTS} --log-level info"
DISTCCD_OPTS="${DISTCCD_OPTS} --allow 192.168.0.0/24"
DISTCCD_NICE="15"
| nel mio file di conf di distcc.
in make.conf devi mettere solo FEATURES="distcc" in aggiunta alle altre cose che già hai, non su una riga nuova. DISTCC_DIR non credo che venga letta dal make.conf. dovrebbe essere impostata nal bashrc o da linea di comando.
digu wrote: | gli indico che voglio compilare su ...x.99 e su localhost? se x.99 non e' disponibile usa solo localhost? | esatto. puoi specificare anche il numero di jobs che vuoi che vengano esportati sulle altre macchine. tipo 192.168.0.24/3 indica che voglio esportare 3 job, quindi nel caso in cui avessi una rete con 2 pc che compilano uno con /3 ed uno con /2 ho 5 processi paralleli in compilazione. in make.conf imposterò la flag -j6 in modo da avere un job che balla dall'uno all'altro. ultima cosa: ho notato che il pc di destinazione non sfrutta mai appieno la sua potenza di calcolo. ho fatto delle prove aumentando il numero dei processi e sembra che la cosa migliori un po'. |
|
Back to top |
|
|
digu Apprentice
Joined: 26 Feb 2006 Posts: 201 Location: Verona
|
Posted: Thu May 25, 2006 11:58 am Post subject: |
|
|
il comando:
Code: | export PATH=/usr/lib/distcc/bin:$PATH" |
va eseguito su tutte le macchine coinvolte o solo sul client? _________________ ..:[DiGu]:. |
|
Back to top |
|
|
Ic3M4n Advocate
Joined: 02 Nov 2004 Posts: 3489 Location: Bergamo.
|
|
Back to top |
|
|
digu Apprentice
Joined: 26 Feb 2006 Posts: 201 Location: Verona
|
Posted: Thu May 25, 2006 12:12 pm Post subject: |
|
|
Quote: |
Configurare distcc per lavorare con automake
È generalmente più semplice rispetto alla configurazione di Portage. È necessario aggiornare la variabile d'ambiente PATH in modo che includa /usr/lib/distcc/bin prima della locazione di gcc (/usr/bin). Un avvertimento: se usi ccache devi mettere distcc dopo ccache:
Codice 2.6: Configurazione del path
# export PATH="/usr/lib/ccache/bin:/usr/lib/distcc/bin:${PATH}"
Puoi aggiungere questa riga a .bashrc, o all'equivalente file di
configurazione della shell che stai usando, per impostare automaticamente
il PATH ogni volta che effettui il log in
|
_________________ ..:[DiGu]:. |
|
Back to top |
|
|
Scen Retired Dev
Joined: 29 Jul 2003 Posts: 2470 Location: Padova, Italy
|
Posted: Thu May 25, 2006 12:18 pm Post subject: |
|
|
Quel comando di export serve solamente se si vuole utilizzare distcc per compilare manualmente, quindi senza l'utilizzo di Portage.
Devi farlo solo nella macchina "locale", che distribuirà i lavori di compilazione agli altri nodi. _________________ I was born in a deep forest/I wish I could live here all my life/I am made from stones and roots/My home, these woods and roads
All my life I loved this sound/Of the woods all around/Eagles flies where the winds blows free
Journey is my destiny |
|
Back to top |
|
|
digu Apprentice
Joined: 26 Feb 2006 Posts: 201 Location: Verona
|
Posted: Thu May 25, 2006 7:04 pm Post subject: |
|
|
Risolto...
Dopo i vostri chiarimenti ho capito meglio cosa descriveva la guida... e anche se mi sembra di aver fatto tutto correttamente gia' la prima volta... so che ora, ripetendo pedissequamente tutti i passi, distcc funziona..
chissa' cosa avevo combinato _________________ ..:[DiGu]:. |
|
Back to top |
|
|
digu Apprentice
Joined: 26 Feb 2006 Posts: 201 Location: Verona
|
Posted: Fri May 26, 2006 2:30 pm Post subject: |
|
|
a volte capita che alcuni pacchetti, diano errore in compilazione con distcc... E' una cosa che capita o se si verifica vuol dire che ci sono dei problemi con la configurazione del distcc? _________________ ..:[DiGu]:. |
|
Back to top |
|
|
Ic3M4n Advocate
Joined: 02 Nov 2004 Posts: 3489 Location: Bergamo.
|
Posted: Fri May 26, 2006 7:10 pm Post subject: |
|
|
può capitare... calcola che i pacchetti che non si possono compilare con distcc perchè causano errori hanno gli ebuild che filtrano l'opzione -jX e la mettono a -j1. purtroppo a volte capita che altri, in specifiche versioni non compilino per errori diciamo a random. ho fatto un po' di prove quando me ne è capitato uno e semplicemente modificando i parametri di distcc (diminuendo il numero di processi simultanei) sia riuscito a portare a termine la compilazione del pacchetto in questione. purtroppo in casi de genere non c'è molto da fare. |
|
Back to top |
|
|
digu Apprentice
Joined: 26 Feb 2006 Posts: 201 Location: Verona
|
Posted: Fri May 26, 2006 10:40 pm Post subject: |
|
|
ad esempio a me e' capitato con kicker, kghostview, khotkey,... forse avevo messo un numero troppo elevato nell'opzione "-j" _________________ ..:[DiGu]:. |
|
Back to top |
|
|
|