1 .\" Copyright 1999 SuSE GmbH Nuernberg, Germany
2 .\" Author: Thorsten Kukuk <kukuk@suse.de>
4 .\" SPDX-License-Identifier: GPL-2.0-or-later
6 .\" Modified, 6 May 2002, Michael Kerrisk, <mtk.manpages@gmail.com>
7 .\" Change listed order of /usr/lib and /lib
8 .TH LDCONFIG 8 2022-09-09 "Linux man-pages (unreleased)"
10 ldconfig \- configure dynamic linker run-time bindings
12 .BR /sbin/ldconfig " [" \-nNvXV "] [" \-f " \fIconf\fP] [" \-C " \fIcache\fP] [" \-r " \fIroot\fP]"
28 creates the necessary links and cache to the most recent shared
29 libraries found in the directories specified on the command line,
32 and in the trusted directories,
36 (on some 64-bit architectures such as x86-64,
40 are the trusted directories for 32-bit libraries, while
44 are used for 64-bit libraries).
46 The cache is used by the run-time linker,
51 checks the header and filenames of the libraries it encounters when
52 determining which versions should have their links updated.
55 will attempt to deduce the type of ELF libraries (i.e., libc5 or libc6/glibc)
56 based on what C libraries, if any, the library was linked against.
57 .\" The following sentence looks suspect
58 .\" (perhaps historical cruft) -- MTK, Jul 2005
59 .\" Therefore, when making dynamic libraries,
60 .\" it is wise to explicitly link against libc (use \-lc).
62 Some existing libraries do not contain enough information
63 to allow the deduction of their type.
66 file format allows the specification of an expected type.
69 for those ELF libraries which we can not work out.
71 is "dirname=TYPE", where TYPE can be libc4, libc5, or libc6.
72 (This syntax also works on the command line.)
80 should normally be run by the superuser as it may require write
81 permission on some root owned directories and files.
85 will only look at files that are named
87 (for regular shared objects) or
89 (for the dynamic loader itself).
90 Other files will be ignored.
93 expects a certain pattern to how the symlinks are set up, like this
94 example, where the middle file
96 here) is the SONAME for the library:
100 libfoo.so \-> libfoo.so.1 \-> libfoo.so.1.12
104 Failure to follow this pattern may result in compatibility issues
108 .BR \-c " \fIfmt\fP, " \-\-format=\fIfmt\fP
115 Since glibc 2.32, the default is
117 .\" commit cad64f778aced84efdaa04ae64f8737b86f063ab
125 .IR /etc/ld.so.cache .
131 .IR /etc/ld.so.conf .
132 .\" FIXME glibc 2.7 added -i
134 .BR \-i ", " \-\-ignore\-aux\-cache
136 .\" commit 27d9ffda17df4d2388687afd12897774fde39bcc
137 Ignore auxiliary cache file.
142 Manually link individual libraries.
143 Intended for use by experts only.
146 Process only the directories specified on the command line.
147 Don't process the trusted directories,
148 nor those specified in
149 .IR /etc/ld.so.conf .
154 Don't rebuild the cache.
157 is also specified, links are still updated.
159 .BR \-p ", " \-\-print\-cache
160 Print the lists of directories and candidate libraries stored in
166 as the root directory.
168 .BR \-v ", " \-\-verbose
170 Print current version number, the name of each directory as it
171 is scanned, and any links that are created.
172 Overrides quiet mode.
174 .BR \-V ", " \-\-version
175 Print program version.
181 is also specified, the cache is still rebuilt.
183 .\" FIXME Since glibc-2.3.4, "include" directives are supported in ld.so.conf
185 .\" FIXME Since glibc-2.4, "hwcap" directives are supported in ld.so.conf
189 Run-time linker/loader.
192 File containing a list of directories, one per line,
193 in which to search for libraries.
196 File containing an ordered list of libraries found in the directories
198 .IR /etc/ld.so.conf ,
199 as well as those found in the trusted directories.