| View previous topic :: View next topic |
| Author |
Message |
UnoSD Apprentice

Joined: 27 Jun 2011 Posts: 228
|
Posted: Wed Jun 29, 2011 7:25 pm Post subject: [RISOLTO] Compilazione distribuita con distcc impossibile |
|
|
Salve a tutti,
sto impazzendo da giorni ormai, cercando di far funzionare questo maledetto distcc per far compilare i sorgenti del mio portatile (un Pentium 4 (Nqualcosa, comunque vecchio) 1.6) al Athlon X4 e il Core 2 due che ho a casa) ma la cosa sembra essere irraggiungibile...
Oltre alle influenze astrali che vogliono a tutti i costi che non ci riesca, cosa può esserci che non va? Ho seguito pedissequamente la guida di Gentoo, ho fatto una macchina virtuale con Gentoo apposta per avere sistemi omogenei ma niente...
Qualcuno può aiutarmi in quest'impresa?
Grazie.
Last edited by UnoSD on Tue Jan 10, 2012 10:44 am; edited 1 time in total |
|
| Back to top |
|
 |
fbcyborg Advocate


Joined: 16 Oct 2005 Posts: 3000 Location: ROMA
|
|
| Back to top |
|
 |
UnoSD Apprentice

Joined: 27 Jun 2011 Posts: 228
|
Posted: Wed Jun 29, 2011 10:44 pm Post subject: |
|
|
| Grazie mille, ora leggo la discussione e poi ti faccio sapere se ci sono riuscito! |
|
| Back to top |
|
 |
ago Developer


Joined: 01 Mar 2008 Posts: 1415 Location: Cosenza, Italy
|
|
| Back to top |
|
 |
fbcyborg Advocate


Joined: 16 Oct 2005 Posts: 3000 Location: ROMA
|
|
| Back to top |
|
 |
canduc17 l33t


Joined: 11 Oct 2005 Posts: 795 Location: Ferrara, Italy
|
Posted: Thu Jun 30, 2011 12:03 pm Post subject: |
|
|
Concordo con ago.
Anche io a suo tempo mi ci scornai: http://forums.gentoo.org/viewtopic-t-790570.html. _________________ A cow enters a supermarket, does an handstand and dies. (Public toilet graffito) |
|
| Back to top |
|
 |
fbcyborg Advocate


Joined: 16 Oct 2005 Posts: 3000 Location: ROMA
|
|
| Back to top |
|
 |
djinnZ Advocate


Joined: 02 Nov 2006 Posts: 4526 Location: not so far from an evil, world famous volcano. Under dictatorship, property of banks...
|
Posted: Thu Jun 30, 2011 12:30 pm Post subject: |
|
|
Prima cosa distcc se non ricordo male non si comporta molto bene su un parco macchine eterogeneo in termini di prestazioni.
Usare un chroot e trasportare i binari è facile ma la compilazione non è così performante come si crede (e non sempre funziona) tra processori diversi. In particolare ho compilato in chroot da athlon x4 per amd64 e per p4 (a 32bit) lo stesso identico sistema, nel secondo caso credo si sia preso un'oretta in più.
Pari prestazioni rispetto alla macchina più potente le otterresti solo con il crossbuild in chroot, ma quanto sia rognoso e quanti espedienti si debbano attuare credo sia ovvio.
Visti i pro ed i contro decidi cosa ti conviene fare.
Il pro fondamentale del chroot è che hai un backup su cui poter completare l'aggiornamento, il contro è che gli aggiornamenti dei pacchetti binari funzioano uno schifo e finisce sempre che devi fare a mano con emerge -1OK
[ot]Un poco perchè è estate, un poco perchè certe sparate degli ultimi tempi mi hanno irritato ed inizio a chiedermi chi me lo fa fare , è tempo di prendermi seriamente una vacanza.[/ot] _________________ verba et risus abundat in orae stultorum sed etiam semper severi insani sunt
mala tempora currunt... mater stultorum semper pregna est
Murpy'sLaw: If anything can go wrong, it will - O'Toole's Corollary: Murphy was an optimist |
|
| Back to top |
|
 |
ago Developer


Joined: 01 Mar 2008 Posts: 1415 Location: Cosenza, Italy
|
Posted: Thu Jun 30, 2011 3:05 pm Post subject: |
|
|
Io in tutto ciò lascio a compilare la notte anche su macchine datate inutile complicarsi la vita con distcc chroot e altro  _________________ Contattami se vuoi contribuire in:
-Arch tester
-Chromium tester
-Traduzione doc. it
-Security |
|
| Back to top |
|
 |
UnoSD Apprentice

Joined: 27 Jun 2011 Posts: 228
|
Posted: Fri Jul 01, 2011 12:37 pm Post subject: |
|
|
| Appena ho un po' di tempo provo a seguire la discussione di fbcyborg e vi faccio sapere! |
|
| Back to top |
|
 |
UnoSD Apprentice

Joined: 27 Jun 2011 Posts: 228
|
Posted: Sat Jan 07, 2012 12:41 pm Post subject: |
|
|
Ripropongo la stessa richiesta di allora...
È ancora pressoché impossibile far funzionare distcc! Vi prego aiutatemi, il portatile ci mette 2 giorni a compilare chromium! Non lo aggiornerò mai così!
(o magari qualcuno mi spiega come compilare i pacchetti da un pc ed emergerli da un altro? (precisazione: sono di due architetture diverse: i686 - x86_64))
Ho persino provato il chroot da ssh ma non funziona... L'hd del portatile è ide pata ma ha un attacco strano di cui non ho l'adattatore e quindi niente chroot normale...
Sono disperato! |
|
| Back to top |
|
 |
djinnZ Advocate


Joined: 02 Nov 2006 Posts: 4526 Location: not so far from an evil, world famous volcano. Under dictatorship, property of banks...
|
Posted: Sat Jan 07, 2012 1:01 pm Post subject: |
|
|
Da x86 ad amd64 è teoricamente possibile ma ti dico già di lasciar perdere, l'inverso è molto semplice.
Se il portatile è un compaq od un hp (mi ricordo di quelli) non è che ha un attacco strano, solo è stato applicato un ulteriore connettore sul 50 pin pata standard (nel caso che ricordo io il disco si estrae ruotandolo come se fosse uno sportello). Basta sfilarlo (con la dovuta cautela) per collegarlo ad un nomale cavetto adattatore usb.
Il metodo che uso io è abbastanza brutale (e poco consono alla mia scarsa propensione alle soluzioni approssimative) ma, tutto sommato, non ho un parco macchine molto eterogeneo.
Compilare direttamente -march=athlon a 32 bit in chroot invece che usare il crossbuild (sempre in chroot) dal sistema 64 bit -march=amdfam10 è più lento ma non tanto da spingermi a completare.
Compilo sul chroot, lancio etc-update, lancio quickpkg e reinstallo via nfs (alle volte con --root altre volte direttamente dal sistema in uso, secondo quel che mi gira) ma è banale usare apache (che sono troppo pigro per configurare, questo è tutto).
Dato che sono sempre adirato per i trascorsi e che comunque lo ho già ripetuto più di una volta non aggiungo altro. Al massimo se riporti l'errore specifico posso dirti dove sbagli.
In linea di massima con | /etc/make.conf: | | PKGDIR=${BASE_PORTDIR}/pkg/packages/${HOSTNAME} | su entrambe le macchine (nella conf del chroot non in quella del sistema host) e detta directory condivisa via nfs (ma samba non comporta particolari problemi) mi basta | su macchina di compilazione (nel chroot) wrote: | emerge qualcosa
etc-update
vi UnQualcheFileDiConfigurazione
quickpkg ----include-config=y --include-unmodified-config=y qualcosa |
| su macchina di destinazione wrote: | | emerge [-1] -K qualcosa | tutto qui. _________________ verba et risus abundat in orae stultorum sed etiam semper severi insani sunt
mala tempora currunt... mater stultorum semper pregna est
Murpy'sLaw: If anything can go wrong, it will - O'Toole's Corollary: Murphy was an optimist
Last edited by djinnZ on Sat Jan 07, 2012 1:14 pm; edited 1 time in total |
|
| Back to top |
|
 |
UnoSD Apprentice

Joined: 27 Jun 2011 Posts: 228
|
Posted: Sat Jan 07, 2012 1:11 pm Post subject: |
|
|
| Quote: | | Da x86 ad amd64 è teoricamente possibile ma ti dico già di lasciar perdere, l'inverso è molto semplice. |
Si, io devo compilare da un Athlon 640 X4 con Gentoo 64bit per il portatilino con P4 single core 1.6 con 512 di ram ddr!
| Quote: | | Se il portatile è un compaq od un hp (mi ricordo di quelli) non è che ha un attacco strano, solo è stato applicato un ulteriore connettore sul 50 pin pata standard (nel caso che ricordo io il disco si estrae ruotandolo come se fosse uno sportello). Basta sfilarlo (con la dovuta cautela) per collegarlo ad un nomale cavetto adattatore usb. |
L'avevo immaginato! Però mi scocciavo di smontare l'hd dal subchassis solo per scoprire che era inutile! Ora so che sarebbe stato utile!
| Quote: | Il metodo che uso io è abbastanza brutale (e poco consono alla mia scarsa propensione alle soluzioni approssimative) ma, tutto sommato, non ho un parco macchine molto eterogeneo.
Compilare direttamente -march=athlon a 32 bit in chroot invece che usare il crossbuild (sempre in chroot) dal sistema 64 bit -march=amdfam10 è più lento ma non tanto da spingermi a completare.
Compilo sul chroot, lancio etc-update, lancio quickpkg e reinstallo via nfs (alle volte con --root altre volte direttamente dal sistema in uso, secondo quel che mi gira) ma è banale usare apache (che sono troppo pigro per configurare, questo è tutto). |
Condivido con te la scarsa propensione alle soluzioni approssimative! Poi è un portatile talmente vecchio e lento che quanto più ottimizzo, tanto meglio è...
| Quote: | | Dato che sono sempre adirato per i trascorsi e che comunque lo ho già ripetuto più di una volta non aggiungo altro. Al massimo se riporti l'errore specifico posso dirti dove sbagli. |
Condivido anche la frustrazione per distcc... Sono secoli che cerco di farlo funzionare... Comunque ho seguito pedissequamente la documentazione ufficiale, ma alla fine mi sembra che non dia nemmeno errore e dica solo "running locally instead" (ora non posso vederlo perché sto usando una distribuzione live per fare il backup dell'intero sistema su usb e portarlo sul fisso per compilare in chroot, ma dopo sarò sicuramente più preciso....)
Ho provato anche con la guida nella wiki di distcc via SSH ma niente... Se provo a fare anche un semplice distcc g++ hello.cc e controllo tramite distccmon-text mi dice "localhost[0]"... |
|
| Back to top |
|
 |
djinnZ Advocate


Joined: 02 Nov 2006 Posts: 4526 Location: not so far from an evil, world famous volcano. Under dictatorship, property of banks...
|
Posted: Sat Jan 07, 2012 1:22 pm Post subject: |
|
|
Mi ero perso un pezzo, rileggi.
Ripeto: la soluzione più rigorosa e performante è impostare sul "server" un chroot e compilare in crossbuild (ma la differenza la vedi solo quando compili l'intero gnome/kde o mattoni in stile mozilla & office), configurare un mirror rsync su detto server ed apache (od ftp) per esportare il contenuto di PKGDIR, imposte PORTAGE_BINHOST ed usare emerge con -G invece di -K.
Ma quella approssimativa non fa grande differenza.
Entrambe sono più veloci ed affidabili di distcc. (ed hai sempre una copia di riserva)
Attenzione -k e -K (come -g e -G) non sono la stessa cosa.
I trascorsi non sono riferiti a distcc per quello ho visto che era complicato, ho visto che non mi risolveva il problema dell'aggiornamento e quindi ho optato per i chroot, anche per la stessa macchina che compila per le altre. _________________ verba et risus abundat in orae stultorum sed etiam semper severi insani sunt
mala tempora currunt... mater stultorum semper pregna est
Murpy'sLaw: If anything can go wrong, it will - O'Toole's Corollary: Murphy was an optimist
Last edited by djinnZ on Sat Jan 07, 2012 1:33 pm; edited 1 time in total |
|
| Back to top |
|
 |
UnoSD Apprentice

Joined: 27 Jun 2011 Posts: 228
|
Posted: Sat Jan 07, 2012 1:26 pm Post subject: |
|
|
Mi sono un attimo perso...
Che intendi per impostare sul "server" un chroot?
Fare chroot tramite rete dal pc prestante dal pc lento? (Anche se poi non capirei perché compilare in crossbuild se usa direttamente il compilatore i686)
Credo più semplicemente di essere un po' ignorante in questo specifico ambito e di non aver capito niente! |
|
| Back to top |
|
 |
djinnZ Advocate


Joined: 02 Nov 2006 Posts: 4526 Location: not so far from an evil, world famous volcano. Under dictatorship, property of banks...
|
Posted: Sat Jan 07, 2012 1:38 pm Post subject: |
|
|
Sul server crei una dir /mnt/qualcosa e ci installi una copia diversa di gentoo, con altra ottimizzazione ed architettura.
Lavoro sul server, direttamente (in realtà via ssh ma è la stessa cosa), chroot /mnt/qualcosa ed aggiorno/installo/pasticcio. Quando ho finito vado sul computer di destinazione e lancio emerge con -K.
Non è il massimo ma è pratica e semplice da attuare. _________________ verba et risus abundat in orae stultorum sed etiam semper severi insani sunt
mala tempora currunt... mater stultorum semper pregna est
Murpy'sLaw: If anything can go wrong, it will - O'Toole's Corollary: Murphy was an optimist |
|
| Back to top |
|
 |
UnoSD Apprentice

Joined: 27 Jun 2011 Posts: 228
|
Posted: Sat Jan 07, 2012 1:48 pm Post subject: |
|
|
Ah, ok! Ora è tutto chiaro!
In effetti penso che sfrutterò il fatto che sto già copiando l'intero sistema del portatile sulla penna usb per fare questa cosa!
Quindi, riassumendo:
Finisco di comprimere e copiare sulla penna il sistema
Lo decomprimo sul computer principale e veloce e me lo tengo caro in una cartella
Tramite chroot nella suddetta cartella faccio emergere ciò che devo emergere
Completata la compilazione uso quickpkg per fare un pacchetto con i binari appena emersi (non so come si fa ma leggerò la graziosa man page)
Porto il pacchetto sul portatile e tramite emerge -K aggiorno anche il portatile
Giusto?
(Grazie mille per la pazienza comunque) |
|
| Back to top |
|
 |
djinnZ Advocate


Joined: 02 Nov 2006 Posts: 4526 Location: not so far from an evil, world famous volcano. Under dictatorship, property of banks...
|
Posted: Sat Jan 07, 2012 2:13 pm Post subject: |
|
|
giusto.
Quickpkg lo devi usare come ho indicato (le opzioni servono per copiare nel pacchetto anche i file di configurazione, se modificati dopo aver compilato, e non sono nella pagina man), in alternativa puoi anche usare direttamente emerge -b sul chroot e poi rivedi la configurazione sul portatile.
Questione di gusti (ma sul fisso non dimenticare di aggiornare le conf, comunque).
Una ulteriore alternativa è montare via nfs l'intera root del portatile sul fisso su /mnt/gentoo, poi, dalla shell del fisso, monti tmpfs su /var/tmp/portage e lanci il chroot /mnt/gentoo. Senza pacchetti binari.
Usi la cpu e la ram del fisso ma lavori direttamente sul disco via nfs, decisamente più lento, comunque è un approccio valido (solo se compili in ram).
Basta non intestardirsi alla prima opzione.
Se decidi di fare la prova riporta i risultati, è da parecchio che non mi ci applico al chroot diretto quindi non so quale possa essere la differenza in termini di tempo macchina.
Inutile (si fa per dire) sottolineare che l'export nfs è meglio farlo da una live se vuoi usare il chroot "diretto". Non so se è elencatyo tra i metodi installazione alternativi o meno. _________________ verba et risus abundat in orae stultorum sed etiam semper severi insani sunt
mala tempora currunt... mater stultorum semper pregna est
Murpy'sLaw: If anything can go wrong, it will - O'Toole's Corollary: Murphy was an optimist |
|
| Back to top |
|
 |
UnoSD Apprentice

Joined: 27 Jun 2011 Posts: 228
|
Posted: Sat Jan 07, 2012 2:43 pm Post subject: |
|
|
| Non ho proprio il supporto per nfs (in quanto preferisco ssh) quindi l'altra opzione non la posso provare! Appena finisce di copiare il sistema sulla penna provo e scrivo com'è andata! |
|
| Back to top |
|
 |
Onip Advocate


Joined: 02 Sep 2004 Posts: 2861 Location: Parma (Italy)
|
Posted: Sat Jan 07, 2012 3:14 pm Post subject: |
|
|
puoi vedere se questa guida è ancora attuabile e funzionale a quello che ti serve. _________________ Linux Registered User n. 373835
Titus Lucretius Carus, De Rerum Natura - Tantum religio potuit suadere malorum |
|
| Back to top |
|
 |
UnoSD Apprentice

Joined: 27 Jun 2011 Posts: 228
|
Posted: Sat Jan 07, 2012 3:23 pm Post subject: |
|
|
| Onip wrote: | | puoi vedere se questa guida è ancora attuabile e funzionale a quello che ti serve. |
Come ho già scritto, non uso nfs quindi non è applicabile. |
|
| Back to top |
|
 |
UnoSD Apprentice

Joined: 27 Jun 2011 Posts: 228
|
Posted: Sat Jan 07, 2012 4:22 pm Post subject: |
|
|
| Domanda: mi conviene mettere la USE flag "custom-cflags" globale? Dovrebbe compilarmi tutto con le ottimizzazioni (per il portatile lento), c'è qualche controindicazione? |
|
| Back to top |
|
 |
Onip Advocate


Joined: 02 Sep 2004 Posts: 2861 Location: Parma (Italy)
|
Posted: Sat Jan 07, 2012 4:51 pm Post subject: |
|
|
mettere una use come globale non significa che verrà applicata indistintamente ad ogni pacchetto. Solamente i pacchetti che la utilizzano avranno qualche cambiamento.
Inoltre questa USE in particolare è spesso fornita dagli sviluppatori gentoo ma non supportata, quindi potresti trovarti di fronte a più grane che benefici. _________________ Linux Registered User n. 373835
Titus Lucretius Carus, De Rerum Natura - Tantum religio potuit suadere malorum |
|
| Back to top |
|
 |
UnoSD Apprentice

Joined: 27 Jun 2011 Posts: 228
|
Posted: Sat Jan 07, 2012 4:54 pm Post subject: |
|
|
| Code: | | mettere una use come globale non significa che verrà applicata indistintamente ad ogni pacchetto. Solamente i pacchetti che la utilizzano avranno qualche cambiamento. |
Lo so bene questo, mi domandavo solo se, secondo voi, ne valesse la pena per velocizzare questo mio vecchio computer. (Considerando che Firefox e Chromium e Libreoffice la hanno e sono i programmi che utilizzano più risorse) |
|
| Back to top |
|
 |
UnoSD Apprentice

Joined: 27 Jun 2011 Posts: 228
|
Posted: Sat Jan 07, 2012 11:19 pm Post subject: |
|
|
Compilati in chroot, pacchettizzati con quickpkg, copiati tramite ssh e installati con emerge -K!
Grazie mille djinnZ!
Se qualcuno comunque fosse in grado di aiutarmi con distcc, la discussione resta aperta! Resta comunque una curiosità e una questione di principio tra me e quel maledetto software! |
|
| Back to top |
|
 |
|