Noticed when updated ~amd64 system in chroot wneg emerge reported a package using stale libraries: !!! existing preserved libs: >>> package: sys-libs/readline-7.0_p3 * - /lib/libreadline.so.6 * - /lib/libreadline.so.6.3 * used by /usr/bin/gdbmtool (sys-libs/gdbm-1.13) Use emerge @preserved-rebuild to rebuild packages using these libraries guppy / # lddtree /usr/bin/gdbmtool gdbmtool => /usr/bin/gdbmtool (interpreter => /lib/ld-linux-ia64.so.2) libgdbm.so.4 => /usr/lib/libgdbm.so.4 libreadline.so.6 => /lib/libreadline.so.6 libncurses.so.6 => /lib/libncurses.so.6 libc.so.6.1 => /lib/libc.so.6.1 ld-linux-ia64.so.2 => /lib/ld-linux-ia64.so.2 readline seems to be an optional dependency of gdbm (--without-readline). $ emerge --info gdbm ... sys-libs/gdbm-1.13::gentoo was built with the following: USE="berkdb nls -exporter -static-libs" Worth adding a depend or it would introduce dependency loops into @system packages?
The ncurses dep comes through readline. So no need to RDEPEND the package on ncurses.
commit 4c7e508a41e423ad32ca4eb512dc103c378cd37f (HEAD -> master, origin/master, origin/HEAD) Author: Lars Wendler <polynomial-c@gentoo.org> Date: Sat Jun 17 23:54:09 2017 sys-libs/gdbm: Make readline dependency optional (bug #621488). Package-Manager: Portage-2.3.6, Repoman-2.3.2