1.Dd October 3, 1993 2.Dt LDCONFIG 8 3.Os FreeBSD 1.1 4.Sh NAME 5.Nm ldconfig 6.Nd configure the shared library cache 7.Sh SYNOPSIS 8.Nm ldconfig 9.Op Fl rsv 10.Op Ar directory Ar ... 11.Sh DESCRIPTION 12.Nm 13is used to prepare a set of 14.Dq hints 15for use by the run-time linker 16.Xr ld.so 17to facilitate quick lookup of shared libraries available in multiple 18directories. It scans a set of built-in system directories and any 19.Ar directories 20specified on the command line (in the given order) looking for shared 21libraries and stores the results in the file 22.Xr /var/run/ld.so.hints 23to forstall the overhead that would otherwise result from the 24directory search operations 25.Xr ld.so 26would have to perform to load the required shared libraries. 27.Pp 28The shared libraries so found will be automatically available for loading 29if needed by the program being prepared for execution. This obviates the need 30for storing search paths within the executable. 31.Pp 32The 33.Ev LD_LIBRARY_PATH 34environment variable can be used to override the use of 35directories (or the order thereof) from the cache or to specify additional 36directories where shared libraries might be found. 37.Ev LD_LIBRARY_PATH 38is a 39.Sq \: 40separated list of directory paths which are searched by 41.Xr ld.so 42when it needs to load a shared library. It can be viewed as the run-time 43equivalent of the 44.Fl L 45switch of 46.Xr ld. 47.Pp 48.Nm Ldconfig 49is typically run as part of the boot sequence. 50.Pp 51The following options recognized by 52.Nm ldconfig: 53.Bl -tag -width indent 54.It Fl r 55Lists the current contents of 56.Xr ld.so.hints 57on the standard output. The hints file will not be modified. 58.It Fl s 59Do not scan 60.Nm ldconfig 61\'s builtin system directories 62.Sq /usr/lib 63, 64.Sq /usr/X386/lib 65, 66.Sq /usr/X11R6/lib 67and 68.Sq /usr/local/lib 69for shared libraries. 70.It Fl v 71Switch on verbose mode. 72.Sh Security 73Special care must be taken when loading shared libraries into the address 74space of 75.Ev set-user-Id 76programs. Whenever such a program is run, 77.Xr ld.so 78will only load shared libraries from the 79.Ev ld.so.hints 80file. In particular, the 81.Ev LD_LIBRARY_PATH 82is not used to search for libraries. Thus, the role of ldconfig is dual. In 83addition to building a set of hints for quick lookup, it also serves to 84specify the trusted collection of directories from which shared objects can 85be safely loaded. It is presumed that the set of directories specified to 86.Nm ldconfig 87are under control of the system's administrator. 88.Xr ld.so 89further assists set-user-Id programs by erasing the 90.Ev LD_LIBRARY_PATH 91from the environment. 92 93.Sh FILES 94.Xr /var/run/ld.so.hints 95.Sh SEE ALSO 96.Xr ld 1 , 97.Xr link 5 98.Sh HISTORY 99A 100.Nm 101utility first appeared in SunOS 4.0, it appeared in its current form 102in FreeBSD 1.1. 103