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

FreeBSD Manual Pages

  
 
  

home | help
LDCONFIG(8)		    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
       additional   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
	       systems 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
	       given.

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

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

       -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
	       output.	 The hints file	is not modified.  The list of directo-
	       ries 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 ad-
       dress 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.
       /var/run/ld-elf32.so.hints
       /var/run/ld32.so.hints	    Conventional  configuration	files contain-
				    ing	directory names	for  invocations  with
				    -32.
       /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	7.4		       November	11, 2005		   LDCONFIG(8)

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

home | help