Note: This is a public test instance of Red Hat Bugzilla. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback at bugzilla.redhat.com.
Bug 1402577
Summary: | trojita FTBFS on ppc64 and ppc64le | |||
---|---|---|---|---|
Product: | [Fedora] Fedora | Reporter: | Raphael Groner <projects.rg> | |
Component: | trojita | Assignee: | Kevin Kofler <kevin> | |
Status: | NEW --- | QA Contact: | Fedora Extras Quality Assurance <extras-qa> | |
Severity: | low | Docs Contact: | ||
Priority: | unspecified | |||
Version: | rawhide | CC: | dan, daniel, jkt, kde-sig, kevin, projects.rg | |
Target Milestone: | --- | Keywords: | FutureFeature | |
Target Release: | --- | |||
Hardware: | ppc64 | |||
OS: | Linux | |||
Whiteboard: | ||||
Fixed In Version: | Doc Type: | If docs needed, set a value | ||
Doc Text: | Story Points: | --- | ||
Clone Of: | ||||
: | 1402580 (view as bug list) | Environment: | ||
Last Closed: | Type: | Bug | ||
Regression: | --- | Mount Type: | --- | |
Documentation: | --- | CRM: | ||
Verified Versions: | Category: | --- | ||
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | ||
Cloudforms Team: | --- | Target Upstream Version: | ||
Embargoed: | ||||
Bug Depends On: | ||||
Bug Blocks: | 238953, 1450505 |
Description
Raphael Groner
2016-12-07 20:56:28 UTC
Temporarily solved by adding ExcludeArch. adding -fsigned-char to CFLAGS should help, proper fix is to change the variable from char to either int or explicit "signed char" Yeah, this is exactly why Trojita ships a pregenerated .cpp file created by a patched [1] Ragel in our git. Unfortunately, Ragel upstream closed their git tree [2] with a funny explanation. I sent that patch upstream years ago, but I don't remember where exactly that communication went. I recall that they had a new, rewritten version in the making at that time. [1] http://repo.or.cz/ragel-jkt.git/commitdiff/dc238e78cd3024889b6fb2618fe5bbc20179a132 [2] http://www.colm.net/news/2014/10/24/ragel-now-maintained-by-colm-networks.html (In reply to Jan Kundrát from comment #3) > Yeah, this is exactly why Trojita ships a pregenerated .cpp file created by > a patched [1] Ragel in our git. Do you mean bug #1402582? trojita FTBFS on armv7hl because ragel core dumps I suggest to use something like diff --git a/trojita.spec b/trojita.spec index fdb33d6..6bb1a1f 100644 --- a/trojita.spec +++ b/trojita.spec @@ -11,7 +11,7 @@ Release: 0.7.%{gitdate}git%(c=%{commit0}; echo ${c:0:7} )%{?dist}.1 Source0: %{srcurl}/archive/%{commit0}.tar.gz#/%{name}-%{commit0}.tar.gz %else Version: 0.7 -Release: 7%{?dist} +Release: 8%{?dist} Source0: %{srcurl}/archive/v%{version}.tar.gz#/%{name}-%{version}.tar.gz %endif # manually generated manpage with help2man @@ -42,9 +42,6 @@ License: GPLv2+ Summary: IMAP e-mail client URL: http://%{name}.flaska.net -# rhbz#1402577 FIXME: src/Imap/Parser/Rfc5322HeaderParser.cpp:2238:3: -# error: narrowing conversion of '-1' from 'int' to 'char' inside { } [-Wnarrowing] -ExcludeArch: ppc64 ppc64le aarch64 # rhbz#1402582 FIXME: ragel core dumps ExcludeArch: armv7hl @@ -73,8 +70,13 @@ Requires: qt5-qtsvg BuildRequires: pkgconfig(zlib) BuildRequires: qtkeychain-qt5-devel %if 0%{?fedora} +# rhbz#1402577 FIXME: src/Imap/Parser/Rfc5322HeaderParser.cpp:2238:3: +# error: narrowing conversion of '-1' from 'int' to 'char' inside { } [-Wnarrowing] +# use prebuilt file on non-x86 +%ifarch %{ix86} x86_64 BuildRequires: ragel %endif +%endif # (optional) support for GPG and S/MIME BuildRequires: gnupg2-smime because it makes very little sense to depend on ragel that is known to produce incorrect code, but rather use the pregenerated, but correct, source file. And remove the ExcludeArch: arm too ... This bug appears to have been reported against 'rawhide' during the Fedora 26 development cycle. Changing version to '26'. Hi Dan, thanks for your contribution. Are you interested to become co-maintainer, at least for ppc64? From my side, I don't use ppc64 at all, so I must trust what koji tells me about success with builds and executed available unit tests. (In reply to Dan Horák from comment #5) … > because it makes very little sense to depend on ragel that is known to > produce incorrect code, but rather use the pregenerated, but correct, source > file. No. https://fedoraproject.org/wiki/Packaging:Guidelines#Use_of_pregenerated_code > And remove the ExcludeArch: arm too ... Why? There's another blocked bug for aarch64, see bug #1402580. Should I close as a duplication? I thought it's better to open that bug to difference the trackers. https://fedoraproject.org/wiki/Packaging:Guidelines#Architecture_Build_Failures http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1256.pdf 6.2.5(3) "If any other character is stored in a char object, the resulting value is implementation-defined" Correct solution is to used "signed char" for whenever implementations rely on -ve values. This is going to solve all architecture bugs on this. This obviously applies to other bugs of similar form. FYI Ragel repo, or at least a dominate subset, is public again https://github.com/adriandt/ragel Hi Kevin, what do you think how we can proceed with the trojita package? Ragel should imho. be stable enough to allow any quality package of trojita, my suggestion is to reassign this bug to ragel then. To be honest, I need this bug for tracking purposes only (as required for any ExcludeArch/ExclusiveArch). I don't really care about whether Trojitá works on non-x86 architectures, because I need x86_64 only. Do you mean qt5-webengine related? This bug is about ragel that has nothing to do with qt5-webengine. BTW ExcludeArch for qt5-webengine is fixed. Trojitá doesn't even use QtWebEngine, it (still) uses QtWebKit. I mean that I generally do not care about non-x86 architectures. If the package does not build there, then so be it. Kevin, thanks for the open words. I orphaned this package, please feel free to pick. This package has changed maintainer in the Fedora. Reassigning to the new maintainer of this component. |