martedì 24 giugno 2008

Gentoo, GNOME e le dipendenze circolari
Che non sono le dipendenze emesse dalla banca!


Ma vediamo un po' cosa sono, quando si rischia di incontrarle e i metodi per risolvere...
Queste righe sono dedicate a Gentoo in particolare, ma le spiegazioni sono valide per qualunque distro in quanto le dipendenze circolari sono una realtà per qualunque sistema, anche per quelli che usano pacchetti precompilati come Ubuntu, Fedora, Arch...

Le dipendenze circolari si verificano quando si cerca di installare due o piu programmi i quali dipendono tra di loro, l'installazione risulta così impossibile in quanto ogni dipendenza risulta irrisolta.
Anche se alcuni ritengono che siano causate da un bug di emerge, la migliore delle ipotesi risulta che sono causate da un'errata configurazione delle flag USE, il problema è risolvibile dai developer dei software, ma non è cosa semplice e sicuramente non vengono reputate problematiche di rilievo in quanto risolvibili in diversi modi.

Il tipico caso in cui si riscontra questo inconveniente è durante l'emerge del meta-pacchetto GNOME, è quindi importante saper risolvere in quanto la compilazione di un DE è fra le piu importanti.

Innanzitutto è importante impostare solo le USE flag di base per emergere GNOME, ovvero:
USE="-doc -qt3 -qt4 -arts -kde X dbus gtk gnome avahi hal"
dbus, hal, e avahi sono richieste per un uso ottimale dello gnomo, quelle relative alle qt e a kde sono ovviamente per evitare di installare componenti di tale DE e -doc serve per non includere la documentazione dei vari pacchetti. Quest'ultima USE è molto importante e degna di attenzione, è sconsigliabile impostarla globalmente senza il trattino perchp può causare diversi problemi. Se è proprio indispensabile ottenere la documentazione di particolari software è possibile nonchè ottimale impostarla per il singolo pacchetto.

Ad ogni modo, il problema è dato da gnome, gtk e gtk+, nonchè, a volte, da cups.

Come risolvere? Sbattendosi un po' e stando attenti... si potrebbe innanzitutto compilare uno alla volta i pacchetti incrimati con le USE adatte; ovviamente questo è possibile solo le si tratta di poca roba, ma nei casi simili a quello dell'immagine (che è solo una parte delle 135 righe di errore) non è assolutamente una soluzione umana (e nemmeno scimmiesca)! È quindi consigliabile impostare una particolare flag prima delle altre:
USE="-* -doc -qt3 -qt4 -arts -kde X dbus gtk gnome avahi hal"
In questo modo si disabiliterà l'uso di tutte le flag USE del profilo, però sarà poi necessario lanciare un bel emerge -NDu world alla fine della compilazione per permettere un ripristino totale... Inoltre è anche consigliabile tornare alle solite USE e mettere a posto tutte le eventuali dipendenze errate:
revdep-rebuild


Credo sia tutto (mi sono dilungato per dire poco, è vero)... Il sottoscritto sconsiglia lunghe compilazioni in questo periodo di caldo tremendo! xD

ciao a tutti!

4 commenti:

Anonimo ha detto...

passo per un saluto ciao piccolo un baciooo grande!!! ciaoooo

Anonimo ha detto...

=(

Unknown ha detto...

ciao bella! perchè quella faccina?

Anonimo ha detto...

che giornata noiosa pesante e piena di tristezza!! ci sono periodi belli ma tanti periodi brutti! si supererò anche questo periodo ho solo 18anni quindi non voglio stare male ma voglio sorridere!!! piccolo ci vediamo sabato ciaooooo