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

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

OK, så jeg går til inkluderingen og ser disse filene:

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 

Nå er to av disse filene plassholdere, de to andre viser omtrent fem libs mellom dem.

Likevel vil ldconfig -v liste opp flere sider med libs. Åpenbart er det standard lib-banetildelinger i fedoraen min som spesifiserer disse søkebanene ikke i ld.co.conf. For eksempel må /usr/lib64 settes et sted, jeg kan ikke spore det via ld.so.conf.

Jeg kunne ikke identifisere noen lib path miljøvariabel som angir den interne standard lib-banen.

Kommentarer

  • /etc/ld.so.conf* filene inneholder bare kataloger som vil være søkte etter biblioteker av ldconfig (8) når du bygde ld.so.cache -filen. De ' brukes ikke av verken gcc, ld eller den dynamiske linkeren ld.so (8) – men sistnevnte vil bruke ld.so.cache opprettet av ldconfig.

Svar

ldconfig ser på noen få “pålitelige kataloger” som standard, i tillegg til de som er eksplisitt oppført i konfigurasjonsfilene. På Fedora på 64-biters x86 er dette /lib, /lib64 og kataloger tilsvarende maskinvarefunksjonene (vanligvis /lib/i686, /lib/sse2, /lib64/tls, og /lib/sse2).

Merk at ldconfig bare påvirker kjøretidsatferd; det påvirker ikke GCC.

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *