Ldd (Unix)
{{Other uses|LDD (disambiguation){{!}}LDD}}
{{lowercase|ldd}}
ldd (List Dynamic Dependencies) is a *nix utility that prints the shared libraries required by each program or shared library specified on the command line.{{cite web |url=http://linux.die.net/man/1/ldd |title=ldd(1) – Linux man page|work=die.net |access-date=December 28, 2011}} It was developed by Roland McGrath and Ulrich Drepper.{{cite web |url=http://stuff.mit.edu/afs/sipb/project/phone-project/bin/arm-linux-ldd|title=ldd Source Code|work=stuff.mit.edu|access-date=March 26, 2014}} If some shared library is missing for any program, that program won't come up.
Security
ldd is a shell script that executes the program given as argument, and shouldn't be used with untrusted binaries. The ldd manual page suggests to use the following command using the objdump and grep utilities as alternative:{{Cite web|title=ldd(1): print shared library dependencies - Linux man page|url=https://linux.die.net/man/1/ldd|access-date=2020-11-18|website=linux.die.net}}
user@home ~/ $ objdump -p /path/program | grep NEEDED
Usage examples
user@home ~/ $ ldd /usr/bin/mp3blaster
linux-vdso.so.1 => (0x00007fff8fdff000)
libsidplay.so.1 => /usr/lib/libsidplay.so.1 (0x00007f4ea98ec000)
libvorbisfile.so.3 => /usr/lib/libvorbisfile.so.3 (0x00007f4ea96e4000)
libvorbis.so.0 => /usr/lib/libvorbis.so.0 (0x00007f4ea94b6000)
libncurses.so.5 => /lib/libncurses.so.5 (0x00007f4ea9273000)
libpthread.so.0 => /lib/libpthread.so.0 (0x00007f4ea9056000)
libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x00007f4ea8d41000)
libm.so.6 => /lib/libm.so.6 (0x00007f4ea8abe000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x00007f4ea88a7000)
libc.so.6 => /lib/libc.so.6 (0x00007f4ea8523000)
libogg.so.0 => /usr/lib/libogg.so.0 (0x00007f4ea831c000)
libdl.so.2 => /lib/libdl.so.2 (0x00007f4ea8118000)
/lib64/ld-linux-x86-64.so.2 (0x00007f4ea9b59000)
user@home ~/ $ ldd /usr/lib/i386-linux-gnu/libstdc++.so.6.0.20
linux-gate.so.1 (0xb7733000)
libm.so.6 => /lib/i386-linux-gnu/i686/cmov/libm.so.6 (0xb75da000)
libc.so.6 => /lib/i386-linux-gnu/i686/cmov/libc.so.6 (0xb742f000)
/lib/ld-linux.so.2 (0xb7734000)
libgcc_s.so.1 => /lib/i386-linux-gnu/libgcc_s.so.1 (0xb7411000)