Bug 1034940 - qt5-qtwebkit 5.2.0-beta1 FTBFS on secondary arches
Summary: qt5-qtwebkit 5.2.0-beta1 FTBFS on secondary arches
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: qt5-qtwebkit
Version: 20
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Rex Dieter
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard: AcceptedFreezeException
Depends On:
Blocks: ZedoraTracker F20FinalFreezeException F20PPCFinal
TreeView+ depends on / blocked
 
Reported: 2013-11-26 18:04 UTC by Dan Horák
Modified: 2013-12-04 16:52 UTC (History)
9 users (show)

Fixed In Version: qt5-qtscript-5.2.0-0.5.beta1.fc20
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2013-12-04 16:52:38 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)
proposed changes for fedora git (2.53 KB, patch)
2013-11-28 17:57 UTC, Dan Horák
no flags Details | Diff

Description Dan Horák 2013-11-26 18:04:06 UTC
qt5-qtwebkit 5.2.0-beta1 fails to build on secondary arches (ppc,s390) with

...
/qt5/QtCore -I. -I../../Source -I../WTF -Iassembler -Ibytecode -Ibytecompiler -Iheap -Idfg -Idebugger -Idisassembler -Iinterpreter -Ijit -Illint -Iparser -Iprofiler -Iruntime -Itools -Iyarr -IAPI -IForwardingHeaders -I/builddir/build/BUILD/qtwebkit-opensource-src-5.2.0-beta1/Source/JavaScriptCore/generated -I../WTF -I../../Source -I/builddir/build/BUILD/qtwebkit-opensource-src-5.2.0-beta1/Source/include -o .obj/llint/LLIntOffsetsExtractor.o llint/LLIntOffsetsExtractor.cpp
In file included from bytecode/ValueRecovery.h:31:0,
                 from bytecode/CodeOrigin.h:31,
                 from bytecode/CodeBlock.h:39,
                 from llint/LLIntOffsetsExtractor.cpp:29:
assembler/MacroAssembler.h:62:2: error: #error "The MacroAssembler is not supported on this platform."
 #error "The MacroAssembler is not supported on this platform."
  ^
In file included from bytecode/ValueRecovery.h:31:0,
                 from bytecode/CodeOrigin.h:31,
                 from bytecode/CodeBlock.h:39,
                 from llint/LLIntOffsetsExtractor.cpp:29:
assembler/MacroAssembler.h:67:50: error: expected class-name before '{' token
 class MacroAssembler : public MacroAssemblerBase {
                                                  ^
assembler/MacroAssembler.h:70:11: error: 'MacroAssemblerBase' has not been declared
     using MacroAssemblerBase::pop;
           ^
...

seems as a similar problem as it was in qt5-qtdeclarative


Version-Release number of selected component (if applicable):
qt5-qtwebkit-5.2.0-0.5.beta1.fc20

Comment 2 Rex Dieter 2013-11-26 19:57:44 UTC
need to verify if this was against the latest qt5-qtbase, qt5-qtdeclarative builds from
https://admin.fedoraproject.org/updates/FEDORA-2013-22154

(If not, please update those first)

I'll check the build logs here shortly

Comment 3 Rex Dieter 2013-11-26 19:58:43 UTC
confirmed, rats

Comment 4 Dan Horák 2013-11-26 20:31:35 UTC
I'll be looking on it tomorrow ...

Comment 5 Dan Horák 2013-11-28 15:12:49 UTC
the workaround is

diff --git a/qt5-qtwebkit.spec b/qt5-qtwebkit.spec
index d31caf2..b098191 100644
--- a/qt5-qtwebkit.spec
+++ b/qt5-qtwebkit.spec
@@ -127,7 +127,12 @@ mv Source/ThirdParty/ANGLE/ \
 
 
 %build
-%{_qt5_qmake} %{?system_angle:DEFINES+=USE_SYSTEM_ANGLE=1}
+%{_qt5_qmake} %{?system_angle:DEFINES+=USE_SYSTEM_ANGLE=1} \
+%ifnarch %{arm} %{ix86} x86_64
+       DEFINES+=ENABLE_JIT=0 DEFINES+=ENABLE_YARR_JIT=0
+%else
+       %{nil}
+%endif
 
 make %{?_smp_mflags}

Comment 6 Dan Horák 2013-11-28 15:15:09 UTC
hm, not completely, fails a while later with

bytecode/CodeBlock.cpp: In member function 'unsigned int JSC::CodeBlock::numberOfDFGCompiles()':
bytecode/CodeBlock.cpp:2951:50: error: 'replacement' was not declared in this scope
     return (JITCode::isOptimizingJIT(replacement()->getJITType()) ? 1 : 0) + m_reoptimizationRetryCounter;
                                                  ^

Comment 7 Dan Horák 2013-11-28 15:42:38 UTC
the code seems to be fixed in Webkit upstream, so qt5 should sync with them ...

Comment 8 Dan Horák 2013-11-28 15:45:55 UTC
one more fix ...

diff -up qtwebkit-opensource-src-5.2.0-beta1/Source/JavaScriptCore/bytecode/CodeBlock.cpp.nojit qtwebkit-opensource-src-5.2.0-beta1/Source/JavaScriptCore/bytecode/CodeBlock.cpp
--- qtwebkit-opensource-src-5.2.0-beta1/Source/JavaScriptCore/bytecode/CodeBlock.cpp.nojit	2013-11-28 15:43:39.169409385 -0500
+++ qtwebkit-opensource-src-5.2.0-beta1/Source/JavaScriptCore/bytecode/CodeBlock.cpp	2013-11-28 15:44:17.399410231 -0500
@@ -2947,8 +2947,12 @@ void CodeBlock::countReoptimization()
 
 unsigned CodeBlock::numberOfDFGCompiles()
 {
+#if ENABLE(JIT)
     ASSERT(JITCode::isBaselineCode(getJITType()));
     return (JITCode::isOptimizingJIT(replacement()->getJITType()) ? 1 : 0) + m_reoptimizationRetryCounter;
+#else
+    return 0;
+#endif
 }

Comment 10 Dan Horák 2013-11-28 17:57:24 UTC
Created attachment 830338 [details]
proposed changes for fedora git

Comment 11 Fedora Blocker Bugs Application 2013-11-28 18:39:28 UTC
Proposed as a Freeze Exception for 20-final by Fedora user sharkcz using the blocker tracking app because:

 qt5-qtwebkit is part of qt5 library stack that was FTBFS on secondary arches for some time.

Comment 12 Rex Dieter 2013-11-29 14:02:09 UTC
thanks!  committed, and building now.

Comment 13 Fedora Update System 2013-11-29 18:53:42 UTC
qt5-qtscript-5.2.0-0.5.beta1.fc20, qt5-qttools-5.2.0-0.5.beta1.fc20, qt5-qtdeclarative-5.2.0-0.5.beta1.fc20, qt5-qtbase-5.2.0-0.7.beta1.20131108_141.fc20, qt5-qtwebkit-5.2.0-0.6.beta1.fc20 has been submitted as an update for Fedora 20.
https://admin.fedoraproject.org/updates/FEDORA-2013-22154/qt5-qtscript-5.2.0-0.5.beta1.fc20,qt5-qttools-5.2.0-0.5.beta1.fc20,qt5-qtwebkit-5.2.0-0.6.beta1.fc20,qt5-qtdeclarative-5.2.0-0.5.beta1.fc20,qt5-qtbase-5.2.0-0.7.beta1.20131108_141.fc20

Comment 14 Fedora Update System 2013-12-01 17:42:41 UTC
Package qt5-qtscript-5.2.0-0.5.beta1.fc20, qt5-qttools-5.2.0-0.5.beta1.fc20, qt5-qtdeclarative-5.2.0-0.5.beta1.fc20, qt5-qtbase-5.2.0-0.7.beta1.20131108_141.fc20, qt5-qtwebkit-5.2.0-0.6.beta1.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-qtscript-5.2.0-0.5.beta1.fc20 qt5-qttools-5.2.0-0.5.beta1.fc20 qt5-qtdeclarative-5.2.0-0.5.beta1.fc20 qt5-qtbase-5.2.0-0.7.beta1.20131108_141.fc20 qt5-qtwebkit-5.2.0-0.6.beta1.fc20'
as soon as you are able to.
Please go to the following url:
https://admin.fedoraproject.org/updates/FEDORA-2013-22154/qt5-qtscript-5.2.0-0.5.beta1.fc20,qt5-qttools-5.2.0-0.5.beta1.fc20,qt5-qtwebkit-5.2.0-0.6.beta1.fc20,qt5-qtdeclarative-5.2.0-0.5.beta1.fc20,qt5-qtbase-5.2.0-0.7.beta1.20131108_141.fc20
then log in and leave karma (feedback).

Comment 15 Adam Williamson 2013-12-02 18:47:04 UTC
Discussed at 2013-12-02 freeze exception review meeting: http://meetbot.fedoraproject.org/fedora-blocker-review/2013-12-02/f20-blocker-review-%234.2013-12-02-17.02.log.txt . Accepted as a freeze exception issue as a significant bug for secondary arches whose fix is unlikely to break anything important for primary arches.

Comment 16 Fedora Update System 2013-12-04 16:52:38 UTC
qt5-qtscript-5.2.0-0.5.beta1.fc20, qt5-qttools-5.2.0-0.5.beta1.fc20, qt5-qtdeclarative-5.2.0-0.5.beta1.fc20, qt5-qtbase-5.2.0-0.7.beta1.20131108_141.fc20, qt5-qtwebkit-5.2.0-0.6.beta1.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.