Suchpfade für gemeinsam genutzte Objektdateien (SO-Dateien)

Suchpfade für gemeinsam genutzte Objektdateien (SO-Dateien)

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 user1und user2. user1kann die ausführbare Datei ausführen, aber user2es 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)

verwandte Informationen