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

Bug 571266

Summary: app-portage/gentoolkit-0.3.1: revdep-rebuild does not detect breakage that revdep-rebuild.sh does
Product: Portage Development Reporter: Denis Lisov <dennis.lissov>
Component: ToolsAssignee: Portage Tools Team <tools-portage>
Status: UNCONFIRMED ---    
Severity: normal CC: esigra, fturco, pacho
Priority: Normal    
Version: unspecified   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---
Attachments: full revdep-rebuild.sh log

Description Denis Lisov 2016-01-08 12:36:27 UTC
After a downgrade from Qt 5.6.0_beta (overlay) to 5.5.1:

# revdep-rebuild
 * This is the new python coded version
 * Please report any bugs found using it.
 * The original revdep-rebuild script is installed as revdep-rebuild.sh
 * Please files bugs at: https://bugs.gentoo.org/
 * Collecting system binaries and libraries
 * Checking dynamic linking consistency
 * Assign files to packages

Your system is consistent
# revdep-rebuild.sh
 * Configuring search environment for revdep-rebuild

 * Checking reverse dependencies
 * Packages containing binaries and libraries broken by a package update
 * will be emerged.

 * Collecting system binaries and libraries
 * Generated new 1_files.rr
 * Collecting complete LD_LIBRARY_PATH
 * Generated new 2_ldpath.rr
 * Checking dynamic linking consistency
[ 3% ]  *   broken /usr/bin/bluedevil-sendfile (symbol qt_version_tag, version Qt_5.6 not defined in file libQt5Core.so.5 with link time reference)
 *   broken /usr/bin/bluedevil-wizard (symbol qt_version_tag, version Qt_5.6 not defined in file libQt5Core.so.5 with link time reference)
 *   broken /usr/bin/breeze-settings5 (symbol qt_version_tag, version Qt_5.6 not defined in file libQt5Core.so.5 with link time reference)
[ 9% ]  *   broken /usr/lib64/libQt5Script.so.5
/usr/lib64/libQt5Script.so.5
/usr/lib64/libQt5Script.so.5
/usr/lib64/libQt5Script.so.5 (symbol qt_version_tag, version Qt_5.6 not defined in file libQt5Core.so.5 with link time reference
symbol _ZN17QFactoryInterfaceD2Ev, version Qt_5 not defined in file libQt5Core.so.5 with link time reference
symbol _ZN7QStringaSE13QLatin1String, version Qt_5 not defined in file libQt5Core.so.5 with link time reference
symbol _ZTI17QFactoryInterface, version Qt_5 not defined in file libQt5Core.so.5 with link time reference)
 *   broken /usr/lib64/libkdeinit5_kcmshell5.so (symbol qt_version_tag, version Qt_5.6 not defined in file libQt5Core.so.5 with link time reference)
 *   broken /usr/bin/kdecp5 (symbol qt_version_tag, version Qt_5.6 not defined in file libQt5Core.so.5 with link time reference)
 *   broken /usr/bin/kdemv5 (symbol qt_version_tag, version Qt_5.6 not defined in file libQt5Core.so.5 with link time reference)
 *   broken /usr/bin/kde-open5 (symbol qt_version_tag, version Qt_5.6 not defined in file libQt5Core.so.5 with link time reference)
 *   broken /usr/bin/keditfiletype5 (symbol qt_version_tag, version Qt_5.6 not defined in file libQt5Core.so.5 with link time reference)

(lots more of these, full log attached)

And the system is broken indeed
$ kate
kate: /usr/lib64/libQt5Core.so.5: version `Qt_5.6' not found (required by /usr/lib64/libQt5Script.so.5)
kate: /usr/lib64/libQt5Core.so.5: version `Qt_5' not found (required by /usr/lib64/libQt5Script.so.5)
kate: /usr/lib64/libQt5Core.so.5: version `Qt_5_PRIVATE_API' not found (required by /usr/lib64/libQt5Script.so.5)


Reproducible: Always
Comment 1 Denis Lisov 2016-01-08 12:37:26 UTC
Created attachment 422280 [details]
full revdep-rebuild.sh log
Comment 2 Kees Bergwerf 2016-01-12 15:29:48 UTC
I had exactly the same trouble.
revdep-rebuild says everything is ok but revdep-rebuild.sh found errors.

And revdep-rebuild.sh wanted to upgrade almost the whole system, 1580 packages. So I let it go.. and almost at the end some error occurred and I deleted a pakage. Oops.. forgot about --skipfirst.

Ok with so many packages recompiled, revdep-rebuild.sh should find the rest... shouldn't it?
But it wanted to recompile all 1580 packages again.
So I looked into /var/cache/revdep-rebuild/broken_something.rr (don't know the exact name) and there are only about 25 broken files.
Then I found a tool in the package 'app-portage/pfl' called e-file:

e-file <library>.so

and it will tell which package generates that library.
After re-merging those packages, revdep-rebuild didn't find any errors.

So for the moment my problem is solved.
Comment 3 Erik 2018-11-11 08:56:09 UTC
Confirmed:

# revdep-rebuild
 * This is the new python coded version
 * Please report any bugs found using it.
 * The original revdep-rebuild script is installed as revdep-rebuild.sh
 * Please file bugs at: https://bugs.gentoo.org/
 * Collecting system binaries and libraries
 * Checking dynamic linking consistency

Your system is consistent
# revdep-rebuild.sh 
 * Configuring search environment for revdep-rebuild

 * Checking reverse dependencies
 * Packages containing binaries and libraries broken by a package update
 * will be emerged.

 * Collecting system binaries and libraries
 * Generated new 1_files.rr
 * Collecting complete LD_LIBRARY_PATH
 * Generated new 2_ldpath.rr
 * Checking dynamic linking consistency
[ 78% ]  *   broken /usr/lib64/python2.7/site-packages/PyQt5/pyrcc.so (symbol _Z7qt_hashRK7QString version Qt_5 not defined in file libQt5Core.so.5 with link time reference)
[ 80% ]  *   broken /usr/lib64/python3.5/site-packages/PyQt5/pyrcc.so (symbol _Z7qt_hashRK7QString version Qt_5 not defined in file libQt5Core.so.5 with link time reference)
[ 81% ]  *   broken /usr/lib64/python3.6/site-packages/PyQt5/pyrcc.so (symbol _Z7qt_hashRK7QString version Qt_5 not defined in file libQt5Core.so.5 with link time reference)
[ 100% ]                 
 * Generated new 3_broken.rr
 * Assigning files to packages
 *   /usr/lib64/python2.7/site-packages/PyQt5/pyrcc.so -> dev-python/PyQt5
 *   /usr/lib64/python3.5/site-packages/PyQt5/pyrcc.so -> dev-python/PyQt5
 *   /usr/lib64/python3.6/site-packages/PyQt5/pyrcc.so -> dev-python/PyQt5
 * Generated new 4_raw.rr and 4_owners.rr
 * Cleaning list of packages to rebuild
 * Generated new 4_pkgs.rr
 * Assigning packages to ebuilds
 * Generated new 4_ebuilds.rr
 * Evaluating package order
 * Generated new 5_order.rr
 * All prepared. Starting rebuild
emerge --complete-graph=y --oneshot --autounmask-write --with-bdeps=y --complete-graph  dev-python/PyQt5:0