-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Philipp Thomas schrieb am 25.07.2006 15:33:
On Tue, 25 Jul 2006 10:04:03 +0200, Werner Flamme wrote:
Hallo Philipp,
rz36:~ # rpm -q --whatprovides libgsf-1.so.1 libgsf-32bit-1.12.1-3 libgsf-1.13.99-15
Sehr witzig :-(
Nein, sondern vollkommen in Ordnung. libgsf-32bit beinhaltet die 32 bittige Version der libgsf, die natürlich den gleichen Namen hat und sich nur im Pfad unterscheidet.
Das ist mir bekannt. Mein Kommentar bezog sich darauf, dass rpm die Auskunft gibt, diese Datei werde vom Paket libgsf-1.13.99-15 bereitgestellt. Das Paket ist installiert (sonst würde rpm es nicht kennen). Aber die Bibliothek libgsf-1.so.1 ist rpm nicht bekannt, wenn ich ein Programm per rpm installieren will, das diese Bibliothek benötigt (eben koffice-wordprocessing-1.5.2-4.1).
Die Datei /opt/gnome/lib/libgsf-1.so.1 ist ein Symlink auf /opt/gnome/lib/libgsf-1.so.1.12.1;
Das ist die 32-bittige Bibliothek.
Auch jenes habe ich verstanden. 64bit-Bibliotheken stehen oft in lib64-Verzeichnissen ;-)
der nicht akzeptierte Symlink /opt/gnome/lib64/libgsf-1.so.1 zeigt genau so auf /opt/gnome/lib64/libgsf-1.so.113.0.99 wie der Symlink /opt/gnome/lib64/libgsf-1.so.113 auch. Letzere wird gefunden...
Ein wenig Grundlagen:
Die von einem Programm bzw. einer dynamischen Bibliothek benötigten Biobliotheken werden im Kopf des Binaries in sog. DT_NEEDED Einträgen festgehalt. Diese kannst du dir mit "objdump -p" anzeigen lassen. Das sieht dann in etwa so aus:
Dynamic Section: NEEDED libresmgr.so.0.9.8 NEEDED libc.so.6
*Nach diesen Namen* sucht der dynamische Linker, wenn das Programm bzw. die Bibliothek geladen werden.
Philipp
Tja, alles richtig, aber was hat das mit meinem Problem zu tun? ;-) Ich möchte ein Programm (koffice-wordprocessing in der Version 1.5.2-4.1) per rpm installieren. Bei der Installation beschwert sich rpm, dass eine Datei libgsf-1.so.1 in der Version x86-64 nicht in meinem System vorhanden sei. Das kann 2 Gründe haben: entweder ist die Datei wirklich nicht vorhanden oder sie befindet sich lediglich nicht in der rpm-Datenbank. Im Fall, dass die rpm-Datenbank die Datei nicht registriert hat, lässt sich ein Paket trotzdem installieren, wenn man die Option --nodeps benutzt. Damit das Programm dann auch tatsächlich läuft (und das soll es ja), muss natürlich die verlangte Bibliothek im System vorhanden sein. Meines Erachtens ist die /opt/gnome/lib64/libgsf-1.so.113.0.99 genau die gesuchte Bibliothek. Es handelt sich um eine 64bit-Version, ebenso wie das Programm, das ich installieren möchte. Meine Frage zielte einfach darauf, dass die 32bit-Version der libgsf-1.so.1 von ldconfig gefunden wird und die 64bit-Version nicht - auch nicht mit einer anderen Versionsnummer, wie ja die Ausgabe von "ldconfig -p | grep -i gsf" in meinem letzen Posting zeigte. Woran kann das liegen? Das Verzeichnis /opt/gnome/lib64 wird sehr wohl von ldconfig berücksichtigt, denn die /opt/gnome/lib64/libgsf-1.so.113 in diesem Verzeichnis wird angezeigt. Das Problem liegt m. E. darin, dass die Datei /opt/gnome/lib64/libgsf-1.so.113.0.99 nicht als libgsf-1.so.1 (libc6,x86-64) von ldconfig erkannt wird und demzufolge auch dem Programm nicht zur Verfpgung stehen wird. Kann ich dieses Erkennen erreichen, ohne dass ich im Sourcecode von koffice-wordprocessing rumfreckeln muss? Freundlicher Gruß Werner Flamme - -- Werner Flamme, Abt. WKDV UFZ Umweltforschungszentrum Leipzig-Halle GmbH, Permoserstr. 15 - 04318 Leipzig Tel.: (0341) 235-3921 - Fax (0341) 235-453921 http://www.ufz.de - eMail: werner.flamme@ufz.de -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.2 (GNU/Linux) Comment: Using GnuPG with SUSE - http://enigmail.mozdev.org iD8DBQFExi3tk33Krq8b42MRApDOAJ9iZ80QmX6oc10UG0lQClQf8FnM/ACggyIu GXq71yDFqgGxO0TqyvEVIEI= =3jBr -----END PGP SIGNATURE----- -- Um die Liste abzubestellen, schicken Sie eine Mail an: suse-linux-unsubscribe@suse.com Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: suse-linux-help@suse.com