I look at ld.so.conf, it reads:

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

OK, so I go to the include and see these files:

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

Now two of those files are place holders, the other two list about five libs between them.

Yet ldconfig -v will list several pages of libs. Obviously there are default lib path assignments inside my fedora that specify these search paths not in ld.co.conf. For example, /usr/lib64 must be set somewhere, I cannot trace it via ld.so.conf.

I could not identify any lib path environmental variable that sets the internal default lib path.

  • the /etc/ld.so.conf* files only contain directories that will be searched for libraries by ldconfig(8) when building the ld.so.cache file. They're not used by either gcc, ld or the dynamic linker ld.so(8) -- but the latter will use the ld.so.cache created by ldconfig. – mosvy Nov 27 '18 at 17:22

ldconfig looks at a few “trusted directories” by default, in addition to those explicitly listed in its configuration files. On Fedora on 64-bit x86, these are /lib, /lib64, and directories corresponding to hardware capabilities (typically, /lib/i686, /lib/sse2, /lib64/tls, and /lib/sse2).

Note that ldconfig only affects runtime behaviour; it doesn’t affect GCC.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.