Cazzantonio Bodhisattva


Joined: 20 Mar 2004 Posts: 4514 Location: Somewere around the world
|
Posted: Sat Nov 19, 2005 6:53 pm Post subject: FG24: Dipendenze circolari e downgrade di pacchetti |
|
|
Navigazione: [ back FG23: C preprocessor "/lib/cpp" fails sanity check ] [ Fondamenti Gentoo ] [ Indice ]
Q: Portage tenta di fare l'upgrade di questo pacchetto, poi ne vuole fare il downgrade, poi di nuovo l'upgrade etc... Cosa causa questo comportamento e come lo fermo?
A: Questo dipende da come portage gestisce le dipendenze. Per esempio quanto viene lanciato
ed è presente un conflitto tra la versione più aggiornata di un pacchetto (calcolata in funzione della variabile ACCEPT_KEYWORDS in make.conf e del contenuto dei vari files in /etc/portage/package.{keywords,mask,unmask}) e un altro pacchetto che dipende da una versione meno aggiornata del precedente, portage non risolve simultaneamente la richesta di upgrade (data da -Du) e la dipendenza dovuta al secondo pacchetto (vedi Bug 13632).
In questo modo se è presente una versione meno recente portage cerca di aggiornarla, mentre se è presente la versione più cercente portage cerca di farne il downgrade.
Ci sono buone possibilità che questo problema sia temporaneo e che venga risolto al prossimo emerge sync, altrimenti lanciando
Code: | emerge -Duptv world |
quando si ha la versione più recente installata, è possibile ricevere informazioni su quale pacchetto dipende dalla versione meno recente.
A questo punto si posono fare diverse cose:
- Mascherare (hard mask) la versione più recente del pacchetto problematico mettendo
Code: | >=category/package-higher_version |
in /etc/portage/package.mask.
Upgradare l'altro pacchetto ad una versione più recente (se tale versione esiste) che non ha la dipendenza dalla versione problematica del pacchetto precedente. Di solito questo consiste nell'installare una versione masked mettendo
Code: | =category/other_package-higher_version ~arch |
in /etc/portage/package.keywords.
Disabilitare una eventuale USE-flag per l'altro pacchetto che causa la dipendenza problematica (se esiste ovviamente) mettendo
Code: | category/other_package -flag |
in /etc/portage/package.use.
Autore: kallamej (testo originale)
Traduttore: Cazzantonio _________________ Any mans death diminishes me, because I am involved in Mankinde; and therefore never send to know for whom the bell tolls; It tolls for thee.
-John Donne |
|