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

Machine-checked — no person has signed for it. This question was read against the source cited below by an automated pass, which found no contradiction. That is a weaker claim than it sounds: the same kind of process wrote the question, so it can confirm its own mistake.

Treat it as a good draft rather than as settled fact, and read the source below before you rely on it. It is not used in mock exams here — only questions a person has signed for are.

How these questions are written — where each question comes from, what the verification ledger records, and what happens when one is found wrong.

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 short set from objective 102 and space the ones you get wrong.

Practise LPIC-1 Exam 101-500

More questions on this objective

All questions on Linux installation and package management

Practise LPIC-1 Exam 101-500