Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 523616 - kde-frameworks/frameworkintegration uses qpa
Summary: kde-frameworks/frameworkintegration uses qpa
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] KDE (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Gentoo KDE team
URL:
Whiteboard:
Keywords:
Depends on: 554190
Blocks:
  Show dependency tree
 
Reported: 2014-09-24 13:29 UTC by Michael Palimaka (kensington)
Modified: 2016-04-23 17:25 UTC (History)
4 users (show)

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


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Michael Palimaka (kensington) gentoo-dev 2014-09-24 13:29:43 UTC
After upgrading Qt 5.3 -> 5.4 alpha, KF5 stuff installed to /usr/lib64/qt5/plugins segfaults, which is solved by rebuilding the affected packages.

Not sure if this is some problem with the alpha or KF5.
Comment 1 Michael Palimaka (kensington) gentoo-dev 2014-09-24 13:53:51 UTC
Other errors too:

/usr/lib64/libKF5KDELibs4Support.so.5.2.0: undefined reference to `qMessageFormatString(QtMsgType, QMessageLogContext const&, QString const&)'
Comment 2 Davide Pesavento (RETIRED) gentoo-dev 2014-09-24 23:29:33 UTC
I suppose these plugins use the private API of one or more Qt modules, right? There's no API/ABI guarantee on that, source and/or binary incompatibilities can be introduced even between patch releases (e.g. 5.3.1 -> 5.3.2).

We can have SLOT="5/${PV}" in every qt5 package if you guys think it can help. But please use subslot operators only in reverse deps that really need it.
Comment 3 Davide Pesavento (RETIRED) gentoo-dev 2014-10-04 19:12:26 UTC
Can I have some feedback on comment #2 please?
Comment 4 Michael Palimaka (kensington) gentoo-dev 2014-10-04 19:31:59 UTC
I haven't personally experienced this yet as I'm still on 5.3.2, I just filed to track some users reports.

Regarding the specific error in comment #1, it's known upstream (https://git.reviewboard.kde.org/r/119604/) but I'm not sure what we can do about it.

I'm not sure of other uses. Is there an easy way to scan for them? I didn't see any explicit private header includes, even for qMessageFormatString.
Comment 5 Davide Pesavento (RETIRED) gentoo-dev 2014-10-04 21:42:56 UTC
(In reply to Michael Palimaka (kensington) from comment #4)
> I'm not sure of other uses. Is there an easy way to scan for them? I didn't
> see any explicit private header includes, even for qMessageFormatString.

I'm not sure. In a qmake-based build system, the project file would have to do e.g.

  QT += core-private

in order to get the include paths (-I) for QtCore private headers, so it should be fairly easy to spot. I don't know if it's 100% accurate though. Dunno about cmake either.
Comment 6 Michael Palimaka (kensington) gentoo-dev 2014-10-05 16:06:24 UTC
I grepped through my old build logs looking for private include paths without success.
Comment 7 Davide Pesavento (RETIRED) gentoo-dev 2014-10-06 02:08:27 UTC
I see. I guess this was a bit of a corner case then, the kde devs ended up using a private API by accident. It's probably not worthwhile to add a subslot to qt5 packages then (not because of this isolated episode at least).
Comment 8 Davide Pesavento (RETIRED) gentoo-dev 2014-10-06 02:09:27 UTC
Removing qt from CC... add us again if you need something else.
Comment 9 Paweł Stankowski 2014-10-07 21:39:12 UTC
Problem from comment #2 was solved by patch from link in comment #4 that is applied to versions v5.2.0+ (commit ebb47c58). According to the author, this 'undefined reference' error should be gone.

The only problem that left is migration from older Qt version to Qt 5.4.x. The easiest option would be to enforce Qt >=5.4 for KDELibs4Support 5.2 and newer. However Qt 5.4 beta release is planned next week and official release date is unknown.
Comment 10 Davide Pesavento (RETIRED) gentoo-dev 2014-10-07 22:34:59 UTC
If just one or a small number of kde packages are affected by this, you can maintain two revisions, one requiring =qt*-5.3*, the other requiring >=qt*-5.4, and unmask the latter when qt 5.4 enters the tree (probably with 5.4.0_rc in November). I don't think 5.3.2 will ever be stabilized anyway.
Comment 11 Michael Palimaka (kensington) gentoo-dev 2014-12-11 11:12:56 UTC
I'll add the revbumps and pin the deps when 5.4.0 is in the tree (very soon).
Comment 12 Michael Palimaka (kensington) gentoo-dev 2014-12-12 14:50:33 UTC
Qt 5.4.0 is now in the tree and kdelibs4support & frameworkintegration-5.4.0 are pinned to 5.3.0. frameworks-5.5.0 with >=5.4.0 Qt dep will be in the tree soon.
Comment 13 Michael Palimaka (kensington) gentoo-dev 2014-12-17 14:35:28 UTC
It turns out that frameworkintegration is still using qpa which can potentially break compat with every release. Not sure how to handle.
Comment 14 Davide Pesavento (RETIRED) gentoo-dev 2014-12-17 17:09:55 UTC
As I said in comment #2, we can add a subslot SLOT="5/${PV}" to all qt5 modules. Or we can just ignore the issue and deal with the occasional breakage by telling users to rebuild affected revdeps (which I'm assuming are very few).
Comment 15 Geoff Madden 2015-02-23 06:28:03 UTC
qtbase-opensource-src-5.4.0/bin/uic: /usr/lib/libstdc++.so.6: version `CXXABI_1.3.8' not found (required by /usr/lib/libQt5Core.so.5)
Any one got an answer to this.
Using gcc-4.9.2
Comment 16 Davide Pesavento (RETIRED) gentoo-dev 2015-03-16 17:41:07 UTC
So, should we add a subslot to qt5?
Comment 17 Michael Palimaka (kensington) gentoo-dev 2015-03-17 10:28:15 UTC
(In reply to Davide Pesavento from comment #16)
> So, should we add a subslot to qt5?

I really don't want to if at all possible. Maybe we could wait for the next Qt release to see if there's further breakage.
Comment 18 Johannes Huber (RETIRED) gentoo-dev 2015-06-21 10:28:19 UTC
I would welcome it to have subslots for Qt 5.(In reply to Michael Palimaka (kensington) from comment #17)
> (In reply to Davide Pesavento from comment #16)
> > So, should we add a subslot to qt5?
> 
> I really don't want to if at all possible. Maybe we could wait for the next
> Qt release to see if there's further breakage.

+1 for susblots

Better to have subslots available and rebuild per package decision like kde-frameworks/frameworkintegration than have broken systems.
Comment 19 Michael Palimaka (kensington) gentoo-dev 2015-07-07 13:15:08 UTC
I hit this again with 5.5.0 final, but not _rc. What about a subslot of major version instead of PV as a compromise?
Comment 20 Davide Pesavento (RETIRED) gentoo-dev 2015-07-07 15:06:16 UTC
I guess you mean ${major}.${minor}? i.e. 5.4, 5.5, ecc... without the third component?

I'd be fine with that.
Comment 21 Michael Palimaka (kensington) gentoo-dev 2015-07-07 15:06:46 UTC
(In reply to Davide Pesavento from comment #20)
> I guess you mean ${major}.${minor}? i.e. 5.4, 5.5, ecc... without the third
> component?
> 
> I'd be fine with that.

Correct.
Comment 22 Michael Palimaka (kensington) gentoo-dev 2015-12-10 17:56:42 UTC
I added the operator in the overlay in (hopeful) preparation.

https://gitweb.gentoo.org/proj/kde.git/commit/?id=239fb3d980bb05abfc0180e11e0b62bd6a1d8cce
Comment 23 Michael Palimaka (kensington) gentoo-dev 2016-04-23 17:25:50 UTC
Qt 5.6.0 is now in the tree with a subslot, so this should no longer be an issue.