ldd as a tree
  • C 84.4%
  • Makefile 15.6%
Find a file
Jakub Wilk 95d8992968
Improve man page typography (#94)
Remove spurious space before period.
2024-06-21 14:53:49 +02:00
.github/workflows Run GHA on PRs 2022-03-20 19:08:30 +01:00
doc Improve man page typography (#94) 2024-06-21 14:53:49 +02:00
tests Avoid implicit function declarations in tests (#84) 2023-01-15 22:49:37 +01:00
.clang-format Add formatter 2021-12-11 14:38:35 +01:00
.gitignore make make include Make.user 2021-12-11 14:38:35 +01:00
CHANGELOG.md update readme and changelog 2022-05-13 11:44:48 +02:00
libtree.c Fix printing of paths when not recursing 2022-03-05 12:48:03 +01:00
LICENSE Add license 2020-04-09 01:33:58 +02:00
Makefile Match automake variable names (#76) 2022-05-13 11:14:25 +02:00
README.md README.md (Install): Mention GNU Guix (#81) 2022-06-26 13:29:26 +02:00

libtree

A tool that:

  • 🌳 turns ldd into a tree
  • ☝️ explains how shared libraries are found or why they cannot be located

Screenshot of libtree

Output

By default, certain standard dependencies are not shown. For more verbose output use

  • libtree -v Show libraries skipped by default
  • libtree -vv Show dependencies of libraries skipped by default
  • libtree -vvv Show 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.

Install

  • Prebuilt binaries for v3.1.1

    arch sha256sum
    aarch64 (linux) c5d4fbcd4e3fb46f02c028532f60fcf1c92f7c6aad5b07a991c67550c2554862
    armv6l (linux) 16f5a7503a095bd88ebc5e21ec4ba8337c5d9712cac355bf89399c9e6beef661
    armv7l (linux) 17f493621e7cc651e2bddef207c1554a64a114e1c907dbe5b79ff0e97180b29e
    i686 (linux) 230a163c20f4a88a983d8647a9aa793317be6556e2c6a79e8a6295389e651ef5
    x86_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
    
  • GNU Guix

    guix install libtree
    
  • Older release v2.0.0

Building from sources

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