.\" Copyright 1999 SuSE GmbH Nuernberg, Germany
.\" Author: Thorsten Kukuk <kukuk@suse.de>
.\"
.\" %%%LICENSE_START(GPLv2+_SW_3_PARA)
.\" This program is free software; you can redistribute it and/or
.\" modify it under the terms of the GNU General Public License as
.\" published by the Free Software Foundation; either version 2 of the
.\" License, or (at your option) any later version.
.\"
.\" This program is distributed in the hope that it will be useful,
.\" but WITHOUT ANY WARRANTY; without even the implied warranty of
.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
.\" General Public License for more details.
.\"
.\" You should have received a copy of the GNU General Public
.\" License along with this manual; if not, see
.\" <http://www.gnu.org/licenses/>.
.\" %%%LICENSE_END
.\"
.\" Modified, 6 May 2002, Michael Kerrisk, <mtk.manpages@gmail.com>
.\"   Change listed order of /usr/lib and /lib
.TH LDCONFIG 8 2021-03-22 "GNU" "Linux Programmer's Manual"
.SH NAME
ldconfig \- configure dynamic linker run-time bindings
.SH SYNOPSIS
.BR /sbin/ldconfig " [" \-nNvXV "] [" \-f " \fIconf\fP] [" \-C " \fIcache\fP] [" \-r " \fIroot\fP]"
.IR directory \...
.PD 0
.PP
.PD
.B /sbin/ldconfig
.B \-l
.RB [ \-v ]
.IR library \...
.PD 0
.PP
.PD
.B /sbin/ldconfig
.B \-p
.SH DESCRIPTION
.B ldconfig
creates the necessary links and cache to the most recent shared
libraries found in the directories specified on the command line,
in the file
.IR /etc/ld.so.conf ,
and in the trusted directories,
.I /lib
and
.IR /usr/lib
(on some 64-bit architectures such as x86-64,
.I /lib
and
.IR /usr/lib
are the trusted directories for 32-bit libraries, while
.I /lib64
and
.IR /usr/lib64
are used for 64-bit libraries).
.PP
The cache is used by the run-time linker,
.I ld.so
or
.IR ld\-linux.so .
.B ldconfig
checks the header and filenames of the libraries it encounters when
determining which versions should have their links updated.
.PP
.B ldconfig
will attempt to deduce the type of ELF libraries (i.e., libc5 or libc6/glibc)
based on what C libraries, if any, the library was linked against.
.\" The following sentence looks suspect
.\" (perhaps historical cruft) -- MTK, Jul 2005
.\" Therefore, when making dynamic libraries,
.\" it is wise to explicitly link against libc (use \-lc).
.PP
Some existing libraries do not contain enough information
to allow the deduction of their type.
Therefore, the
.I /etc/ld.so.conf
file format allows the specification of an expected type.
This is used
.I only
for those ELF libraries which we can not work out.
The format
is "dirname=TYPE", where TYPE can be libc4, libc5, or libc6.
(This syntax also works on the command line.)
Spaces are
.I not
allowed.
Also see the
.B \-p
option.
.B ldconfig
should normally be run by the superuser as it may require write
permission on some root owned directories and files.
.PP
Note that
.B ldconfig
will only look at files that are named
.I lib*.so*
(for regular shared objects) or
.I ld\-*.so*
(for the dynamic loader itself).
Other files will be ignored.
Also,
.B ldconfig
expects a certain pattern to how the symlinks are set up, like this
example, where the middle file
.RB ( libfoo.so.1
here) is the SONAME for the library:
.PP
.in +4n
.EX
libfoo.so \-> libfoo.so.1 \-> libfoo.so.1.12
.EE
.in
.PP
Failure to follow this pattern may result in compatibility issues
after an upgrade.
.SH OPTIONS
.TP
.BR \-c " \fIfmt\fP, " \-\-format=\fIfmt\fP
(Since glibc 2.2)
Cache format to use:
.IR old ,
.IR new ,
or
.IR compat .
Since glibc 2.32, the default is
.IR new .
.\" commit cad64f778aced84efdaa04ae64f8737b86f063ab
Before that, it was
.IR compat .
.TP
.BI "\-C " cache
Use
.I cache
instead of
.IR /etc/ld.so.cache .
.TP
.BI "\-f " conf
Use
.I conf
instead of
.IR /etc/ld.so.conf .
.\" FIXME glibc 2.7 added -i
.TP
.BR \-i ", " \-\-ignore\-aux\-cache
(Since glibc 2.7)
.\"             commit 27d9ffda17df4d2388687afd12897774fde39bcc
Ignore auxiliary cache file.
.TP
.B \-l
(Since glibc 2.2)
Library mode.
Manually link individual libraries.
Intended for use by experts only.
.TP
.B \-n
Process only the directories specified on the command line.
Don't process the trusted directories,
nor those specified in
.IR /etc/ld.so.conf .
Implies
.BR \-N .
.TP
.B \-N
Don't rebuild the cache.
Unless
.B \-X
is also specified, links are still updated.
.TP
.BR \-p ", " \-\-print\-cache
Print the lists of directories and candidate libraries stored in
the current cache.
.TP
.BI "\-r " root
Change to and use
.I root
as the root directory.
.TP
.BR \-v ", " \-\-verbose
Verbose mode.
Print current version number, the name of each directory as it
is scanned, and any links that are created.
Overrides quiet mode.
.TP
.BR \-V ", " \-\-version
Print program version.
.TP
.B \-X
Don't update links.
Unless
.B \-N
is also specified, the cache is still rebuilt.
.SH FILES
.\" FIXME Since glibc-2.3.4, "include" directives are supported in ld.so.conf
.\"
.\" FIXME Since glibc-2.4, "hwcap" directives are supported in ld.so.conf
.PD 0
.TP
.I /lib/ld.so
Run-time linker/loader.
.TP
.I /etc/ld.so.conf
File containing a list of directories, one per line,
in which to search for libraries.
.TP
.I /etc/ld.so.cache
File containing an ordered list of libraries found in the directories
specified in
.IR /etc/ld.so.conf ,
as well as those found in the trusted directories.
.PD
.SH SEE ALSO
.BR ldd (1),
.BR ld.so (8)
