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
HISTORY
A ldd
utility first appeared in SunOS 4.0,
it appeared in its current form in FreeBSD 1.1.