After updating to readline 6.0 ("emerge -avu1 readline" after autounmask), emerge suggested: * Old versions of installed libraries were detected on your system. * In order to avoid breaking packages that depend on these old libs, * the libraries are not being removed. You need to run revdep-rebuild * in order to remove these old dependencies. If you do not have this * helper program, simply emerge the 'gentoolkit' package. * * # revdep-rebuild --library libhistory.so.5 * # revdep-rebuild --library libreadline.so.5 * * Once you've finished running revdep-rebuild, it should be safe to * delete the old libraries. Here is a copy & paste for the lazy: * # rm '/lib/libhistory.so.4' * # rm '/lib/libhistory.so.5' * # rm '/lib/libreadline.so.4' * # rm '/lib/libreadline.so.5' So I ran revdep-rebuild, without the --library options. The revdep-rebuild man page says that this should automatically check all libraries. revdep-rebuild did not find anything, so I removed both .so.5 files (.so.4 files were not present). When running revdep-rebuild again I got a list of around 32 ebuilds that needed to be reemerged. I am using app-portage/portage-utils-0.1.29 and sys-apps/portage-2.1.6.7.
So why should this be a bug when you don't follow the suggestions the ebuild already gave you? How should revdep-rebuild (without the --library options) find any broken libs when the old lib{history,readline}.so.5 are still present in the system? They are kept for a reason to not break all those apps/packages that depend on readline. Quote from the revdep-rebuild man-page: "revdep-rebuild scans libraries and binaries for missing shared library dependencies and attempts to fix them by re-emerging those broken binaries and shared libraries." So as long as the old libs are still present, revdep-rebuild won't find anything _missing_. Either do what the readline-6.0 ebuild suggested or remove the old libs and run revdep-rebuild without any options. Anything else is kinda senseless regarding this readline upgrade.