PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : dynamische Libaries werden falsch gefunden


mekakic
2008-09-26, 09:59:58
Hi,

ich habe ein Programm, daß ich auf zwei gleichen Linux Maschinen laufen lassen möchte (gleiche Debian Version, gleiche Plattform). Dazu habe ich eine lib kompiliert (libSomething.so.6), die wurde korrekt installiert dazu ein soft-link angelegt libSomething.so. Wenn ich ldconfig -v starte, wird mir diese libSomething.so.6 auch angezeigt. Jetzt habe ich mein Programm auf die andere Maschine kopiert, dort habe ich die Lib auch kompiliert und installiert -- ldconfig -v findet wieder libSomething.so.6.

Auf der ersten Maschine läuft das Programm tadellos, wenn ich es auf der anderen Maschine starte, kommt:
error while loading shared libraries: libSomething.so.5: cannot open shared object file: No such file or directory

Warum will er auf einmal .5 haben obwohl .6 von der lib installiert wurde (auf beiden Systemen), .6 von ldconfig gefunden wird und dies auf dem ersten System auch funktioniert. Ich habe mal probiert auf .6 einen Softlink mit dem Namen .5 zeigen zu lassen, ldconfig ausgeführt, aber er findet es einfach nicht. Woran liegt sowas und wie bekomme ich das richtig hin?

danke

m00h
2008-09-26, 13:28:13
Ich habe mal probiert auf .6 einen Softlink mit dem Namen .5 zeigen zu lassen, ldconfig ausgeführt, aber er findet es einfach nicht. Woran liegt sowas und wie bekomme ich das richtig hin?


Wenn dann immer noch die Fehlermeldung kommt, dass er die lib nicht finden kann, dann schaut er woanders nach, bzw. du hast falschen Symlink erstellt.
Schonmal mit
export LD_LIBRARY_PATH=/usr/lib
probiert?

MfG
m00h

da.phreak
2008-09-26, 19:59:06
Du könntest mit strace auch mal nachschauen, wo er's probiert.