You installed a vendor application whose shared libraries live in /opt/vendor/lib. You added a line containing that directory to /etc/ld.so.conf.d/vendor.conf, but programs still cannot find the libraries. What is the missing step?
LPIC-1 Exam 101-500, objective 102. Linux installation and package management medium
Draft — not checked yet. This question was written from the published exam objectives and cites the clause it comes from, but nobody has yet read it against that clause and signed for it.
It is kept out of search results and out of mock exams until they have. Read the source below before you take the answer as settled.
The options
Correct Run ldconfig so the cache in /etc/ld.so.cache is rebuilt from the configured directories
Correct. The dynamic linker consults the binary cache /etc/ld.so.cache, not the text configuration, so a new directory takes effect only after ldconfig regenerates that cache.
Not correct Run ldd against the new directory to register its libraries
Wrong. ldd only reports the dependencies of a program or library you name; it registers nothing and cannot take a directory as a meaningful argument.
Not correct Reboot, because /etc/ld.so.conf is only read at boot time
Wrong. Nothing reads ld.so.conf at boot on your behalf; it is read by ldconfig whenever you run it. A reboot may appear to work only because distributions run ldconfig during startup or package installation.
Not correct Copy the libraries into /lib, because the dynamic linker only searches /lib
Wrong. The linker searches the cached directories, the paths in a binary's RPATH/RUNPATH, LD_LIBRARY_PATH, and the trusted defaults /lib and /usr/lib. Adding a directory is a supported alternative to copying files around.
Why
The search path for shared libraries is configured in /etc/ld.so.conf and the files it includes (typically /etc/ld.so.conf.d/*.conf), but the dynamic linker reads only the compiled cache /etc/ld.so.cache. ldconfig is the program that walks the configured directories and rebuilds that cache; run it as root after adding, removing, or updating libraries outside the package manager.
Where this comes from
- Cited
- LPI exam objective 102.3
- What it says
- Manage shared library configuration: /etc/ld.so.conf, ldconfig and the linker cache.
Practise this
Reading one question is not practice. The trainer will draw a set from objective 102 and space the ones you get wrong.