Libraries-Verstaendnisproblem
Guten Tag, auf http://www.linuxhaus.de (Joerg, liest Du mit?) habe ich die IOffice Version 2.1.1 Deutsch als RPM gezogen. Danach versuchte ich, mit Root-Rechten auf meiner SuSE 6.1 (Kernel 2.2.7) mittels rpm -i --test ioffice-gr-2.1-1.i386-rpm eine Testinstallation durchzufuehren. Diese endete mit der Fehlermeldung failed dependencies: libNoVersion.so.1 is needed by ioffice-gr-2.1-1 Klar. Die Lib fehlt auch in /lib. Nun habe ich von einer SuSE 7.0 (mit Kernel 2.4.4) aus der dortigen lib die libNoVersion.so.1 (Groesse 17668 Bytes) auf die SuSE 6.1 nach /lib kopiert und dachte, das sei es. Die obige Fehlermeldung erscheint aber immer noch. Vielleicht liegt es an meinem Verstaendnis fuer Libraries: Reicht es denn, eine fehlende Library einfach nach /lib zu kopieren oder fehlt da irgend ein weiterer Schritt? Ich kann jedenfalls das IOffice nach wie vor nicht installieren. Oder benutze ich den rpm einfach nur sittenwidrig? Danke fuer Tipps. Gruss Peter Blancke -- Nachtwaechter ist der Wahnsinn, weil er wacht...
Am Die, 19 Jun 2001, schrieb Peter Blancke:
rpm -i --test ioffice-gr-2.1-1.i386-rpm
eine Testinstallation durchzufuehren. Diese endete mit der Fehlermeldung
failed dependencies: libNoVersion.so.1 is needed by ioffice-gr-2.1-1
Klar. Die Lib fehlt auch in /lib.
Wobei für rpm nicht das tatsächliche Vorhandensein der lib entscheidend ist, sondern der Eintrag in der rpm-Datenbank.
Nun habe ich von einer SuSE 7.0 (mit Kernel 2.4.4) aus der dortigen lib die libNoVersion.so.1 (Groesse 17668 Bytes) auf die SuSE 6.1 nach /lib kopiert und dachte, das sei es.
Die obige Fehlermeldung erscheint aber immer noch.
Zwar hast Du jetzt die Library, aber woher soll rpm das wissen, da Du sie nicht mittels rpm eingespielt hast. Du hast mehrere Möglichkeiten: - Besorge Dir die Library als rpm und spiele sie ein - Baue ein Dummy-RPM, das Deinem System vorgaukelt, das erwartete RPM sei installiert - Einfachste Lösung: verwende rpm in diesem Fall mit --nodeps (Sollte man aber nicht ständig machen, weil so die Konsistenz der RPM-Datenbank immer mehr abnimmt) Gruß Christoph -- Christoph Maurer - Paul-Röntgen-Straße 7 - 52072 Aachen - Tux#194235 mailto:christoph-maurer@gmx.de - http://www.christophmaurer.de Auf der Homepage u.a.: Installation von SuSE 7.0 auf Notebook Acer Travelmate 508 T, Elektrotechnik an der RWTH Aachen
On Tue, 19 Jun 2001, Christoph Maurer wrote: Danke an Christoph, Bernhard und Matthias! Jetzt habe ich ein wenig mehr von rpm verstanden, hatte es vorher noch nie eingesetzt.
Am Die, 19 Jun 2001, schrieb Peter Blancke:
rpm -i --test ioffice-gr-2.1-1.i386-rpm
eine Testinstallation durchzufuehren. Diese endete mit der Fehlermeldung
failed dependencies: libNoVersion.so.1 is needed by ioffice-gr-2.1-1
So, jetzt ist mir auch klar, dass ich die Datei ruhig nach /lib kopieren kann, das ist offensichtlich rpm voellig egal, was ich da kopiere. Da existiert also eine rpm-atenbank im Hintergrund, die das alles ueberwacht. rpm ueberwacht also nicht die Dateien in /lib.
Zwar hast Du jetzt die Library, aber woher soll rpm das wissen, da Du sie nicht mittels rpm eingespielt hast.
Ja. Verstehe. Und die notwendige Library war offensichtlich auf der SuSE 6.1 nicht mit dabei, die ist aber auf neueren Versionen mit dabei.
Du hast mehrere Möglichkeiten: - Besorge Dir die Library als rpm und spiele sie ein
Dazu fehlte die Zeit beim Kunden.
- Baue ein Dummy-RPM, das Deinem System vorgaukelt, das erwartete RPM sei installiert
Gibt es dazu eine Anleitung? Im Manual finde ich zwar auch die Built-Commands, aber das ist mir heute morgen eine Nummer zu hoch.
- Einfachste Lösung: verwende rpm in diesem Fall mit --nodeps
Das war fuer mich dann die Quick-and-Dirty-Loesung, die dann auch zum Ziel fuehrte.
(Sollte man aber nicht ständig machen, weil so die Konsistenz der RPM-Datenbank immer mehr abnimmt)
Die wird sowieso grauenhaft aussehen, denn ich habe auf dem System schon recht furchtbar herumgehaust, vor allem daher, weil ich zur Zeit, da die 6.1 erschien, noch erheblich duemmer war als heute. Aber es laeuft immer noch stabil und problemlos und ich wollte mir nicht Eigenschaften aneignen, die Leute haben, die _grundsaetzlich_ und vor allem _ohne_Grund_ immer die neuesten Versionen glauben installieren zu muessen. Danke an die Beteiligten! Gruss Peter Blancke -- Nachtwaechter ist der Wahnsinn, weil er wacht...
Hallo Peter, On Tue, 19 Jun 2001 at 17:47 +0200, Peter Blancke wrote:
auf http://www.linuxhaus.de (Joerg, liest Du mit?) habe ich die IOffice Version 2.1.1 Deutsch als RPM gezogen. Danach versuchte ich, mit Root-Rechten auf meiner SuSE 6.1 (Kernel 2.2.7) mittels
rpm -i --test ioffice-gr-2.1-1.i386-rpm
eine Testinstallation durchzufuehren. Diese endete mit der Fehlermeldung
failed dependencies: libNoVersion.so.1 is needed by ioffice-gr-2.1-1
Klar. Die Lib fehlt auch in /lib.
Nun habe ich von einer SuSE 7.0 (mit Kernel 2.4.4) aus der dortigen lib die libNoVersion.so.1 (Groesse 17668 Bytes) auf die SuSE 6.1 nach /lib kopiert und dachte, das sei es.
Die obige Fehlermeldung erscheint aber immer noch.
Vielleicht liegt es an meinem Verstaendnis fuer Libraries: Reicht es denn, eine fehlende Library einfach nach /lib zu kopieren oder fehlt da irgend ein weiterer Schritt? Ich kann jedenfalls das IOffice nach wie vor nicht installieren. Oder benutze ich den rpm einfach nur sittenwidrig?
1. RPM weiß nur von Libs, die es selbst installiert hat, die sich also in einem Paket befinden. 2. Installierst Du selber Libs, solltest Du das mit RPM tun. 3. Ist dies nicht möglich, so musst Du RPM dann sagen, dass er seine Abhängigkeiten ignorieren soll: rpm --nodeps ioffice-gr-2.1-1.i386.rpm 4. Da sich die Lib im Paket shlibs-2.1.3 befindet, also zur glibc gehört, rate ich mal, dass das Ganze nicht funktionieren wird. Zu groß ist der Unterschied zwischen 7.0 und 6.1. Aber probier's aus. Ein RPM wird man ja schnell wieder los ... Gruß, Bernhard -- Du willst neue Software installieren, aber nicht selber kompilieren? Auf der Homepage des Programms werden keine RPMs oder nur für RedHat angeboten? Vielleicht findest Du hier: http://packman.links2linux.de
Am Dienstag, 19. Juni 2001 17:47 schrieb Peter Blancke:
failed dependencies: libNoVersion.so.1 is needed by ioffice-gr-2.1-1
Nun habe ich von einer SuSE 7.0 (mit Kernel 2.4.4) aus der dortigen lib die libNoVersion.so.1 (Groesse 17668 Bytes) auf die SuSE 6.1 nach /lib kopiert und dachte, das sei es.
Die obige Fehlermeldung erscheint aber immer noch.
Klar, die Fehlermeldung stammt von rpm. rpm verwaltet lediglich eine Datenbank mit Abhängigkeiten zwischen Paketen und Dateien, es prüft nicht die eigentlichen Abhängigkeiten zwischen shared libs. Die Datei /lib/libNoVersion.so.1 gehört zum Paket glibc und wird hier bei Version glibc-2.2-7 mitinstalliert. Es ist freilich möglich, daß sie in älteren Versionen der glibc noch nicht vorhanden war.
Vielleicht liegt es an meinem Verstaendnis fuer Libraries: Reicht es denn, eine fehlende Library einfach nach /lib zu kopieren oder fehlt da irgend ein weiterer Schritt? Ich kann jedenfalls das IOffice nach wie vor nicht installieren. Oder benutze ich den rpm einfach nur sittenwidrig?
Da die Fehlermeldung von rpm stammt könntest Du sie ignorieren und rpm mittels --force zur Installation zwingen. Die Lib kannst Du kopieren und notfalls über LD_LIBRARY_PATH laden lassen. Das ist aber ein schmutziger Ansatz, und es ist wahrscheinlich, daß noch mehr im Argen liegt als nur diese fehlende Lib. Wenn ioffice auf einer aktuelleren glibc basiert als die bei Dir vorhandene, kommst Du um ein Update der glibc nicht herum. - Matthias
participants (4)
-
Bernhard Walle
-
Christoph Maurer
-
Matthias Kleine
-
Peter Blancke