AW: installation von lib's
queensix schrieb:
hallo leutz!
eine frage: wenn man jetzt ein programm installieren will und yast meckert, daß er bestimmte libs sucht, apt/synaptic auch nichts hat - wie kommt man da ran? hab gestern nach libapt-pkg-libc6.3-5.so.2 gesucht, nirgendwo was gefunden. hab auch bei rpmseek geschaut etc...
dann noch was - wenn man in dieser beziehung was gefunden hat - kann man solche libs auch irgendwie in apt eintragen, damit die auch aktualisiert werden?
gruß
queensix
Zuerst sollte man sich vergewissern, ob die lib, fehlt oder ob es ein Versionenkonflikt ist. Dazu sucht man nach der lib OHNE Versionsnummer.
Code:
locate libapt-pkg
/usr/lib/libapt-pkg-libc6.3-6.so.2
/usr/lib/libapt-pkg-libc6.3-6.so.2.0.0
Bei mir ist also diese lib in NEUERER Version vorhanden. Das wäre kein größeres Problem, denn häufig findet man noch weitere Treffer mit älteren Versionsnummern, die meist nur Links auf die neue Version der Lib sind, aber genau aus dem Grund gesetzt werden, damit es keine Konflikte gibt.
Code:
ls -ls /usr/lib/libapt-pkg-libc6.3-6.so.2*
0 lrwxrwxrwx 1 root root 29 2006-03-04 11:03 /usr/lib/libapt-pkg-libc6.3-6.so.2 -> libapt-pkg-libc6.3-6.so.2.0.0
869 -rwxr-xr-x 1 root root 887224 2005-09-09 19:17 /usr/lib/libapt-pkg-libc6.3-6.so.2.0.0
Wie man hier sehen kann, ist libapt-pkg-libc6.3-6.so.2 auch nur ein Link, der auf die eigentliche librarie /usr/lib/libapt-pkg-libc6.3-6.so.2.0.0 zeigt.
Dir fehlt ein Link des Namens libapt-pkg-libc6.3-5.so.2, deshalb meckert Yast. Ein Setzen des entsprechenden Links per Hand kann in den meisten Fällen zwar das Programm zum Laufen bringen, löst aber meist das Problem der Abhängigkeiten nicht, so daß Yast/Apt ab sofort defekte Pakete anmeckern.
Außerdem kann es sein (auch wenn es eher unwahrscheinlich ist), daß Dein Paket nicht mehr mit dieser neuen Version der abhängigen Lib funktioniert und dann abschmiert. Ich würde also eher die Finger von solchen Maßnahmen lassen.
Ist das der Fall, dann gibt es 3 Möglichkeiten.
1. Das abhängige Paket, welches man installieren wollte ist etwas älter und man wartet auf eine neue Version, die dann nicht mehr von der alten lib abhängt.
2. Der Packager der lib hat möglicherweise vergessen, einen Link auf die lib zu setzen, der auch ältere Abhängigkeiten bedient. Hier muß man eben nach einer anderen Version der Lib suchen, die dieses Problem nicht hat.
3. Es gibt zur Zeit kein Paket, das alle diese Abhängigkeiten bedient und man muß abwarten oder selbst bauen. Dazu braucht es allerdings etwas Erfahrung und gute Nerven.
Wenn man nach libraries sucht, dann empfiehlt sich auch manchmal die suche nach dem Stichwort, welches nach "lib" kommt, denn häufig sind die libs im Paket des zugehörigen Programmes vorhanden und dann heisst das gesuchte Paket eben nicht
libxyz sondern xyz.
Ausserdem sollte man in Yast mit der Suchfunktion und aktiviertem "Beinhaltet" nach dem Paket suchen, falls es sich wie oben in anderer Version schon auf dem System befindet.
So, das war der allgemeine Teil, nun ins Detail:
1. Um welches Paket geht es? (mit Versionsangabe!)
2. Es besteht eine Abhängigkeit zu den APT-Libraries, also würde ich die Finger von Experimenten lassen.
3. Welche Version der libapt-pkg-libgc6 hast Du auf dem System?
(Ich habe da nämlich so einen Verdacht, aber wir werden ja sehen.)
Greetz,
RM