Jag tittar på ld.so.conf
, det lyder:
include ld.so.conf.d/*.conf
OK, så jag går till inkludera och ser dessa filer:
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
Nu är två av dessa filer platshållare, de andra två listar ungefär fem libs mellan dem.
Ändå ldconfig -v
listar flera sidor med libs. Uppenbarligen finns det standarduppgifter för lib path inuti min fedora som anger dessa sökvägar inte i ld.co.conf
. Till exempel måste /usr/lib64
ställas in någonstans, jag kan inte spåra det via ld.so.conf
.
Jag kunde inte identifiera någon lib path miljövariabel som ställer in den interna standard lib-sökvägen.
Kommentarer
Svar
ldconfig
tittar på några ”betrodda kataloger” som standard till de som uttryckligen anges i dess konfigurationsfiler. På Fedora på 64-bitars x86 är dessa /lib
, /lib64
och kataloger motsvarande maskinvarufunktioner (vanligtvis /lib/i686
, /lib/sse2
, /lib64/tls
, och /lib/sse2
).
Observera att ldconfig
endast påverkar körningens beteende; det påverkar inte GCC.
/etc/ld.so.conf*
-filerna innehåller bara kataloger som kommer att vara sökte efter bibliotek av ldconfig (8) när du skapadeld.so.cache
-filen. De ' används inte av varken gcc, ld eller den dynamiska länken ld.so (8) – men den senare använderld.so.cache
skapad av ldconfig.