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?
 
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:
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.
 
Zurück