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

FreeBSD Manual Pages

  
 
  

home | help
LDCONFIG(8)		FreeBSD	System Manager's Manual		   LDCONFIG(8)

NAME
     ldconfig -- configure the shared library cache

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

DESCRIPTION
     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     On	64-bit systems that support running 32-bit binaries, generate
	     hints for 32-bit shared libraries.

     -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
	     given.

     -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.

SECURITY
     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.

ENVIRONMENT
     OBJFORMAT	   Overrides /etc/objformat (see below)	to determine whether
		   -aout or -elf is the	default.  If set, its value should be
		   either `aout' or `elf'.

FILES
     /var/run/ld.so.hints	  Standard hints file for the a.out dynamic
				  linker.
     /var/run/ld-elf.so.hints	  Standard hints file for the ELF dynamic
				  linker.
     /etc/ld.so.conf		  Conventional configuration file containing
				  directory names for invocations with -aout.
     /etc/ld-elf.so.conf	  Conventional configuration file containing
				  directory names for invocations with -elf.
     /etc/objformat		  Determines whether -aout or -elf is the
				  default.  If present,	it must	consist	of a
				  single line containing either
				  `OBJFORMAT=aout' or `OBJFORMAT=elf'.

SEE ALSO
     ld(1), link(5)

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

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

FreeBSD	11.1		       November	11, 2005		  FreeBSD 11.1

NAME | SYNOPSIS | DESCRIPTION | SECURITY | ENVIRONMENT | FILES | SEE ALSO | HISTORY | BUGS

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=ldconfig&sektion=8&manpath=FreeBSD+6.1-RELEASE>

home | help