Sie sind nicht angemeldet.

Lieber Besucher, herzlich willkommen bei: Linux Forum Linux-Web.de. Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich ausführlich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.

1

10.04.2004, 16:01

Fehler beim laden einer shared library

Hallo,

ich habe folgendes Problem, ich habe ein Programm erstellt, das ich beim linken mit folgender Datei verlinke: "/usr/local/towitoko/lib/libtowitoko.so.2.0.0" dieses klappt auch, nur wenn ich das kompilierte Programm ausführen möchte, erscheint diese Fehlermeldung: "error while loading shared libraries: libtowitoko.so.2: cannot open shared object file: No such file or directory" kann mir jemand helfen und mir sagen was ich machen muss, damit das Programm ausgeführt wird?

Danke schon im voraus

2

10.04.2004, 20:04

RE: Fehler beim laden einer shared library

Kompilier die Lib statisch mit ein, oder packe sie in den "Suchpfad" fuer Librarys.

Gruss,
kp

3

11.04.2004, 01:36

RE: Fehler beim laden einer shared library

Hallo,

danke für deine Antwort, aber wie kann ich denn die Lib statisch mit einkompilieren, bzw. sie in den Suchpfad für Librarys packen?

Frohe Ostern

tacuma

Anfänger

  • »tacuma« ist männlich

Beiträge: 37

Wohnort: Berlin

Beruf: Produktmanager/System Specialist

  • Nachricht senden

4

20.05.2004, 10:04

RE: Fehler beim laden einer shared library

Zitat

Original von HomerS
Hallo,

ich habe folgendes Problem, ich habe ein Programm erstellt, das ich beim linken mit folgender Datei verlinke: "/usr/local/towitoko/lib/libtowitoko.so.2.0.0" dieses klappt auch, nur wenn ich das kompilierte Programm ausführen möchte, erscheint diese Fehlermeldung: "error while loading shared libraries: libtowitoko.so.2: cannot open shared object file: No such file or directory" kann mir jemand helfen und mir sagen was ich machen muss, damit das Programm ausgeführt wird?

Danke schon im voraus


Hi,

ich vermute stark, der Pfad /usr/local/towitoko/lib gehört nicht zu den Standard-Pfaden in denen dein Linux-System Shared-Libraries sucht. Um das passend zu erweitern musst du /etc/ld.so.conf anpassen und ldconfig aufrufen. Nähere Infos: man ldconfig

Ist das eigentlich ein Privat-Programm von Dir oder etwas anderes?
Falls es dein eigenes ist, solltest du die Shared libs vielleicht besser nach /usr/local/lib oder besser nach /opt/local/lib oder $HOME/lib stellen; jedenfalls sieht es der Linux FHS so vor, denke ich.

Wenn du /usr/local/lib nimmst entfällt der obige Schritt mit ldconfig (wahrscheinlich).
Wenn Du $HOME/lib nimmst, heißt das natürlich, das nur dieser eine User im System die Library verwenden kann, deshalb sollte die /etc/ld.so.conf diesen Pfad natürlich nicht beinhalten. In diesem Fall musst Du (als dieser User) die Umgebungsvariable LD_LIBRARY_PATH setzen, also z.B. in .bash_profile:

export LD_LIBRARY_PATH=$HOME/lib:$LD_LIBRARY_PATH

Das dazulinken der Lib statisch statt dynamisch (shared), halte ich, mit Verlaub, für Schwachsinn. Wozu hat man schließlich Shared Libraries? Falls Du das doch tun willst, muss dem Linker die Option -static mitgeben. Aber ich rate ab.

Ciao,
tacuma
.

Thema bewerten