• Hallo Gast, du möchtest medizinische Grundlagenforschung unterstützen und die Chance haben, ein Netzteil, Arbeitsspeicher oder eine CPU-Wasserkühlung von Corsair zu gewinnen? Dann beteilige dich zusammen mit dem PCGH-F@H-Team ab dem 21. September an der Faltwoche zum Weltalzheimertag! Wie das geht, erfährst du in der offiziellen Ankündigung.
  • Hallo Gast, du kaufst gerne günstig ein und erfährst oft vor deinen Freunden von interessanten Angeboten? Dann kannst du dein Talent als Schnäppchenjäger jetzt zu Geld machen und anderen PCGH-Lesern beim Sparen helfen! Schau einfach mal rein - beim Test der Community Deals!

Linux Mint, eigene Bibliotheken einbinden.

DKK007

PCGH-Community-Veteran(in)
Ich habe gerade ein Programm kompiliert und bekomme beim ausführen folgenden Fehler:
Code:
tsk_analyzeimg: error while loading shared libraries: libtskframework.so.0: cannot open shared object file: No such file or directory
Die Datei libtskframework.so.0 liegt unter /usr/local/lib.

Wie bringe ich dem Programm bei, dass es dort nach den Bibliotheken suchen soll?

Beim sudo make install kam zwischendrin diese Ausgabe:
Code:
Libraries have been installed in:
/usr/local/lib

If you ever happen to want to link against installed libraries
in a given directory, LIBDIR, you must either use libtool, and
specify the full pathname of the library, or use the '-LLIBDIR'
flag during linking and do at least one of the following:
- add LIBDIR to the 'LD_LIBRARY_PATH' environment variable
during execution
- add LIBDIR to the 'LD_RUN_PATH' environment variable
during linking
- use the '-Wl,-rpath -Wl,LIBDIR' linker flag
- have your system administrator add LIBDIR to '/etc/ld.so.conf'

See any operating system documentation about shared libraries for
more information, such as the ld(1) and ld.so(8) manual pages.
Welche Option ist da am besten und trägt man dann direkt "LIBDIR" ein oder ist das dort als Synonym für '/usr/local/lib' gemeint?
 

fotoman

BIOS-Overclocker(in)
Hier wird doch gegen die dynamische Lib ".so' gelinkt. Also muss beim Ausführen der Pfad zur Library im LD_LIBRARY_PATH vorhanden sein. Entweder nur für den User (wenn die Applikation durch den User ausgeführt wird) oder fürs System.

Jedenfalls war das vor 20 Jahren mal so, u.U. macht libtool das mittlerweile alles automatisch oder es gibt noch 20 weitere Wege zum Erfolg.

Wie verwendet man libtool?
Auch, wenn Du mich gleich auf die Ignore-Liste setzt. Unter Linux/Unix gibt es zu nahezu jedem Shell-Kommando ein manual. Also würde ich auf der shell einmal "man libtool" aufrufen.
 
Zuletzt bearbeitet:
TE
DKK007

DKK007

PCGH-Community-Veteran(in)
Ich werde das mit dem Pfad am Montag mal ausprobieren.
linux - How to set $LD_LIBRARY_PATH in Ubuntu? - Server Fault

Bei dem Libtool schein es so zu sein, als müsste man das direkt mit in die Makefiles einbauen. Da es nicht mein Code ist und da schon zwei große Fehler drin waren, die erst mal gefixt werden mussten, damit überhaupt das make durchläuft, will ich da nicht weiter dran rum ändern.
 
Oben Unten