[Risolto] Errore: La dipendenza non può essere soddisfatta
- kRel
- Scoppiettante Seguace

- Messaggi: 355
- Iscrizione: giovedì 16 aprile 2009, 22:59
- Desktop: ubuntu
- Distribuzione: Ubuntu 12.04.1 LTS Unity i686
- Località: Roma
[Risolto] Errore: La dipendenza non può essere soddisfatta
Una volta per tutte...
Per la propria distribuzione, che magari non è l'ultima della serie, (questo è tipico nelle LTS), può accadere che il repository per una o più applicazioni non venga aggiornato. Di conseguenza ci si ritrova con una versione vecchia di 4-5 release (e oltre).
A volte quando si tenta di installare direttamente pacchetti .deb per ovviare all'inconveniente, può accadere di ricevere la risposta "Errore: La dipendenza non può essere soddisfatta: xxxxxxxx-xxxxxxxx1.12.3 (>= 1.12.3-1)"
Credo di capire che il pacchetto da installare richieda una versione uguale o superiore di una determinata libreria, mentre noi disponiamo di una più vecchia o non ne disponiamo affatto.
Ma qui nascono due domande:
la prima: in genere i pacchetti .deb non contengono all'interno tutti i fine necessari?
a volte la libreria richiesta è già nel sistema e la versione è compatibile. Come mai non viene rilevata dall'installazione?
Grazie.
Per la propria distribuzione, che magari non è l'ultima della serie, (questo è tipico nelle LTS), può accadere che il repository per una o più applicazioni non venga aggiornato. Di conseguenza ci si ritrova con una versione vecchia di 4-5 release (e oltre).
A volte quando si tenta di installare direttamente pacchetti .deb per ovviare all'inconveniente, può accadere di ricevere la risposta "Errore: La dipendenza non può essere soddisfatta: xxxxxxxx-xxxxxxxx1.12.3 (>= 1.12.3-1)"
Credo di capire che il pacchetto da installare richieda una versione uguale o superiore di una determinata libreria, mentre noi disponiamo di una più vecchia o non ne disponiamo affatto.
Ma qui nascono due domande:
la prima: in genere i pacchetti .deb non contengono all'interno tutti i fine necessari?
a volte la libreria richiesta è già nel sistema e la versione è compatibile. Come mai non viene rilevata dall'installazione?
Grazie.
Ultima modifica di kRel il giovedì 20 gennaio 2011, 23:59, modificato 1 volta in totale.
a ciascuno il suo . . .
ubuntu 12.04 unity - 32 bit
ubuntu 12.04 unity - 32 bit
- vaillant
- Rampante Reduce

- Messaggi: 8319
- Iscrizione: domenica 15 marzo 2009, 9:54
- Distribuzione: Ubuntu Server 20.04 LTS
- Sesso: Maschile
- Località: Modica
Re: Errore: La dipendenza non può essere soddisfatta
Ciao.
Prima di tutto, apri un terminale e digita
che ti risolve eventuali dipendenze non soddisfatte, poi riprova ad installare il pacchetto.
I pacchetti deb contengono i file necessari al funzionamento del programma che vai ad installare e (tra le altre cose) i nomi dei pacchetti necessari allo stesso funzionamento (c.d. dipendenze). E' chiaro che se tenti di installare il software A, che ha come dipendenza il software B versione 1.12.3 e nei repo è presente al massimo la versione 1.12.2, ti genererà errrore.kRel ha scritto: la prima: in genere i pacchetti .deb non contengono all'interno tutti i fine necessari?
Prima di tutto, apri un terminale e digita
Codice: Seleziona tutto
sudo apt-get install -fSe installi da riga di comando il file deb (sudo dpkg -i ...) le dipendenze non vengono risolte, vale il comando che ti ho indicato prima...kRel ha scritto: a volte la libreria richiesta è già nel sistema e la versione è compatibile. Come mai non viene rilevata dall'installazione?
- kRel
- Scoppiettante Seguace

- Messaggi: 355
- Iscrizione: giovedì 16 aprile 2009, 22:59
- Desktop: ubuntu
- Distribuzione: Ubuntu 12.04.1 LTS Unity i686
- Località: Roma
Re: Errore: La dipendenza non può essere soddisfatta
eseguo come dici sudo apt-get install -f nomepacchetto (dopo essermi spostato nella directory che lo contiene) ed ho un errore curioso:vaillant ha scritto: Prima di tutto, apri un terminale e digitache ti risolve eventuali dipendenze non soddisfatte, poi riprova ad installare il pacchetto.Codice: Seleziona tutto
sudo apt-get install -f
Codice: Seleziona tutto
sudo apt-get install -f nomepacchetto
Lettura elenco dei pacchetti... Fatto
Generazione albero delle dipendenze
Lettura informazioni sullo stato... Fatto
E: Impossibile trovare il pacchetto nomepacchetto
Ovvio ! Tuttavia essendo ancora inesperto, mi sono sempre accontentato di installare i pacchetti, con il semplice click sul "cubetto". ed ha sempre funzionato. In questo caso manca una libreria:vaillant ha scritto: Se installi da riga di comando il file deb (sudo dpkg -i ...) le dipendenze non vengono risolte, vale il comando che ti ho indicato prima...
Codice: Seleziona tutto
Errore: La dipendenza non può essere soddisfatta: xxxxxxxx-xxxxxxxx1.12.3 (>= 1.12.3-1)Ciao, grazie.
a ciascuno il suo . . .
ubuntu 12.04 unity - 32 bit
ubuntu 12.04 unity - 32 bit
- vaillant
- Rampante Reduce

- Messaggi: 8319
- Iscrizione: domenica 15 marzo 2009, 9:54
- Distribuzione: Ubuntu Server 20.04 LTS
- Sesso: Maschile
- Località: Modica
Re: Errore: La dipendenza non può essere soddisfatta
Che rilascio di ubuntu stai usando? Lucid 10.04? Intanto qui c'è un errore
la "-f" sta per "fix missing", non devi specificare alcun pacchetto.
In secondo luogo, giusto per nozioni teoriche, al posto di "nomepacchetto" ci va messo il suo nome reale...
io ti ho detto di digitare soloeseguo come dici sudo apt-get install -f nomepacchetto (dopo essermi spostato nella directory che lo contiene) ed ho un errore curioso:
Codice: Seleziona tutto
sudo apt-get install -f nomepacchetto Lettura elenco dei pacchetti... Fatto Generazione albero delle dipendenze Lettura informazioni sullo stato... Fatto E: Impossibile trovare il pacchetto nomepacchetto
Codice: Seleziona tutto
sudo apt-get install -fIn secondo luogo, giusto per nozioni teoriche, al posto di "nomepacchetto" ci va messo il suo nome reale...
- kRel
- Scoppiettante Seguace

- Messaggi: 355
- Iscrizione: giovedì 16 aprile 2009, 22:59
- Desktop: ubuntu
- Distribuzione: Ubuntu 12.04.1 LTS Unity i686
- Località: Roma
Re: Errore: La dipendenza non può essere soddisfatta
La 10.04 aggiornata.
Avevo dato il comando sudo apt-get install -f e ho avuto come risposta:
quindi ho provato ad installare il pacchetto.deb ma ho ricevuto ancora l'errore. Per questo motivo ho provato con la sintassi (errata): sudo apt-get install -f nomepacchetto.deb (dove per "nomepacchetto" c'è il nome reale del pacchetto e la sua estensione .deb)
E quegli 11 non aggiornati che sono ? come si aggiornano ?
[AGGIUNTA SUCCESSIVA]
Sono andato in Ubuntu tweak > Gestore aggiornamenti ed ho visto quei famosi 11 pacchetti da installare e li ho installati.
Resta da capire perché con sudo apt-get install -f non riuscivo ad aggiornare.
In ogni caso i due pacchetti.deb, (interdipendenti e diversi l'uno dall'altro) proprio non si vogliono installare... ho questi 2 errori (1 per pacchetto):
questo errore immagino che voglia dire: hai già una versione (più vecchia). Ma se provo a disinstallare e installare la nuova versione di libqtcore ho un errore.
Ciao
Avevo dato il comando sudo apt-get install -f e ho avuto come risposta:
Codice: Seleziona tutto
krel@AM1-N1:~$ sudo apt-get install -f
[sudo] password for krel:
Lettura elenco dei pacchetti... Fatto
Generazione albero delle dipendenze
Lettura informazioni sullo stato... Fatto
0 aggiornati, 0 installati, 0 da rimuovere e 11 non aggiornati.
krel@AM1-N1:~$ E quegli 11 non aggiornati che sono ? come si aggiornano ?
[AGGIUNTA SUCCESSIVA]
Sono andato in Ubuntu tweak > Gestore aggiornamenti ed ho visto quei famosi 11 pacchetti da installare e li ho installati.
Resta da capire perché con sudo apt-get install -f non riuscivo ad aggiornare.
In ogni caso i due pacchetti.deb, (interdipendenti e diversi l'uno dall'altro) proprio non si vogliono installare... ho questi 2 errori (1 per pacchetto):
Codice: Seleziona tutto
Errore: Breaks existing package 'libqt4-scripttools' dependency libqtcore4 (= 4:4.6.2-0ubuntu5.1)Codice: Seleziona tutto
Errore: La dipendenza non può essere soddisfatta: libboost-filesystem1.42.0 (>= 1.42.0-1)
Ultima modifica di kRel il giovedì 20 gennaio 2011, 15:44, modificato 1 volta in totale.
a ciascuno il suo . . .
ubuntu 12.04 unity - 32 bit
ubuntu 12.04 unity - 32 bit
- vaillant
- Rampante Reduce

- Messaggi: 8319
- Iscrizione: domenica 15 marzo 2009, 9:54
- Distribuzione: Ubuntu Server 20.04 LTS
- Sesso: Maschile
- Località: Modica
Re: Errore: La dipendenza non può essere soddisfatta
Di che pacchetti stiamo parlando, e da dove li hai presi?
- kRel
- Scoppiettante Seguace

- Messaggi: 355
- Iscrizione: giovedì 16 aprile 2009, 22:59
- Desktop: ubuntu
- Distribuzione: Ubuntu 12.04.1 LTS Unity i686
- Località: Roma
Re: Errore: La dipendenza non può essere soddisfatta
Non mi interessa il problema nel dettaglio... ma capire in via generale il perché.
Inoltre vorrei sapere perché quegli 11 pacchetti che non si installavano con sudo apt-get install -f mentre con Ubuntu Tweak - gestione aggiornamenti si.
Uno dei due pacchetti richiede una versione più aggiornata di libqtcore4 (io ho libqtcore4 4:4.6.2-1Oubuntu 5.1, mentre ne è richiesta una >= 4:4.7.0~beta1). Analizzando il dettaglio, la disinstallazione si porterebbe appresso un bel pò di sw, quindi a queste condizioni il discorso cade.
L'altra stranezza è quella esposta sotto, anche se a questo punto la richiesta diventa puramente accademica per il motivo appena detto sopra.
Se provo a disinstallare e installare la nuova versione di libqtcore ho un errore.
Inoltre vorrei sapere perché quegli 11 pacchetti che non si installavano con sudo apt-get install -f mentre con Ubuntu Tweak - gestione aggiornamenti si.
Uno dei due pacchetti richiede una versione più aggiornata di libqtcore4 (io ho libqtcore4 4:4.6.2-1Oubuntu 5.1, mentre ne è richiesta una >= 4:4.7.0~beta1). Analizzando il dettaglio, la disinstallazione si porterebbe appresso un bel pò di sw, quindi a queste condizioni il discorso cade.
L'altra stranezza è quella esposta sotto, anche se a questo punto la richiesta diventa puramente accademica per il motivo appena detto sopra.
Codice: Seleziona tutto
Errore: Breaks existing package 'libqt4-scripttools' dependency libqtcore4 (= 4:4.6.2-0ubuntu5.1)Codice: Seleziona tutto
Errore: La dipendenza non può essere soddisfatta: libboost-filesystem1.42.0 (>= 1.42.0-1)
Ultima modifica di kRel il giovedì 20 gennaio 2011, 19:43, modificato 1 volta in totale.
a ciascuno il suo . . .
ubuntu 12.04 unity - 32 bit
ubuntu 12.04 unity - 32 bit
- Duma
- Scoppiettante Seguace

- Messaggi: 375
- Iscrizione: mercoledì 12 gennaio 2011, 19:55
- Località: Rivalta di Torino
- Contatti:
Re: Errore: La dipendenza non può essere soddisfatta
La sparo perché non sono sicuro: ubuntu Tweaks usa dist-upgrade come comando, mentre sudo apt-get install -f aggiorna con upgrade?kRel ha scritto:Inoltre vorrei sapere perché quegli 11 pacchetti che non si installavano con sudo apt-get install -f mentre con Ubuntu Tweak - gestione aggiornamenti si.
Pimpaggi e Tweaks disponibili su Pimp my Linux, vieni a darci un'occhiata!
- Mdfalcubo
- Moderatore Globale

- Messaggi: 20420
- Iscrizione: venerdì 26 dicembre 2008, 11:17
- Desktop: Solo XFCE
- Distribuzione: Xubuntu 64 bit
- Sesso: Maschile
Re: Errore: La dipendenza non può essere soddisfatta
Vaillant te l'ha spiegato molto bene. Il comando sudo apt-get install -f non serve a installare gli aggiornamenti, ma a risolvere eventuali problemi di dipendenze. Per verificare gli aggiornamenti il comando è sudo apt-get upgrade... Se lo facevi da terminale ottenevi lo stesso risultato che hai ottentuo con Ubuntu Tweak, cioè verificavi gli aggiornamenti e POI col comando install li installavi...
"Il genere umano è stimolante, è la gente che non sopporto,, (Linus - Peanuts)
- vaillant
- Rampante Reduce

- Messaggi: 8319
- Iscrizione: domenica 15 marzo 2009, 9:54
- Distribuzione: Ubuntu Server 20.04 LTS
- Sesso: Maschile
- Località: Modica
Re: Errore: La dipendenza non può essere soddisfatta
Come ho detto prima, se stai tentando di installare un software che richiede una dipendenza che Lucid non può soddisfare, hai due opzioni:kRel ha scritto: Uno dei due pacchetti richiede una versione più aggiornata di libqtcore4 (io ho libqtcore4 4:4.6.2-1Oubuntu 5.1, mentre ne è richiesta una >= 4:4.7.0~beta1). Analizzando il dettaglio, la disinstallazione si porterebbe appresso un bel pò di sw, quindi a queste condizioni il discorso cade.
1) ti scarichi le varie dipendenze dai rilasci successivi o da debian testing (cosa parecchio sconsigliata a mio modo di vedere);
2) lasci perdere quel pacchetto o ne cerchi una versione meno recente che puoi installare su lucid;
No, cito dal manualeDuma ha scritto: La sparo perché non sono sicuro: ubuntu Tweaks usa dist-upgrade come comando, mentre sudo apt-get install -f aggiorna con upgrade?
l'opzione "-f" non serve ad aggiornare, ma a risolvere le dipendenze qualora queste non siano già risolte dal programma di installazione!-f
Fix; attempt to correct a system with broken dependencies in place.
This option, when used with install/remove, can omit any packages
to permit APT to deduce a likely solution. If packages are
specified, these have to completely correct the problem. The option
is sometimes necessary when running APT for the first time; APT
itself does not allow broken package dependencies to exist on a
system. It is possible that a system's dependency structure can be
so corrupt as to require manual intervention (which usually means
using dselect(1) or dpkg --remove to eliminate some of the
offending packages). Use of this option together with -m may
produce an error in some situations. Configuration Item:
APT::Get::Fix-Broken
- Mdfalcubo
- Moderatore Globale

- Messaggi: 20420
- Iscrizione: venerdì 26 dicembre 2008, 11:17
- Desktop: Solo XFCE
- Distribuzione: Xubuntu 64 bit
- Sesso: Maschile
Re: Errore: La dipendenza non può essere soddisfatta
C'è una terza opzione: cercare in rete e, se le trovi, scaricare le singole dipendenze. A me è successo un paio di volte, per fortuna le ho trovate e ho risolto il mio problema (hardware).
"Il genere umano è stimolante, è la gente che non sopporto,, (Linus - Peanuts)
- vaillant
- Rampante Reduce

- Messaggi: 8319
- Iscrizione: domenica 15 marzo 2009, 9:54
- Distribuzione: Ubuntu Server 20.04 LTS
- Sesso: Maschile
- Località: Modica
Re: Errore: La dipendenza non può essere soddisfatta
Intendevo questo al punto 1). A meno di compilarsi i sorgenti, quelle dipendenze vanno cercato nei repo di qualche distribuzione, appunto con pacchetti superiori a quelli presenti in lucid (che sono gli stessi di debian stable)...Mdfalcubo ha scritto: C'è una terza opzione: cercare in rete e, se le trovi, scaricare le singole dipendenze.
Re: Errore: La dipendenza non può essere soddisfatta
ciao a tutti.
Scusate se mi inserisco: tempo fa dovevo installare qualcosa (ora non ricordo) che mi causava un errore di dipendenza e che, purtroppo, non era disponibile in versione precedente/compatibile col mio sistema... così dopo (lunga) ricerca e tanti esperimenti (...) mi sono imbattuto (non è farina del mio sacco... ci tengo a precisarlo
) in questo piccolo script che in sostanza permette di modificare il file control in modo da "taroccare" le dipendenze richieste.
Funzionò.
Ora... è ovvio che la cosa va usata con prudenza e, soprattutto, che 80/90 volte su 100 non risolverà il problema (...se è richiesta una certa libreria è ovvio che ci sarà un perchè...) ma tentar non nuoce!. Io lo posto.. poi vedete voi:
'notte...
Scusate se mi inserisco: tempo fa dovevo installare qualcosa (ora non ricordo) che mi causava un errore di dipendenza e che, purtroppo, non era disponibile in versione precedente/compatibile col mio sistema... così dopo (lunga) ricerca e tanti esperimenti (...) mi sono imbattuto (non è farina del mio sacco... ci tengo a precisarlo
Funzionò.
Ora... è ovvio che la cosa va usata con prudenza e, soprattutto, che 80/90 volte su 100 non risolverà il problema (...se è richiesta una certa libreria è ovvio che ci sarà un perchè...) ma tentar non nuoce!. Io lo posto.. poi vedete voi:
Codice: Seleziona tutto
#!/bin/bash
EDITOR=gedit
if [[ -z "$1" ]]; then
echo "Syntax: $0 debfile"
exit 1
fi
DEBFILE="$1"
TMPDIR=`mktemp -d /tmp/deb.XXXXXXXXXX` || exit 1
OUTPUT=`basename "$DEBFILE" .deb`.modfied.deb
if [[ -e "$OUTPUT" ]]; then
echo "$OUTPUT exists."
rm -r "$TMPDIR"
exit 1
fi
dpkg-deb -x "$DEBFILE" "$TMPDIR"
dpkg-deb --control "$DEBFILE" "$TMPDIR"/DEBIAN
if [[ ! -e "$TMPDIR"/DEBIAN/control ]]; then
echo DEBIAN/control not found.
rm -r "$TMPDIR"
exit 1
fi
CONTROL="$TMPDIR"/DEBIAN/control
MOD=`stat -c "%y" "$CONTROL"`
$EDITOR "$CONTROL"
if [[ "$MOD" == `stat -c "%y" "$CONTROL"` ]]; then
echo Not modfied.
else
echo Building new deb...
dpkg -b "$TMPDIR" "$OUTPUT"
fi
rm -r "$TMPDIR"- kRel
- Scoppiettante Seguace

- Messaggi: 355
- Iscrizione: giovedì 16 aprile 2009, 22:59
- Desktop: ubuntu
- Distribuzione: Ubuntu 12.04.1 LTS Unity i686
- Località: Roma
Re: Errore: La dipendenza non può essere soddisfatta
Mi mando a quel paese da solo . . .Mdfalcubo ha scritto: Vaillant te l'ha spiegato molto bene. Il comando sudo apt-get install -f non serve a installare gli aggiornamenti, ma a risolvere eventuali problemi di dipendenze. Per verificare gli aggiornamenti il comando è sudo apt-get upgrade... Se lo facevi da terminale ottenevi lo stesso risultato che hai ottentuo con Ubuntu Tweak, cioè verificavi gli aggiornamenti e POI col comando install li installavi...
Grazie Mdfalcubo, e anche a Vaillant, era evidente... quello che non conoscevo era l'effetto di apt-get install -f .
La seconda che hai detto . . . Non vale la pena incasinare un sistema che gira come un orologio ! In realtà la versione precedente ce l'ho già . . . quella successiva ha una caratteristica migliorativa che mi interessava, ma a queste condizioni non vale la pena.vaillant ha scritto: Come ho detto prima, se stai tentando di installare un software che richiede una dipendenza che Lucid non può soddisfare, hai due opzioni:
1) ti scarichi le varie dipendenze dai rilasci successivi o da debian testing (cosa parecchio sconsigliata a mio modo di vedere);
2) lasci perdere quel pacchetto o ne cerchi una versione meno recente che puoi installare su lucid;
Vale anche per il consiglio successivo di Mdfalcubo e di gian72. Grazie a tutti. Ciao
Metterei risolto al primo post se siete d'accordo . . .
Ultima modifica di kRel il giovedì 20 gennaio 2011, 23:59, modificato 1 volta in totale.
a ciascuno il suo . . .
ubuntu 12.04 unity - 32 bit
ubuntu 12.04 unity - 32 bit
Chi c’è in linea
Visualizzano questa sezione: 0 utenti iscritti e 7 ospiti