Jeg ser på ld.so.conf, den lyder:

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

OK, så jeg går til inkluderingen og ser disse 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 er to af disse filer pladsholdere, de to andre viser omkring fem libs mellem dem.

Alligevel vil ldconfig -v angive flere sider med libs. Der er tydeligvis standard lib-stiftildelinger i min fedora, der angiver disse søgestier ikke i ld.co.conf. For eksempel skal /usr/lib64 indstilles et eller andet sted, jeg kan ikke spore det via ld.so.conf.

Jeg kunne ikke identificere nogen lib path miljøvariabel, der indstiller den interne standard lib path.

Kommentarer

  • /etc/ld.so.conf* filer indeholder kun mapper der vil være søgte efter biblioteker af ldconfig (8), da man byggede ld.so.cache filen. De ' bruges ikke af hverken gcc, ld eller den dynamiske linker ld.so (8) – men sidstnævnte bruger ld.so.cache oprettet af ldconfig.

Svar

ldconfig ser på et par “betroede mapper” som standard til dem, der eksplicit er angivet i dens konfigurationsfiler. På Fedora på 64-bit x86 er disse /lib, /lib64 og mapper svarende til hardwarefunktioner (typisk /lib/i686, /lib/sse2, /lib64/tls, og /lib/sse2).

Bemærk, at ldconfig kun påvirker runtime-opførsel; det påvirker ikke GCC.

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *