Ich schaue auf ld.so.conf und lese:

include ld.so.conf.d/*.conf 

OK, also gehe ich zum Include und sehe diese Dateien:

bind99-x86_64.conf kernel-4.16.11-100.fc26.x86_64.conf kernel-4.11.8-300.fc26.x86_64.conf libiscsi-x86_64.conf 

Nun sind zwei dieser Dateien Platzhalter, die anderen beiden listen ungefähr fünf Bibliotheken zwischen ihnen auf.

ldconfig -v listet jedoch mehrere Seiten mit Bibliotheken auf. Offensichtlich gibt es in meinem Fedora Standard-Lib-Pfadzuweisungen, die diese Suchpfade nicht in ld.co.conf angeben. Zum Beispiel muss /usr/lib64 irgendwo gesetzt werden, ich kann es nicht über ld.so.conf verfolgen.

Ich konnte keine identifizieren Umgebungsvariable lib path, die den internen lib-Standardpfad festlegt.

Kommentare

  • Die /etc/ld.so.conf* -Dateien enthalten nur Verzeichnisse Beim Erstellen der Datei ld.so.cache wurde von ldconfig (8) nach Bibliotheken gesucht. Sie ' werden weder von gcc, ld noch vom dynamischen Linker verwendet ld.so (8) – aber Letzteres verwendet die von ldconfig erstellte ld.so.cache.

Antwort

ldconfig betrachtet zusätzlich standardmäßig einige „vertrauenswürdige Verzeichnisse“ zu denen, die explizit in den Konfigurationsdateien aufgeführt sind. Unter Fedora unter 64-Bit x86 sind dies die Verzeichnisse /lib, /lib64 und entsprechend den Hardwarefunktionen (normalerweise /lib/i686, /lib/sse2, /lib64/tls, und /lib/sse2).

Beachten Sie, dass ldconfig nur das Laufzeitverhalten beeinflusst. GCC ist davon nicht betroffen.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.