Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 603664 - revdep-rebuild doesn't want to rebuild calibre, but revdep-rebuild.sh does
Summary: revdep-rebuild doesn't want to rebuild calibre, but revdep-rebuild.sh does
Status: CONFIRMED
Alias: None
Product: Portage Development
Classification: Unclassified
Component: Tools (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Portage Tools Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2016-12-25 03:12 UTC by ascendant512+gentoo
Modified: 2019-03-09 21:54 UTC (History)
2 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
emerge --info (revdep-rebuild-emerge-info.txt,18.36 KB, text/plain)
2016-12-25 03:12 UTC, ascendant512+gentoo
Details

Note You need to log in before you can comment on or make changes to this bug.
Description ascendant512+gentoo 2016-12-25 03:12:36 UTC
Created attachment 457350 [details]
emerge --info

Hi all,

I ran revdep-rebuild after my updates today and noticed a new message:

meow ~ # 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

So, naturally:

meow ~ # 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
[ 41% ]  *   broken /usr/lib64/calibre/calibre/plugins/libheadless.so (symbol _ZN20QEventDispatcherUNIX6selectEiP6fd_setS1_S1_P8timespec, version Qt_5_PRIVATE_API not defined in file libQt5Core.so.5 with link time reference)
[ 100% ]                 
 * Generated new 3_broken.rr
 * Assigning files to packages
 *   /usr/lib64/calibre/calibre/plugins/libheadless.so -> app-text/calibre
 * 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 --verbose --alphabetical --autounmask-write y --autounmask y --autounmask-keep-masks --jobs=4 --load-average 4  app-text/calibre:0

(then it proceeded to install app-text/calibre-2.70.0::gentoo).  This looks like a bug worth reporting, but I'm not familiar enough with how revdep-rebuild works to make a guess as to why it happened.  I ran revdep-rebuild.sh again to be sure, and it did not find any issues.

Recent changes on the system include a torturous upgrade of dev-qt/*-5.6 to dev-qt/*-5.7, kde-plasma/*-5.7 to kde-plasma/*-5.8 and kde-frameworks/*-5.26 to kde-frameworks/*-5.29.  I use the kde overlay and avoid ~ packages whenever I can get away with it.  None of this seems to have anything to do with python, though.
Comment 1 Paul Varner (RETIRED) gentoo-dev 2016-12-29 16:05:30 UTC
The symbol not defined functionality has not been implemented in the python version of revdep-rebuild. 

The reason it has not been implemented is that revdep-rebuild.sh uses functionality from ldd to find library breakage and the python version was written to use scanelf.
Comment 2 Zac Medico gentoo-dev 2016-12-29 21:12:18 UTC
(In reply to ascendant512+gentoo from comment #0)
> [ 41% ]  *   broken /usr/lib64/calibre/calibre/plugins/libheadless.so
> (symbol _ZN20QEventDispatcherUNIX6selectEiP6fd_setS1_S1_P8timespec, version
> Qt_5_PRIVATE_API not defined in file libQt5Core.so.5 with link time
> reference)

I wonder if this was triggered by a qtcore downgrade, after calibre had been built against a newer version of qtcore? A command like this might reveal that:

    qlop -l qtcore calibre

(In reply to Paul Varner from comment #1)
> The symbol not defined functionality has not been implemented in the python
> version of revdep-rebuild. 
> 
> The reason it has not been implemented is that revdep-rebuild.sh uses
> functionality from ldd to find library breakage and the python version was
> written to use scanelf.

Do you think it would be worthwhile to add an option to use ldd in the python version of revdep-rebuild?
Comment 3 ascendant512+gentoo 2016-12-30 06:35:08 UTC
(In reply to Zac Medico from comment #2)
> I wonder if this was triggered by a qtcore downgrade, after calibre had been
> built against a newer version of qtcore? A command like this might reveal
> that:
> 
>     qlop -l qtcore calibre
Here is the requested info:
Fri Nov 27 04:58:36 2015 >>> dev-qt/qtcore-4.8.6-r2
Fri Nov 27 05:49:38 2015 >>> dev-qt/qtcore-5.4.2
Fri Nov 27 16:42:22 2015 >>> dev-qt/qtcore-5.5.1
Sat Feb 20 01:20:35 2016 >>> dev-qt/qtcore-5.5.1-r1
Thu Apr 14 23:25:22 2016 >>> dev-qt/qtcore-4.8.6-r2
Sun May 15 05:02:22 2016 >>> dev-qt/qtcore-5.5.1-r1
Sun May 15 05:08:15 2016 >>> dev-qt/qtcore-4.8.6-r2
Tue Aug  9 02:08:08 2016 >>> dev-qt/qtcore-5.6.1
Tue Oct 25 03:23:41 2016 >>> dev-qt/qtcore-5.6.2
Sun Nov  6 14:54:41 2016 >>> app-text/calibre-2.70.0
Fri Nov 18 07:06:55 2016 >>> dev-qt/qtcore-5.6.2-r1
Mon Dec 12 03:20:05 2016 >>> dev-qt/qtcore-4.8.6-r2
Mon Dec 12 03:31:32 2016 >>> dev-qt/qtcore-5.6.2-r1
Mon Dec 12 05:28:56 2016 >>> app-text/calibre-2.70.0
Sat Dec 24 18:56:48 2016 >>> dev-qt/qtcore-5.7.1
Sat Dec 24 20:59:46 2016 >>> app-text/calibre-2.70.0

Not sure how much my opinion counts for this discussion, but as a user I'd rather not be adding options to revdep-rebuild to have it retain functionality already in revdep-rebuild.sh.  I'm sure an option to turn off ldd-based checks for the purpose of a faster scan would be more appreciated though.
Comment 4 Nikos Chantziaras 2019-03-09 21:54:22 UTC
I got a similar issue with another package. The underlying cause seems to be the same though, so it seems I shouldn't open a new bug for it.

revdep-rebuild didn't detect dev-qt/qtxmlpatterns needing to be rebuilt, but revdep-rebuild.sh did:


 * Checking dynamic linking consistency
[ 85% ]  *   broken /usr/lib64/qt5/qml/QtQuick/XmlListModel/libqmlxmllistmodelplugin.so (symbol _ZN3QV46Object12insertMemberEPNS_6StringEPKNS_8PropertyENS_18PropertyAttributesE version Qt_5_PRIVATE_API not defined in file libQt5Qml.so.5 with link time reference)
[ 100% ]                 
 * Generated new 3_broken.rr
 * Assigning files to packages
 *   /usr/lib64/qt5/qml/QtQuick/XmlListModel/libqmlxmllistmodelplugin.so -> dev-qt/qtxmlpatterns


Output of "qlop -l dev-qt/qtdeclarative dev-qt/qtxmlpatterns":

[older entries omitted]
Tue Jul  3 17:53:32 2018 >>> dev-qt/qtxmlpatterns-5.11.1
Tue Jul  3 18:12:10 2018 >>> dev-qt/qtdeclarative-5.11.1
Fri Oct 19 23:43:53 2018 >>> dev-qt/qtxmlpatterns-5.11.2
Sat Oct 20 00:05:43 2018 >>> dev-qt/qtdeclarative-5.11.2
Tue Dec  4 00:08:44 2018 >>> dev-qt/qtdeclarative-5.11.2
Fri Dec  7 03:46:59 2018 >>> dev-qt/qtxmlpatterns-5.11.3
Fri Dec  7 04:04:05 2018 >>> dev-qt/qtdeclarative-5.11.3
Sat Mar  2 15:07:18 2019 >>> dev-qt/qtxmlpatterns-5.12.1
Sat Mar  2 15:14:59 2019 >>> dev-qt/qtdeclarative-5.12.1
Wed Mar  6 19:38:18 2019 >>> dev-qt/qtxmlpatterns-5.12.1