.\" Copyright 1999 SuSE GmbH Nuernberg, Germany .\" Author: Thorsten Kukuk .\" .\" SPDX-License-Identifier: GPL-2.0-or-later .\" .\" Modified, 6 May 2002, Michael Kerrisk, .\" Change listed order of /usr/lib and /lib .TH LDCONFIG 8 (date) "Linux man-pages (unreleased)" .SH NAME ldconfig \- configure dynamic linker run-time bindings .SH SYNOPSIS .PD 0 .BR /sbin/ldconfig " [" \-nNvXV "] [" \-f " \fIconf\fP] [" \-C " \fIcache\fP] [" \-r " \fIroot\fP]" .IR directory ... .PP .B /sbin/ldconfig .B \-l .RB [ \-v ] .IR library ... .PP .B /sbin/ldconfig .B \-p .PD .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 .I /usr/lib (on some 64-bit architectures such as x86-64, .I /lib and .I /usr/lib are the trusted directories for 32-bit libraries, while .I /lib64 and .I /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) .\" commit 45eca4d141c047950db48c69c8941163d0a61fcd 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 . .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)