LDD(1)

LDD(1) | General Commands Manual | LDD(1)

# NAME

`ldd` — list dynamic object dependencies

# SYNOPSIS

`ldd` | [`-ov`] [`-f` format] program ...

# DESCRIPTION

`ldd` displays all shared objects that are needed to run the given program. Unlike 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 that allows customization of `ldd`'s output. The first format argument is used for library objects and defaults to ‘`\t-l%o.%m => %p\n`’. The second format argument is used for non-library objects and defaults to ‘`\t%o => %p\n`’.

These arguments are interpreted as format strings a la printf(3) to customize the trace output and allow `ldd` to be operated as a filter more conveniently. The following conversions can be used:

`%a`
  The main program's absolute path, constructed either from the exact argument passed to `ldd` if it is an absolute path, or having the current working directory prepended to it if not.
`%A`
  The program name from the argument vector.
`%o`
  The library name.
`%m`
  The library's major version number.
`%n`
  Obsolete (a.out). The library's minor version number, expands to an empty string in ELF.
`%p`
  The full pathname as determined by `rtld`'s library search rules.
`%x`
  The library's load address

Additionally, ‘`\n`’ and ‘`\t`’ are recognized and have their usual meaning.

The `-o` option is a shorthand to set the format for library objects to ‘`%a:-l%o.%m => %p\n`’, which makes `ldd` behave analogously to `nm` `-o`. It cannot be combined with `-f`.

The `-v` option turns on verbose mode.

# EXIT STATUS

The `ldd` utility exits 0 on success, and >0 if an error occurs.

# SEE ALSO

ld(1), ld.elf_so(1), nm(1), rtld(1)

# HISTORY

A `ldd` utility first appeared in SunOS 4.0. It appeared in its current form in NetBSD 0.9A.

February 1, 2025 | NetBSD 11.0