.png)
In welcher Reihenfolge werden die Pfade durchsucht, um eine gemeinsam genutzte Objektdatei zu laden?
Ich versuche, eine ausführbare Datei auszuführen, die versucht, eine gemeinsam genutzte Objektdatei zu laden. Die gemeinsam genutzte Objektdatei befindet sich unter /usr/lib/x86_64-linux-gnu/
.
Ich habe zwei Benutzer, nennen wir sie user1
und user2
. user1
kann die ausführbare Datei ausführen, aber user2
es tritt der Fehler auf: Die gemeinsam genutzte Objektdatei kann nicht geöffnet werden: libicuuc.so
Beide Benutzer haben dasselbe LD_LIBRARY_PATH
. Was fehlt?
Antwort1
man ldconfigkann dir helfen
/etc/ld.so.cache File containing an ordered list of libraries found
in the directories specified in /etc/ld.so.conf, as
well as those found in /lib and /usr/lib.
aber Ihre Verteilung kann andere Informationen enthalten als meine, Sie sollten Ihre also lesen.
Eine weitere Möglichkeit, um zu entscheiden, welche Bibliotheken an Ihre ausführbare Datei gebunden sind, ist die Verwendung deslddProgramm Ein Beispiel:
ldd /bin/echo
linux-vdso.so.1 => (0x00007ffc2277a000)
libc.so.6 => /lib64/libc.so.6 (0x0000003edc200000)
/lib64/ld-linux-x86-64.so.2 (0x0000003edbe00000)