mirror of https://github.com/mkerrisk/man-pages
218 lines
5.3 KiB
Groff
218 lines
5.3 KiB
Groff
.\" 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)
|