Bug 1005482 - qtbase FTBFS on ppc/ppc64
Summary: qtbase FTBFS on ppc/ppc64
Alias: None
Product: Fedora
Classification: Fedora
Component: qt5-qtbase
Version: 20
Hardware: Unspecified
OS: Unspecified
Target Milestone: ---
Assignee: Lukáš Tinkl
QA Contact: Fedora Extras Quality Assurance
Whiteboard: AcceptedFreezeException
Depends On:
Blocks: F-ExcludeArch-ppc F20BetaFreezeException F20PPCBeta 1019475
TreeView+ depends on / blocked
Reported: 2013-09-07 13:10 UTC by Rex Dieter
Modified: 2015-07-13 17:45 UTC (History)
14 users (show)

Fixed In Version: qt5-qtbase-5.1.1-6.fc20
Doc Type: Enhancement
Doc Text:
Clone Of:
Last Closed: 2013-10-24 01:42:53 UTC
Type: Bug

Attachments (Terms of Use)
Set loadAcquire() as const (946 bytes, patch)
2013-10-15 18:15 UTC, Gustavo Luiz Duarte
no flags Details | Diff

Description Rex Dieter 2013-09-07 13:10:39 UTC
tools/qregularexpression.cpp: In member function 'QRegularExpressionMatchPrivate* QRegularExpressionPrivate::doMatch(const QString&, int, QRegularExpression::MatchType, QRegularExpression::MatchOptions, bool, const QRegularExpressionMatchPrivate*) const':
tools/qregularexpression.cpp:1241:73: error: passing 'const QAtomicPointer<pcre16_extra>' as 'this' argument of 'T* QBasicAtomicPointer<T>::loadAcquire() [with T = pcre16_extra]' discards qualifiers [-fpermissive]
     const pcre16_extra * const currentStudyData = studyData.loadAcquire();

The failure implies -fpermissive *may* help, but I'm not sure of the wisdom of trying that.

Comment 1 Rex Dieter 2013-09-07 13:12:47 UTC
This is trying to build qt5-qtbase-5.1.1-2 on either epel-6/ppc64 or f20/ppc

Comment 2 Rex Dieter 2013-09-07 13:59:31 UTC

Says at least that Powerpc/Mac builds are not supported.

Comment 3 Dan Horák 2013-09-23 16:31:59 UTC
(In reply to Rex Dieter from comment #2)
> http://qt-project.org/doc/qt-5.0/qtdoc/platform-notes-mac.html
> Says at least that Powerpc/Mac builds are not supported.

I guess this is more OSX issue than ppc one, also can "we don't care".

FWIW qt5-qtbase now builds on s390/s390x after fixing one big endian related issue. Don't understand yet why it doesn't fail in the same way on ppc ...

Comment 4 Rex Dieter 2013-09-23 16:48:05 UTC
On the surface, this would appear to be an arch-specific issue with qatomic operations, which may or may not be also endian related.

Comment 5 Brent Baude 2013-10-14 19:59:42 UTC
Did we exclude arch this to just work around.  Want us to peek at this?

Comment 6 Dan Horák 2013-10-14 20:14:35 UTC
(In reply to baude from comment #5)
> Did we exclude arch this to just work around.  Want us to peek at this?

Brent, yes, please take a look.

Comment 7 Gustavo Luiz Duarte 2013-10-15 18:15:55 UTC
Created attachment 812643 [details]
Set loadAcquire() as const

This patch fixes the build on ppc64. I haven't tested it on ppc32 or x86 though.

This patch is rather trivial, it only adds a 'const' modifier to loadAcquire(). I may be missing something here though. It may have a deeper impact due to qatomic semantics. I'd appreciate if someone with better understanding of qatomic semantics and implementation could review it.

Comment 8 Rex Dieter 2013-10-16 18:27:17 UTC
patch confirmed good (well, stuff builds at least), scratch builds:

epel-6 : http://koji.fedoraproject.org/koji/taskinfo?taskID=6066254
f20 ppc-koji : http://ppc.koji.fedoraproject.org/koji/taskinfo?taskID=1458064

Removed all the qt5- ExcludeArch: ppc stuff and -docs generation (from 5.2.0-alpha rawhide) so that we can bootstrap ppc

Comment 9 Rex Dieter 2013-10-16 18:29:00 UTC
I think we can close this now

Comment 10 Kevin Kofler 2013-10-16 20:39:41 UTC
For the history of this issue, loadAcquire was made const in February 2012:
but they forgot to apply this change also to qoldbasicatomic.h which is still used by the PPC port.

Comment 11 David Aquilina 2013-10-17 17:26:34 UTC
Rex, we're going to need this built on primary for f20 in order to take it in on Power. Can you please do an f20 build? Thanks!

Comment 12 Rex Dieter 2013-10-17 17:29:35 UTC
OK, re-opening, I can backport this to f20 5.1.1 builds

Comment 13 Rex Dieter 2013-10-17 17:50:32 UTC
Hrm, was thinking there would be some good benefit to rebasing f20 to qt5 5.2.0-alpha now/asap, to gain this fix as well as:
1.  dropped qt5-qtjsbackend v8 stuff that was ExclusiveArch: %ix86, x86_64, arm
2.  support for system harfbuzz
3.  better/complete documentation

the 5.2.0-beta is due real soon too.

Any comment or objections ?

Comment 14 Fedora Update System 2013-10-18 13:22:17 UTC
qt5-qtbase-5.1.1-6.fc20 has been submitted as an update for Fedora 20.

Comment 15 Fedora Update System 2013-10-19 00:11:51 UTC
Package qt5-qtbase-5.1.1-6.fc20:
* should fix your issue,
* was pushed to the Fedora 20 testing repository,
* should be available at your local mirror within two days.
Update it with:
# su -c 'yum update --enablerepo=updates-testing qt5-qtbase-5.1.1-6.fc20'
as soon as you are able to.
Please go to the following url:
then log in and leave karma (feedback).

Comment 16 Rex Dieter 2013-10-19 17:22:10 UTC
nominating for f20 beta freeze exception

Comment 17 Fedora Blocker Bugs Application 2013-10-19 17:30:05 UTC
Proposed as a Freeze Exception for 20-beta by Fedora user rdieter using the blocker tracking app because:

 unblocks builds for dependant packages (including poppler->libreoffice) for ppc

Comment 18 Mike Ruckman 2013-10-21 17:39:05 UTC
Discussed this in 2013-10-21 Blocker Review Meeting [1]. It is not clear why we would want to take 1005482 through the freeze; we will request a clearer explanation and discuss this again at the next meeting.

[1] http://meetbot.fedoraproject.org/fedora-blocker-review/2013-10-21/

Comment 19 Rex Dieter 2013-10-21 17:45:34 UTC
Let me clarify.  I was told by ppc secondary arch folks that they need stuff to go stable before it builds in their koji instance.  Making them wait a week or 2 for this means a number of significant packages cannot be built.

This is a small/safe ppc-only change, little to no risk elsewhere.  With fix in hand, I thought this could be a no-brainer?

Comment 20 David Aquilina 2013-10-21 22:06:18 UTC
+1 from fedora for power - we need updates to go stable on primary in order to be able to ship them in fedora for power. (Typically blockers from us become freeze exceptions for primary if they're not intrusive or destabilizing.)

Comment 21 Adam Williamson 2013-10-23 17:52:31 UTC
Discussed at 2013-10-23 freeze exception review meeting: http://meetbot.fedoraproject.org/fedora-blocker-review/2013-10-23/f20-blocker-review.2013-10-23-16.00.log.txt . Accepted as a freeze exception issue, as this is apparently roadblocking PPC composes: showstoppers for secondary arches are typically accepted as freeze exception issues. Danger to primary arches is minimal.

Comment 22 Fedora Update System 2013-10-24 01:42:53 UTC
qt5-qtbase-5.1.1-6.fc20 has been pushed to the Fedora 20 stable repository.  If problems still persist, please make note of it in this bug report.

Note You need to log in before you can comment on or make changes to this bug.