ldconfig - configure the shared library cache
ldconfig [-RUmrsv] [directory ...]
ldconfig is used to prepare a set of ``hints'' for use by
the run-time
linker ld.so(1) to facilitate quick lookup of shared libraries available
in multiple directories. It scans a set of built-in system
directories
and any directories specified on the command line (in the
given order)
looking for shared libraries and stores the results in the
file
/var/run/ld.so.hints to forestall the overhead that would
otherwise result
from the directory search operations ld.so(1) would
have to perform
to load the required shared libraries.
The shared libraries so found will be automatically available for loading
if needed by the program being prepared for execution. This
obviates the
need for storing search paths within the executable.
The LD_LIBRARY_PATH environment variable can be used to
override the use
of directories (or the order thereof) from the cache or to
specify additional
directories where shared libraries might be found.
LD_LIBRARY_PATH is a `:' separated list of directory paths
which are
searched by ld.so(1) when it needs to load a shared library.
It can be
viewed as the run-time equivalent of the -L switch of ld(1).
ldconfig is typically run as part of the boot sequence. In
addition to
the built-in system directories, directories containing
shared libraries
may be specified via the shlib_dirs variable in
/etc/rc.conf.local. See
rc.conf(8) for further information.
The following options are recognized by ldconfig:
-m Merge the result of the scan of the directories given as arguments
into the existing hints file. The default action is to
build the hints file afresh. This option cannot be
used with -U.
-r List the current contents of ld.so.hints on the
standard output.
The hints file will not be modified.
-R Rescan the previously configured directories. This
opens the
hints file and fetches the directory list from the
header. Any
additional pathnames on the command line are also
processed.
-s Do not scan the built-in system directory
(``/usr/lib'') for
shared libraries.
-U Unconfigure directories specified on the command
line or remove
inaccessible directories from search path if no directories specified.
This option cannot be used with -m.
-v Switch on verbose mode.
Special care must be taken when loading shared libraries into the address
space of set-user-Id programs. Whenever such a program is
run, ld.so(1)
will only load shared libraries from the ld.so.hints file.
In particular,
the LD_LIBRARY_PATH is not used to search for libraries. Thus, the
role of ldconfig is dual. In addition to building a set of
hints for
quick lookup, it also serves to specify the trusted collection of directories
from which shared objects can be safely loaded. It
is presumed
that the set of directories specified to ldconfig are under
control of
the system's administrator. ld.so(1) further assists setuser-Id programs
by erasing the LD_LIBRARY_PATH from the environment.
LD_LIBRARY_PATH
Additional directories containing shared libraries,
settable in
the user's environment.
shlib_dirs
Additional directories containing shared libraries,
settable in
/etc/rc.conf.local.
/etc/rc.conf
/etc/rc.conf.local
/var/run/ld.so.hints
ld(1), link(5), rc.conf(8)
A ldconfig utility first appeared in SunOS 4.0. It appeared
in its current
form in NetBSD 0.9a.
OpenBSD 3.6 October 3, 1993
[ Back ] |