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  dynamic linker search path	for shared li-
       braries

SYNOPSIS
       ldconfig	[-32] [-BRimr] [-f hints_file] [directory | file ...]

DESCRIPTION
       ldconfig	utility	is used	to configure the set of	paths used by the  dy-
       namic  linker  ld-elf.so.1(1) when searching for	shared libraries.  The
       dynamic linker looks for	libraries in a set of built-in system directo-
       ries and	any directories	specified in the hints	file.	This  obviates
       the need	for storing search paths within	the executable,	see the	-rpath
       option for the static linker ld(1).

       The  hints  file	is maintained by ldconfig.  The	directories list to be
       stored in the hints file	is supplied on the command line.

       Alternatively to	the directories	list on	the command line, files	may be
       specified; these	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  LD_LIBRARY_PATH  environment variable can be used to specify addi-
       tional shared library search directories.   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 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.

       -elf    Ignored for backwards compatibility.

       -B      Force  writing  big-endian  binary data to the hints file.  The
	       default is to create hints files	in little-endian byte-order on
	       all architectures.  Reading of and  merging  into  hints	 files
	       preserves the endianness	of the existing	hints file.

       -R      Appends	pathnames  on  the  command line to the	directory list
	       from the	hints file.

	       This is the default action when no options 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	list of	the directories	to search with
	       the directories specified on the	command	line,  merge  existing
	       list  with  the	specified directories, and write the result to
	       the hints file.

       -r      List the	current	list of	the directories	from the hints file on
	       the standard output.  The hints file is not modified.

	       Scan and	print all libraries found on the directories list.

       The historic options -elf, -s, and -v are accepted but ignored.

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 paths	found in the hints file.  In  particu-
       lar,  the  LD_LIBRARY_PATH  is not used to search for libraries.	 Thus,
       ldconfig	serves to specify the trusted collection of  directories  from
       which shared objects can	be safely loaded.

FILES
       /var/run/ld-elf.so.hints	      Standard	hints file for the ELF dynamic
				      linker.
       /var/run/ld-elf32.so.hints     Hints file for 32	bit  libraries	on  64
				      bit architectures, processed by ldconfig
				      when invoked with	-32.
       /etc/ld-elf.so.conf	      Optional	file with names	of directories
				      to be included  in  the  standard	 hints
				      file when	booting	to multi-user mode.
       /usr/local/libdata/ldconfig/*  Additional  files	with names of directo-
				      ries provided by optional	ports or pack-
				      ages.

SEE ALSO
       ld(1), ld-elf.so.1(1), link(5)

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

       The name	'hints file' is	historic from the times	 when  the  file  also
       contained  hints	to the dynamic linker.	This functionality is not pro-
       vided for ELF.

FreeBSD	15.0			April 20, 2024			   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+15.0-RELEASE+and+Ports>

home | help