LDD(1)                  FreeBSD General Commands Manual                 LDD(1)

NAME

     ldd - list dynamic object dependencies

SYNOPSIS

     ldd [-a] [-f format [-f format]] program ...

DESCRIPTION

     The ldd utility displays all shared objects that are needed to run the
     given program or to load the given shared object.  Contrary to nm(1), the
     list includes "indirect" dependencies that are the result of needed
     shared objects which themselves depend on yet other shared objects.

     Zero, one or two -f options may be given.  The argument is a format
     string passed to rtld(1) and allows customization of ldd's output.  If
     one is given, it sets LD_TRACE_LOADED_OBJECTS_FMT1.  If two are given,
     they set LD_TRACE_LOADED_OBJECTS_FMT1 and LD_TRACE_LOADED_OBJECTS_FMT2,
     respectively.  See rtld(1) for details, including a list of recognized
     conversion characters.

     The -a option displays the list of all objects that are needed by each
     loaded object.

IMPLEMENTATION NOTES

     ldd lists the dependencies of an executable by setting rtld(1)
     environment variables and running the executable in a child process.  If
     the executable is corrupt or invalid, ldd may therefore fail without
     providing any diagnostic error messages.

EXAMPLES

     The following is an example of a shell pipeline which uses the -f option.
     It will print a report of all ELF binaries in the current directory,
     which link against the old libc.so.6:
           find . -type f | xargs file -F ' ' | grep 'ELF.*dynamically' | cut
           -f1 -d' ' | xargs ldd -f '%A %o\n' | grep -F libc.so.6

SEE ALSO

     ld(1), nm(1), readelf(1), rtld(1)

HISTORY

     A ldd utility first appeared in SunOS 4.0, it appeared in its current
     form in FreeBSD 1.1.

FreeBSD 15.1-STABLE-HBSD        March 21, 2023                          LDD(1)