Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 260228

Summary: readline-6.0 suggests deletion of needed libraries. revdep-rebuild does not notice change of readline.
Product: Gentoo Linux Reporter: Johannes Rauh <jarauh>
Component: Current packagesAssignee: Gentoo Linux bug wranglers <bug-wranglers>
Status: RESOLVED INVALID    
Severity: normal    
Priority: High    
Version: unspecified   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---

Description Johannes Rauh 2009-02-25 10:58:47 UTC
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.
Comment 1 Lars Wendler (Polynomial-C) (RETIRED) gentoo-dev 2009-02-25 12:04:27 UTC
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.