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)

NAME
     ldconfig -- configure the shared library cache

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

DESCRIPTION
     ldconfig is used to prepare a set of ``hints'' for	use by the dynamic
     linker to facilitate quick	lookup of shared libraries available in	multi-
     ple 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	opera-
     tions 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.

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

     Ldconfig is typically run as part of the boot sequence.

     The following options are recognized by ldconfig:

     -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, 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	9.3			October	3, 1993			   FreeBSD 9.3

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

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

home | help