Abhängigkeits-Problem unter Debian

Hallo community,

ich versuchte folgende lib zu installieren: libgtk2.0-dev und bekomme:

libgtk2.0-dev : Hängt ab von: libpango1.0-dev (\>= 1.20) soll aber nicht installiert werden
 Hängt ab von: libcairo2-dev (\>= 1.6.4-6.1) soll aber nicht installiert werden

Defekte oder veraltete Pakete gibt es keine, habe allgemein keine - nicht aus den Repositories - installierten Pakete, bis auf vlc2.0.3.

In der sources.list habe ich nur einen Eintrag manuell zugefügt, den aber mittlerweile schon wieder entfernt.

Wie bekomme ich das gelöst?

Gruß XXD

Hallo XhoanXoroDaxos,

ich versuchte folgende lib zu installieren: libgtk2.0-dev und
bekomme:

libgtk2.0-dev : Hängt ab von: libpango1.0-dev (>= 1.20) soll
aber nicht installiert werden
Hängt ab von: libcairo2-dev (>= 1.6.4-6.1) soll aber nicht
installiert werden

Du hast deine Paketverwaltung gründlich durcheinander gebracht (durch händisches Installieren mittels dpkg oder apt-get und aptitude durcheinander benutzt, oder was weiss ich …)
Mach mal

aptitude -f install

das sollte Lösungsmöglichkeiten bieten. Oder lass dir erstmal mit

aptitude why-not libgtk2.0-dev

sagen, was aptitude dazu meint.
Sollte alles nichts helfen, dann

aptitude safe-upgrade -f
dpkg --configure -a

und/oder poste mal deine sources.list
Aber für die Zukunft empfehle ich dir dringend, die alleinige Benutzung von aptitude, ob als Kommandozeile, oder komfortabler, graphisch durch aufrufen von nur

aptitude

Das arbeitet präziser und führt genauer Buch als apt-get.
http://wiki.debian.org/Aptitude

Viele Grüße
Marvin

Hi,

dann fügst Du die fehlenden Abhängigkeiten händisch zum Installationsbefehl dazu, solange, bis alles läuft.

apt-get install libgtk2.0-dev libpango1.0-dev libcairo2-dev


Mit der gebotenen Umsicht ist es besser, aptitude zu verwenden. Der Konfliktlösungsalgorithmus von aptitude hat den Hang, umfangreiche Löschungen statt weniger Updates vorzuschlagen, was man aber leicht händisch beheben kann. (Suche nach ~b, alles updatebare updaten, alles nicht abhebbare auf hold.)

Die Datenbanken des apt-Systems werden von allen Benutzerinterfaces gleichgut gepflegt (bzw. über dieselben Bibliotheken angesprochen), da braucht man sich keine Gedanken zu machen, ob apt-get, aptitude, synaptics, kpackage, wajig etc. gemischt werden können.


Prinzipiell solltest Du aber versuchen, auf das gtk3-System umzusteigen.

Gruß, Lutz

Hallo Marvin,

Mach mal

aptitude -f install

Gibt folgendes aus:

Die folgenden Pakete haben verletzte Abhängigkeiten:
 libcairo2-dev: Hängt ab von: libcairo2 (= 1.8.10-6) aber 1.10.2-7~bpo60+1 ist installiert.
 libpixman-1-dev: Hängt ab von: libpixman-1-0 (= 0.16.4-1) aber 0.24.0-1~bpo60+1 ist installiert.
Die folgenden Aktionen werden diese Abhängigkeiten auflösen:

 Beibehalten der folgenden Pakete in ihrer aktuellen Version:
1) libcairo2-dev [Nicht installiert] 
2) libgtk2.0-dev [Nicht installiert] 
3) libpango1.0-dev [Nicht installiert] 
4) libpixman-1-dev [Nicht installiert]

das sollte Lösungsmöglichkeiten bieten. Oder lass dir erstmal
mit

aptitude why-not libgtk2.0-dev

sagen, was aptitude dazu meint.

Gibt das aus:

Kann keinen Grund für die Entfernung von libgtk2.0-dev finden.

Synaptic wie auch dpkg sagen das Paket sei nicht installiert?

Sollte alles nichts helfen, dann

aptitude safe-upgrade -f
dpkg --configure -a

Brachte kein Resultat.

und/oder poste mal deine sources.list
Aber für die Zukunft empfehle ich dir dringend, die alleinige
Benutzung von aptitude, ob als Kommandozeile, oder
komfortabler, graphisch durch aufrufen von nur

aptitude

Das arbeitet präziser und führt genauer Buch als apt-get.
http://wiki.debian.org/Aptitude

Das muss man erstmal wissen! Hab eigentlich nichts gemischt (aptitue heute das erstmal in meinem Leben überhaupt verwendet), alles wurde über Synaptic oder apt installiert, bis auf google-chrome welcher als deb-Paket vorlag -> dpkg und vlc, wobei ich hier nicht mehr weiss welchen Weg ich genommen habe.

mmm …was nun?

Gruß XXD

Anhang Source.list

DEBIAN

deb http://ftp.debian.org/debian/ squeeze main contrib non-free
deb-src http://ftp.debian.org/debian/ squeeze main contrib non-free

DEBIAN SECURITY

deb http://security.debian.org/ squeeze/updates main
deb-src http://security.debian.org/ squeeze/updates main

DEBIAN BACKPORTS

deb http://backports.debian.org/debian-backports squeeze-backports main contrib non-free
deb-src http://backports.debian.org/debian-backports squeeze-backports main contrib non-free

Hallo Lutz,

Hi,

dann fügst Du die fehlenden Abhängigkeiten händisch zum
Installationsbefehl dazu, solange, bis alles läuft.

apt-get install libgtk2.0-dev libpango1.0-dev libcairo2-dev

Wenn ich das ausführe kommt:

Die folgenden Pakete haben unerfüllte Abhängigkeiten:
 libcairo2-dev : Hängt ab von: libcairo2 (= 1.8.10-6) aber 1.10.2-7~bpo60+1 soll installiert werden
 Hängt ab von: libpixman-1-dev (\>= 0.12.0) soll aber nicht installiert werden
E: Beschädigte Pakete

füge ich noch libpixman dazu kommt eine ähnliche Ausgabe. Beschädigte Pakete liegen eigentlich keine vor, jedoch merkt ich gleich das apt und aptitute sich gegenseitig ausspielen, was sich aber auf ffmpeg + libavcodec bezog, apt installierte/updatete sie -> aptitute haute sie wieder runter (ffmpeg ist jetzt erstmal runter, wollte das sowie so mal machen, da ffmpeg zu viele Sicherheitslücken hat)

Mit der gebotenen Umsicht ist es besser, aptitude zu
verwenden. Der Konfliktlösungsalgorithmus von aptitude hat den
Hang, umfangreiche Löschungen statt weniger Updates
vorzuschlagen, was man aber leicht händisch beheben kann.
(Suche nach ~b, alles updatebare updaten, alles nicht
abhebbare auf hold.)

Werd ich gleich mal probieren.

Prinzipiell solltest Du aber versuchen, auf das gtk3-System
umzusteigen.

Eigentlich brauchte ich die lib um Gnustep (Objective-C) mit GTK zu verheiraten, nach meinem Wissenstand, gab es jedoch nur eine Interface-Anbindung zu gtk1.2, dann fand ich ein Tutorial, in dem jemand die Anbindung zu gtk2.0 beschrieb (Tutorialstand Ende 2010), wenn es eine Anbindung zu gtk3.0 gibt, würde ich diese natürlich vorziehen. (Werde das mal testen, würde aber gerne erst die Abhängigkeitsprobleme aus der Welt schaffen).

Gruß XXD

Hi,

dann wäre noch apt-conf interessant, bzw. Du könntest Dich über das pinning informieren.

Es sieht so aus, als ob der die zu installierenden Pakete von backports nehmen will, aber das Pinning von backports keine automatische Installation für die Abhängigkeiten zulässt. Ist aber eine Geheimwissenschaft, wie man das pinning außerhalb einer Handvoll von Standardkonfigurationen einrichten sollte.

Gruß, Lutz

Hallo XhoanXoroDaxos,
zu deiner sources.list:
Einziger Unterschied, ich benutze die deutschen Mirrors (schneller erreichbar) und keine Backports:

deb http://ftp.de.debian.org/debian/ squeeze main contrib non-free
deb http://security.debian.org/ squeeze/updates main contrib non-free
deb http://ftp.de.debian.org/debian squeeze-updates main contrib non-free

Die folgenden Pakete haben verletzte Abhängigkeiten:
libcairo2-dev: Hängt ab von: libcairo2 (= 1.8.10-6) aber
1.10.2-7~bpo60+1 ist installiert.

Deine Probleme kommen offenbar davon, daß Du verschiedene Pakete aus den Backports gezogen hast und jetzt offenbar Pakete aus den stable-Quellen gezogen werden. Ich habe das nur an libcairo2 verifiziert. libcairo2 hat bei dir die Version 1.10.2-7~bpo60+1, das kann nur aus den backports stammen, stable hat genau die geforderte Version 1.8.10-6
http://packages.debian.org/search?keywords=libcairo2
Du kannst das jetzt durchziehen, indem Du mit dem Parameter -t die Pakete direkt von den Backports anforderst, z.B.:

aptitude -t squeeze-backports install libcairo2-dev

http://wiki.debian.org/Backports#Installing_backport…
http://wiki.debianforum.de/Backports
Wenn Du öfters Backports verwenden willst, solltest Du dich mal mit dem von Lutz erwähnten Pinning beschäftigen:
http://inqbus-hosting.de/support/dokumentation/docs/…

(aptitue heute das erstmal in meinem Leben überhaupt
verwendet)

aptitude ist sozusagen die offiziell von Debian empfohlene Methode, um Pakete zu installieren:
„Allerdings speichert aptitude die Informationen, die es für den größeren Funktionsumfang braucht, in einer eigenen Datei, die von apt nicht genutzt wird - d.h. um in den vollen Umfang der Vorteile zu kommen, sollte man nicht zwischen den verschiedenen Frontends wechseln, sondern sich für eines entscheiden und dann auch dabei bleiben.“
http://channel.debian.de/faq/ch-dpkgundco.html

„Bitte beachten Sie, dass aptitude das von Debian empfohlende Programm für das Installieren eines Paketes und/oder das Aktualisieren Ihres Systems ist.“
http://www.debian.org/doc/manuals/debian-faq/ch-pkgt…

Viele Grüße
Marvin

Man sollte das mit einer Kombination der bereits vorgeschlagenen Methoden hinbekommen

  1. aptitude install -t oder aptitude install / um zu erzwingen, von wo das Paket geholt wird

  2. alle betroffene Pakete in einem Aufruf zusammen installieren.

Wenn alles nichts hilft, dann werfe ich in so einem Fall alle betroffenen Pakete herunter und installiere sie neu.

Gruß
A.

Hallo Marvin,

Du kannst das jetzt durchziehen, indem Du mit dem Parameter -t
die Pakete direkt von den Backports anforderst, z.B.:

aptitude -t squeeze-backports install libcairo2-dev

Hat jetzt geklappt.

http://wiki.debianforum.de/Backports
Wenn Du öfters Backports verwenden willst, solltest Du dich
mal mit dem von Lutz erwähnten Pinning beschäftigen:
http://inqbus-hosting.de/support/dokumentation/docs/…

(aptitue heute das erstmal in meinem Leben überhaupt
verwendet)

aptitude ist sozusagen die offiziell von Debian empfohlene
Methode, um Pakete zu installieren:
„Allerdings speichert aptitude die Informationen, die es für
den größeren Funktionsumfang braucht, in einer eigenen Datei,
die von apt nicht genutzt wird - d.h. um in den vollen Umfang
der Vorteile zu kommen, sollte man nicht zwischen den
verschiedenen Frontends wechseln, sondern sich für eines
entscheiden und dann auch dabei bleiben.“

http://channel.debian.de/faq/ch-dpkgundco.html

Und wieder was dazu gelernt :wink:

„Bitte beachten Sie, dass aptitude das von Debian empfohlende
Programm für das Installieren eines Paketes und/oder das
Aktualisieren Ihres Systems ist.“

http://www.debian.org/doc/manuals/debian-faq/ch-pkgt…

Werde mich mal mit dem Pinning auseinander setzen!

Danke für die Hilfe, das gilt auch an alle anderen die geantwortet haben.

Gruß XXD