# ldconfig

## NAME



           ldconfig - configure dynamic linker run-time bindings
    


## SYNOPSIS



           **/sbin/ldconfig**[**-nNvVX**] [**-C** _cache_] [**-f** _conf_] [**-r** _root_]
                          _directory_ ...
    
           **/sbin/ldconfig -l**[**-v**] _library_ ...
    
           **/sbin/ldconfig -p**
    


## DESCRIPTION



           **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 _/etc/ld.so.conf_ , and in the trusted directories,
           _/lib_ and _/usr/lib_.  On some 64-bit architectures such as x86-64,
           _/lib_ and _/usr/lib_ are the trusted directories for 32-bit
           libraries, while _/lib64_ and _/usr/lib64_ are used for 64-bit
           libraries.
    
           The cache is used by the run-time linker, _ld.so_ or _ld-linux.so_.
           **ldconfig** checks the header and filenames of the libraries it
           encounters when determining which versions should have their links
           updated.  **ldconfig** should normally be run by the superuser as it
           may require write permission on some root owned directories and
           files.
    
           **ldconfig** will look only at files that are named _lib*.so*_ (for
           regular shared objects) or _ld-*.so*_ (for the dynamic loader
           itself).  Other files will be ignored.  Also, **ldconfig** expects a
           certain pattern to how the symbolic links are set up, like this
           example, where the middle file (**libfoo.so.1** here) is the SONAME
           for the library:
    
               libfoo.so -> libfoo.so.1 -> libfoo.so.1.12
    
           Failure to follow this pattern may result in compatibility issues
           after an upgrade.
    


## OPTIONS



           **--format=**_fmt_
           **-c** _fmt_ (Since glibc 2.2) Use cache format _fmt_ , which is one of
                  **old** , **new** , or **compat**.  Since glibc 2.32, the default is **new**.
                  Before that, it was **compat**.
    
           **-C** _cache_
                  Use _cache_ instead of _/etc/ld.so.cache_.
    
           **-f** _conf_
                  Use _conf_ instead of _/etc/ld.so.conf_.
    
           **--ignore-aux-cache**
           **-i**(Since glibc 2.7) Ignore auxiliary cache file.
    
           **-l**(Since glibc 2.2) Interpret each operand as a library name
                  and configure its links.  Intended for use only by experts.
    
           **-n** Process only the directories specified on the command line;
                  don't process the trusted directories, nor those specified
                  in _/etc/ld.so.conf_.  Implies **-N**.
    
           **-N** Don't rebuild the cache.  Unless **-X** is also specified,
                  links are still updated.
    
           **--print-cache**
           **-p** Print the lists of directories and candidate libraries
                  stored in the current cache.
    
           **-r** _root_
                  Change to and use _root_ as the root directory.
    
           **--verbose**
           **-v** Verbose mode.  Print current version number, the name of
                  each directory as it is scanned, and any links that are
                  created.  Overrides quiet mode.
    
           **--version**
           **-V** Print program version.
    
           **-X** Don't update links.  Unless **-N** is also specified, the cache
                  is still rebuilt.
    


## FILES



           _/lib/ld.so_
                  is the run-time linker/loader.
           _/etc/ld.so.conf_
                  contains a list of directories, one per line, in which to
                  search for libraries.
           _/etc/ld.so.cache_
                  contains an ordered list of libraries found in the
                  directories specified in _/etc/ld.so.conf_ , as well as those
                  found in the trusted directories.
    


* * *