A tool that:
- 🌳 turns
lddinto a tree - ☝️ explains how shared libraries are found or why they cannot be located
By default, certain standard dependencies are not shown. For more verbose output use
libtree -vShow libraries skipped by defaultlibtree -vvShow dependencies of libraries skipped by defaultlibtree -vvvShow dependencies of already encountered libraries
Use the --path or -p flags to show paths rather than sonames:
libtree -p $(which tar)
Use --max-depth to limit the recursion depth.
-
arch sha256sum aarch64 (linux) c5d4fbcd4e3fb46f02c028532f60fcf1c92f7c6aad5b07a991c67550c2554862armv6l (linux) 16f5a7503a095bd88ebc5e21ec4ba8337c5d9712cac355bf89399c9e6beef661armv7l (linux) 17f493621e7cc651e2bddef207c1554a64a114e1c907dbe5b79ff0e97180b29ei686 (linux) 230a163c20f4a88a983d8647a9aa793317be6556e2c6a79e8a6295389e651ef5x86_64 (linux) 49218482f89648972ea4ef38cf986e85268efd1ce8f27fe14b23124bca009e6f -
Fedora / RHEL / CentOS
$ dnf install epel-release # For RHEL and derivatives enable EPEL first $ dnf install libtree-ldd
-
Ubuntu 22.04+
apt-get install libtree -
guix install libtree
libtree requires a C compiler that understands c99
git clone https://github.com/haampie/libtree.git
cd libtree
make # recommended: LDFLAGS=-static
Or use the following unsafe quick install instructions
curl -Lfs https://raw.githubusercontent.com/haampie/libtree/master/libtree.c | ${CC:-cc} -o libtree -x c - -std=c99 -D_FILE_OFFSET_BITS=64