Je suis sur Ubuntu 16.04, mis à jour à partir de 15.10 (ce qui peut ne pas être pertinent). Je ne peux pas installer libcups2-dev en raison d'un problème de dépendance. Je décris à la fois le problème et les étapes de dépannage ci-dessous:
Mon problème:
La commande suivante pour installer libcups2-dev (à utiliser avec une imprimante Dymo) est remplie avec la réponse suivante:
~ % Sudo apt-get install libcups2-dev
Reading package lists... Done
Building dependency tree
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:
The following packages have unmet dependencies:
libcups2-dev : Depends: libcupsimage2-dev (= 2.2.0-2) but it is not going to be installed
E: Unable to correct problems, you have held broken packages.
étapes de dépannage:
"Ah," dit I. "Je me demande ce qui se passe?"
~ % Sudo dpkg --get-selections | grep hold
~ %
Rien n'est retenu ou cette commande n'est plus valide? Tant pis. Allons à la chasse. Si libcups2-dev ne peut pas être installé à cause de libcupsimage2-dev, comment arrêter libcupsimage2-dev?
Je découvre (sortie un peu tronquée par souci de concision):
~ % Sudo apt-get install libcupsimage2-dev
The following packages have unmet dependencies:
libcupsimage2-dev : Depends: libtiff-dev
E: Unable to correct problems, you have held broken packages.
Je suis ensuite cette ligne de questions tout en bas. libcupsimage2-dev dépend de libtiff-dev, qui dépend de libjbig-dev, qui dépend de libjbig0 ... et je trouve ici le problème:
~ % Sudo apt-get install libjbig-dev
The following packages have unmet dependencies:
libjbig-dev : Depends: libjbig0 (= 2.1-3.1) but 2.1-3.1+deb.sury.org~xenial+1 is to be installed
E: Unable to correct problems, you have held broken packages.
COMMENT CURIEUX. libjbig-dev nécessite libjbig0 2.1-3.1, ce que J'AI, mais la version que j'ai a beaucoup de ... eh bien, je ne sais pas ce que tout ça + deb.sury.org est derrière le numéro de version. Mais vous les gars, non?
Continuons un instant. Après la mise à jour traditionnelle apt-get et apt-get upgrade ...:
~ % Sudo apt-get install libjbig0
Reading package lists... Done
Building dependency tree
Reading state information... Done
libjbig0 is already the newest version (2.1-3.1+deb.sury.org~xenial+1).
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
tl; dr
libcups2-dev est arrêté car l'une de ses dépendances majeures, libjbig-dev nécessite libjbig0 2.1-3.1. Seulement, j’ai cette version de libjbig0, mais elle n’est pas reconnue comme étant la version correcte. Alors ... premièrement, que se passe-t-il et deuxièmement, comment puis-je le corriger? Oh, et troisièmement, qu'est-ce que tout ça + deb.sury.org?
On dirait que la réponse était plus évidente que nécessaire.
J'avais raison de penser que le problème était la "non-concordance" de la version. J'ai forcé apt-get à installer 'l'autre' version 2.1-3.1 de libjbig0:
~ % Sudo apt-get install libjbig0=2.1-3.1
Ce qui a fonctionné, mais apt-get m'a fait comprendre qu'il s'agissait d'un déclassement. Welp. Quoi qu'il en soit, cela a résolu le problème de dépendance et j'ai pu installer avec succès libcups2-dev.
J'aimerais toujours savoir ce que sont tous les éléments + deb utilisés comme suffixe du numéro de version, même si l'un de vous s'ennuie.