Skip site navigation (1)Skip section navigation (2)

FreeBSD Man Pages

Man Page or Keyword Search:
Man Architecture
Apropos Keyword Search (all sections) Output format
home | help
LDCONFIG(8)		FreeBSD	System Manager's Manual		   LDCONFIG(8)

     ldconfig -- configure the shared library cache

     ldconfig [-32] [-aout | -elf] [-Rimrsv] [-f hints_file]
	      [directory | file	...]

     The ldconfig utility is used to prepare a set of ``hints''	for use	by the
     dynamic linker to facilitate quick	lookup of shared libraries available
     in	multiple directories.  It scans	a set of built-in system directories
     and any directories specified on the command line (in the given order)
     looking for shared	libraries and stores the results in a system file to
     forestall the overhead that would otherwise result	from the directory
     search operations the dynamic linker would	have to	perform	to load	the
     required shared libraries.

     Files named on the	command	line are expected to contain directories to
     scan for shared libraries.	 Each directory's pathname must	start on a new
     line.  Blank lines	and lines starting with	the comment character `#' are
     ignored.  Filenames must conform to the lib*.so.[0-9] pattern in order to
     be	added to the hints file.

     For security reasons, directories which are world or group-writable or
     which are not owned by root produce warning messages and are skipped,
     unless the	-i option is present.

     The shared	libraries which	are found will be automatically	available for
     loading if	needed by the program being prepared for execution.  This
     obviates the need for storing search paths	within the executable.

     The LD_LIBRARY_PATH environment variable can be used to override the use
     of	directories (or	the order thereof) from	the cache or to	specify	addi-
     tional directories	where shared libraries might be	found.
     LD_LIBRARY_PATH is	a `:' separated	list of	directory paths	which are
     searched by the dynamic linker when it needs to load a shared library.
     It	can be viewed as the run-time equivalent of the	-L switch of ld(1).

     The ldconfig utility is typically run as part of the boot sequence.

     The following options are recognized by ldconfig:

     -32     Generate the hints	for 32-bit ABI shared libraries	on 64-bit sys-
	     tems that support running 32-bit binaries.

     -aout   Generate the hints	for a.out format shared	libraries.

     -elf    Generate the hints	for ELF	format shared libraries.

     -R	     Rescan the	previously configured directories.  This opens the
	     previous hints file and fetches the directory list	from the
	     header.  Any additional pathnames on the command line are also
	     processed.	 This is the default action when no parameters are

     -f	hints_file
	     Read and/or update	the specified hints file, instead of the stan-
	     dard file.	 This option is	provided primarily for testing.

     -i	     Run in insecure mode.  The	security checks	will not be performed.

     -m	     Instead of	replacing the contents of the hints file with those
	     found in the directories specified, ``merge'' in new entries.
	     Directories recorded in the hints file by previous	runs of
	     ldconfig are also rescanned for new shared	libraries.

     -r	     List the current contents of the hints file on the	standard out-
	     put.  The hints file is not modified.  The	list of	directories
	     stored in the hints file is included.

     -s	     Do	not scan the built-in system directory (``/usr/lib'') for
	     shared libraries.

     -v	     Switch on verbose mode.

     Special care must be taken	when loading shared libraries into the address
     space of set-user-Id programs.  Whenever such a program is	run by any
     user except the owner of the program, the dynamic linker will only	load
     shared libraries from the hints file.  In particular, the LD_LIBRARY_PATH
     is	not used to search for libraries.  Thus, the role of ldconfig is dual.
     In	addition to building a set of hints for	quick lookup, it also serves
     to	specify	the trusted collection of directories from which shared
     objects can be safely loaded.

     /var/run/	  Standard hints file for the a.out dynamic
     /var/run/	  Standard hints file for the ELF dynamic
     /etc/		  Conventional configuration file containing
				  directory names for invocations with -aout.
     /etc/	  Conventional configuration file containing
				  directory names for invocations with -elf.
     /var/run/	  Conventional configuration files containing
				  directory names for invocations with -32.

     ld(1), link(5)

     A ldconfig	utility	first appeared in SunOS	4.0, it	appeared in its	cur-
     rent form in FreeBSD 1.1.

     Some security checks (for example,	verifying root ownership of added
     directories) are not performed when -aout is specified.

FreeBSD	11.0			March 19, 2013			  FreeBSD 11.0


Want to link to this manual page? Use this URL:

home | help