it-swarm.com.de

Abhängigkeitsprobleme bei der Installation von libcups2-dev

Ich verwende Ubuntu 16.04, das von 15.10 aktualisiert wurde (was möglicherweise nicht relevant ist). Ich kann libcups2-dev aufgrund eines Abhängigkeitsproblems nicht installieren. Ich skizziere sowohl das Problem als auch die folgenden Schritte zur Fehlerbehebung:

Mein Problem:

Der folgende Befehl zum Installieren von libcups2-dev (zur Verwendung mit einem Dymo-Drucker) wird mit der folgenden Antwort beantwortet:

~ % 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.

Schritte zur Fehlerbehebung:

"Ah", sagt ich. "Ich frage mich, was gehalten wird?"

~ % Sudo dpkg --get-selections | grep hold
~ %

Nichts wird gehalten oder dieser Befehl ist nicht mehr gültig? Naja. Lass uns auf die Jagd gehen. Wenn libcups2-dev aufgrund von libcupsimage2-dev nicht installiert werden kann, was hält libcupsimage2-dev an?

Ich finde heraus (die Ausgabe wurde der Kürze halber etwas gekürzt):

~ % 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.

Ich folge dann dieser Fragereihe bis zum Ende. libcupsimage2-dev hängt von libtiff-dev ab, das hängt von libjbig-dev ab, das hängt von libjbig0 ab ... und hier finde ich das Problem:

~ % 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.

WIE NEUGIERIG. libjbig-dev benötigt libjbig0 2.1-3.1, was ich HABE, aber die Version, die ich habe, hat ein paar ... Nun, ich weiß nicht, was all das Zeug von + deb.sury.org hinter der Versionsnummer steckt. Aber ihr tut es, richtig?

Machen wir einen Moment lang weiter. Nach dem traditionellen Update von apt-get und dem Upgrade von apt-get ...:

~ % 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 wird gestoppt, weil libjbig-dev als eine seiner Hauptabhängigkeiten libjbig0 2.1-3.1 benötigt. Nur ich habe diese Version von libjbig0, aber es wird nicht als die richtige Version erkannt. Also ... erstens, was passiert und zweitens, wie kann ich das korrigieren? Oh, und drittens, was ist das alles mit + deb.sury.org?

3
dampersand

Es sieht so aus, als ob die Antwort offensichtlicher war, als es sein musste.

Ich habe zu Recht gedacht, dass die Version 'Mismatch' das Problem war. Ich habe apt-get gezwungen, die 'andere' Version 2.1-3.1 von libjbig0 zu installieren:

~ % Sudo apt-get install libjbig0=2.1-3.1

Was funktionierte, aber apt-get veranlasste mich, dass dies ein Downgrade war. Welp. In beiden Fällen wurde das Abhängigkeitsproblem dadurch behoben und ich konnte libcups2-dev erfolgreich installieren.

Ich würde trotzdem gerne wissen, was das ganze + deb-Zeug als Suffix zur Versionsnummer war, wenn jemand von euch gelangweilt ist.

7
dampersand