• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

unerfülte Abhängigkeiten libcairo.so.1 vs libcairo.so.2

Ich habe gemäss der Anleitung in diesem Thread das rpm von S. Corot heruntergeladen und installiert. Ging prächtig. Anschliessend apt-get update lief auch fehlerlos durch. Jetzt wollte ich als erste einfache Uebung Synaptic holen, aber das bringt mir jetzt folgende Fehlermeldung:

Lese Paketlisten...
Erzeuge Abhängigkeitsbaum...
Einige Pakete konnten nicht installiert werden. Dies könnte bedeuten,
dass Sie eine unmögliche Situation angefordert haben oder, falls Sie die
instabile Distribution verwenden, dass einige benötigte Pakete noch nicht
erzeugt oder aus 'Incoming' verschoben worden sind.

Da Sie nur eine einzelne Operation angefordert haben, ist es extrem
wahrscheinlich, dass das Paket schlichtweg nicht installierbar ist und
ein Bugreport über dieses Paket eingereicht werden sollte.
Die folgende Information könnte helfen die Sitation zu beheben:

Die folgenden Pakete besitzen unerfülte Abhängigkeiten:
synaptic: Hängt ab von: libzvt2
Hängt ab von: libzvt-2.0.so.0()(64bit)

Die Source-List habe ich nicht verändert.
Ich nehme mal an, dass das mein Fehler und kein Bug ist - aber was soll ich tun?
:roll:
Danke für jeden Tip!
Thomas
 
Entschuldigt, habe vergessen mein System zu beschreiben:
SuSE 9.3 mit Kernel 2.6.11.4-21.8
ATI Radeon 9200 SE
BENQ FP783
AMD 64 3400+
ABIT KV8 Max3

Gruss Thomas
 

Martin Breidenbach

Ultimate Guru
Synaptic braucht ein paar libs die aber bei SuSE dabei sind. Müssen halt nur installiert werden.

Such mal im yast nach zvt da sollte er die benötigte Lib finden.
 

ojkastl

Hacker
oc2pus schrieb:
und kontrolliere mal deine sources.list!

Auf was soll er sie denn kontrollieren? Ich bin mir nicht sicher, ob er soviel Ahnung hat, auf was er da achten soll. ach ja, steht die "Was steht in welchem Repository"-geschichte nicht mehr bei den HowTos oder in der Doku? Ein /zugegeben) schnelles Überfliegen hat nix gebracht.
 

oc2pus

Ultimate Guru
Saber_Rider schrieb:
... ach ja, steht die "Was steht in welchem Repository"-geschichte nicht mehr bei den HowTos oder in der Doku? Ein /zugegeben) schnelles Überfliegen hat nix gebracht.

die steht hier:
Wichtig: [FAQ] [TIP] [INFO] immerwiederkehrende Fragen zum Thema ...
http://www.linux-club.de/viewtopic.php?t=24108

Wichtig: Liste der HOWTO's im Forum
http://www.linux-club.de/viewtopic.php?t=40239

wurde jetzt alles zusammengefasst zu einem Posting, auf vielfachen Wunsch. Sollte die Übersichtlichkeit erhöhen.
 

oc2pus

Ultimate Guru
Saber_Rider schrieb:
und auf was soll er jetzt kontrollieren?
damit wollte ich ihn triggern sich das Ding mal anzuschauen ;)

und ansonsten wird er es mal posten. Ich vermute mal da fehlen einige Einträge oder es sind zuviele drin, nämlich alle und dann kann es zu diesem Konflikt kommen. Da ich kein 64er System habe, kann ich aber die Abhängigkeiten nicht weiter eingrenzen und überprüfen..

ein apt policy libzvt sollte Klärung bringen.
(evtl vorher ein apt search libzvt um zu ermitteln wie das Paket heisst welches libzvt enthält)
 
Ich finde es gut, dass Ihr keine fertigen Lösungen anbietet, sondern dafür sorgt, dass ich selbst was lerne - genau das möchte ich.

Folgendes ist meine Sources List:

Safe sources.list file generated by install-apt4suse at Sa Sep 10 21:28:40 CEST 2005
#
# You can manage the components that apprear in this file by editing
# UNWANTED_COMPONENTS in the file /etc/install-apt4rpm.conf.
# Don't edit this variable unless you know what you do !!!
#
# This file is based on the content of the full components list file:
# ftp://ftp4.gwdg.de/pub/linux/suse/apt/SuSE/9.3-x86_64/examples/sources.list.FTP
#
# Don't remove the following line.
# DEFAULT_MIRROR = ftp://ftp4.gwdg.de/pub/linux/suse/apt
#
#
# Repository created by: aptate (version 0.69.2)
# At: Sat Sep 10 17:16:32 MEST 2005
# More info about aptate at: http://apt4rpm.sourceforge.net
#
rpm ftp://ftp4.gwdg.de/pub/linux/suse/apt SuSE/9.3-x86_64 rpmkeys
rpm ftp://ftp4.gwdg.de/pub/linux/suse/apt SuSE/9.3-x86_64 base
rpm ftp://ftp4.gwdg.de/pub/linux/suse/apt SuSE/9.3-x86_64 update
rpm ftp://ftp4.gwdg.de/pub/linux/suse/apt SuSE/9.3-x86_64 kde
rpm ftp://ftp4.gwdg.de/pub/linux/suse/apt SuSE/9.3-x86_64 gnome
rpm ftp://ftp4.gwdg.de/pub/linux/suse/apt SuSE/9.3-x86_64 packman
rpm ftp://ftp4.gwdg.de/pub/linux/suse/apt SuSE/9.3-x86_64 mozilla
rpm ftp://ftp4.gwdg.de/pub/linux/suse/apt SuSE/9.3-x86_64 suser-drcux
rpm ftp://ftp4.gwdg.de/pub/linux/suse/apt SuSE/9.3-x86_64 suser-scorot
rpm ftp://ftp4.gwdg.de/pub/linux/suse/apt SuSE/9.3-x86_64 suser-jmorris
rpm ftp://ftp4.gwdg.de/pub/linux/suse/apt SuSE/9.3-x86_64 security
#rpm-src ftp://ftp4.gwdg.de/pub/linux/suse/apt SuSE/9.3-x86_64 rpmkeys
#rpm-src ftp://ftp4.gwdg.de/pub/linux/suse/apt SuSE/9.3-x86_64 base
#rpm-src ftp://ftp4.gwdg.de/pub/linux/suse/apt SuSE/9.3-x86_64 update
#rpm-src ftp://ftp4.gwdg.de/pub/linux/suse/apt SuSE/9.3-x86_64 kde
#rpm-src ftp://ftp4.gwdg.de/pub/linux/suse/apt SuSE/9.3-x86_64 gnome
#rpm-src ftp://ftp4.gwdg.de/pub/linux/suse/apt SuSE/9.3-x86_64 packman
#rpm-src ftp://ftp4.gwdg.de/pub/linux/suse/apt SuSE/9.3-x86_64 mozilla
#rpm-src ftp://ftp4.gwdg.de/pub/linux/suse/apt SuSE/9.3-x86_64 suser-drcux
#rpm-src ftp://ftp4.gwdg.de/pub/linux/suse/apt SuSE/9.3-x86_64 suser-scorot
#rpm-src ftp://ftp4.gwdg.de/pub/linux/suse/apt SuSE/9.3-x86_64 suser-jmorris
#rpm-src ftp://ftp4.gwdg.de/pub/linux/suse/apt SuSE/9.3-x86_64 security

Sieht für mein Laienauge ungefähr so aus, wie das hier im Forum empfohlen worden ist.

Die Anfrage "apt search libzvt gibt mir folgenden output:

gnome-libs-32bit - The GNOME Base Libraries
libzvt-debuginfo - Debug information for package libzvt
gnome-libs - The GNOME Base Libraries
libzvt - GNOME 2 ZTerm Widget Library
libzvt-devel - Include Files and Libraries mandatory for Development.

Der anschliessende Befehl "apt policy zvt" ergibt:
W: Ausserstande Paket zvt zu lokalisieren

Interessanterweise ist es mir aber mittlerweile geglückt, über apt den MPlayer zu installieren :D - simpel, schnell, einfach perfekt.
Ich hätte erwartet, das wäre viel komplizierter als Synaptic?

Gruss Thomas
 

ojkastl

Hacker
Thomas Reinhart schrieb:
Sieht für mein Laienauge ungefähr so aus, wie das hier im Forum empfohlen worden ist.

Ja ich seh da erstmal auch nix gefährliches.

Thomas Reinhart schrieb:
Die Anfrage "apt search libzvt gibt mir folgenden output:

gnome-libs-32bit - The GNOME Base Libraries
libzvt-debuginfo - Debug information for package libzvt
gnome-libs - The GNOME Base Libraries
libzvt - GNOME 2 ZTerm Widget Library
libzvt-devel - Include Files and Libraries mandatory for Development.

Der anschliessende Befehl "apt policy zvt" ergibt:
W: Ausserstande Paket zvt zu lokalisieren

Weil das auch libzvt heisst, habs oben mal markiert.
 
Ich hab mal apt-get install libzvt probiert und erhalte folgendes Resultat:

Lese Paketlisten...
Erzeuge Abhängigkeitsbaum...
Einige Pakete konnten nicht installiert werden. Dies könnte bedeuten,
dass Sie eine unmögliche Situation angefordert haben oder, falls Sie die
instabile Distribution verwenden, dass einige benötigte Pakete noch nicht
erzeugt oder aus 'Incoming' verschoben worden sind.

Da Sie nur eine einzelne Operation angefordert haben, ist es extrem
wahrscheinlich, dass das Paket schlichtweg nicht installierbar ist und
ein Bugreport über dieses Paket eingereicht werden sollte.
Die folgende Information könnte helfen die Sitation zu beheben:

Die folgenden Pakete besitzen unerfülte Abhängigkeiten:
libzvt: Hängt ab von: libcairo.so.1()(64bit)

Was ist die "libcairo"? Darf ich die einfach über RPMseek herunterladen und installieren - oder ist das gefährlich?
Thomas
 
Ich habe mir die cairo-1.0.0-6.x86_64.rpm heruntergeladen und installiert. Rpm-q cairo gibt mir "cairo-1.0.0-6", sollte also in Ordnung sein. Der Befehl apt install cairo gibt mir:
Lese Paketlisten...
Erzeuge Abhängigkeitsbaum...
cairo ist bereits die neueste Version.
0 upgraded, 0 newly installed, 0 entfernt und 160 nicht upgegradet.

Der Befehl apt install libzvt gibt aber folgendes:
Lese Paketlisten...
Erzeuge Abhängigkeitsbaum...
Einige Pakete konnten nicht installiert werden. Dies könnte bedeuten,
dass Sie eine unmögliche Situation angefordert haben oder, falls Sie die
instabile Distribution verwenden, dass einige benötigte Pakete noch nicht
erzeugt oder aus 'Incoming' verschoben worden sind.

Da Sie nur eine einzelne Operation angefordert haben, ist es extrem
wahrscheinlich, dass das Paket schlichtweg nicht installierbar ist und
ein Bugreport über dieses Paket eingereicht werden sollte.
Die folgende Information könnte helfen die Sitation zu beheben:

Die folgenden Pakete besitzen unerfülte Abhängigkeiten:
libzvt: Hängt ab von: libcairo.so.1()(64bit)

:?:
Jetzt bin ich wirklich etwas verwirrt!
Thomas
 

oc2pus

Ultimate Guru
in diesem Paket ist keine libcairo.so.1 drin ...

rpm -ql paketname zeigt dir das deutlich.

das Problem:
irgendwann wurde das Paket cairo, welches die libcairo.so.1 enthielt, entfernt, aber dieses Paket wurde als linkbibliothek von anderen Programmen genutzt, die wollen jetzt alle ihre libcairo.so.1 haben. Die gibt es aber nicht mehr, nur eine libcairo.so.2.

Lösung:
So jetzt muss die RPM Datenbank betrogen werden, "du hast eine libcairo.so.1" das passiert mit einem virtuellen RPM. Und es muss physikalisch dafür gesorgt werden das auf der Platte eine libcairo.so.1 existiert, das erreicht man mit einem symbolischen link der libcairo.so.2 auf die libcairo.so.1.

Ich hoffe das war verständlich...
 
Das ist verständlich - allerdings habe ich keine Ahnung wie man ein virtuelles RPM erstellt und einen symbolischen Link anlegt. Ich werd mich mal versuchen zu informieren und meld mich dann wieder hier mit meinem Erfolg - oder einer zerschossenen Festplatte :)
Thomas
 
OK jetzt ist es mir tatsächlich gelungen, ein virtuelles RPM anzulegen. Ich hab dazu das Skript nach Beitrag 13336 benutzt. Nachdem ich sämtliche Verweise auf "i386" auf "x86_64" geändert hatte und ausserdem statt "rpm -dd" den Befehl "/usr/bin/rpmbuild -dd" eingetragen hatte, ging es. Das neue virtuelle rpm liegt jetzt auf meinem Homeverzeichnis und ich bin richtig stolz darauf...:)

Jetzt muss ich also einen symbolischen Link anlegen. Heisst jetzt das, ich soll in der /etc/apt/apt.conf.d einen Eintrag "fake" anlegen, wie von Octopus in seinem Beitrag 14417 (upgrade von Suse 9.1 auf 9.2 mit APT) empfohlen? Dann würde ich also folgendes in die /etc/apt/at.conf.d eintragen:

RPM {
...
Fake-Provides {

"libcairo.so.1";
};
...
};

Ist das so richtig? Oder heisst "symbolischer Link anlegen" etwas anderes? Bitte gebt mir nochmals eine Hilfestellung, bevor ich Mist baue! Danke für eure Geduld!
Thomas
 

oc2pus

Ultimate Guru
Ein symbolischer link ist ein alternativer Name für eine vorhandene Datei.
Er wird erstellt mit dem Befehl ln.

==>
cd /usr/lib
ln -s libcairo.so.2 libcairo.so.1

sollte dann so aussehen:
Code:
oc2pus:/usr/lib # ls -al libcairo*
-rw-r--r--  1 root root 415708 2005-09-15 01:54 libcairo.a
-rwxr-xr-x  1 root root    965 2005-09-15 01:54 libcairo.la
lrwxrwxrwx  1 root root     17 2005-09-15 21:00 libcairo.so -> libcairo.so.2.2.2
lrwxrwxrwx  1 root root     13 2005-09-16 23:04 libcairo.so.1 -> libcairo.so.2
lrwxrwxrwx  1 root root     17 2005-09-15 20:59 libcairo.so.2 -> libcairo.so.2.2.2
-rwxr-xr-x  1 root root 281784 2005-09-15 01:54 libcairo.so.2.2.2
 
Danke sehr - habe zuerst das virtuelle rpm mit Yast installiert und anschliessend den Befehl auf der Konsole gemäss Deinem Rat eingegeben - und dann mit apt-get install Synaptic geholt. Alles funktioniert bestens, Problem gelöst - wieder was gelernt! :)

Ich werde mich wohl demnächst wieder an einer anderen Stelle in diesem Forum mit einem neuen Problem melden - guten Rat für dumme Fragen krieg ich nirgendwo sonst so gut...
Danke nochmals, Gruss und schönes Wochenende allerseits
Thomas
 
Oben