PDA

View Full Version : WebKit compilation error with GCC



piotr.dobrogost
16th July 2009, 14:44
Compiling Qt 4.5.2 with GCC 4.3.0 (MinGW) on Windows Vista I got an error which I show at the end of the post.
Has someone managed to fix this error?


g++ -c -include tmp\obj\debug_shared\WebKit_pch.h -Wreturn-type -fno-strict-alia
sing -frtti -fexceptions -mthreads -DQT_SHARED -DQT_THREAD_SUPPORT -DUNICODE -DQ
T_LARGEFILE_SUPPORT -DBUILDING_QT__=1 -DUSE_SYSTEM_MALLOC -DNDEBUG -DQT_MAKEDLL
-DQT_NO_CAST_TO_ASCII -DQT_ASCII_CAST_WARNINGS -DQT_MOC_COMPAT -D_USE_MATH_DEFIN
ES -DBUILD_WEBKIT -D_HAS_TR1=0 -DENABLE_OFFLINE_WEB_APPLICATIONS=1 -DENABLE_DOM_
STORAGE=1 -DENABLE_ICONDATABASE=1 -DENABLE_DATABASE=1 -DENABLE_DASHBOARD_SUPPORT
=0 -DENABLE_XPATH=1 -DENABLE_WML=0 -DENABLE_SVG=1 -DENABLE_SVG_FONTS=1 -DENABLE_
SVG_FILTERS=1 -DENABLE_SVG_FOREIGN_OBJECT=1 -DENABLE_SVG_ANIMATION=1 -DENABLE_SV
G_AS_IMAGE=1 -DENABLE_SVG_USE=1 -DENABLE_VIDEO=0 -DENABLE_NETSCAPE_PLUGIN_API=1
-DWTF_USE_JAVASCRIPTCORE_BINDINGS=1 -DWTF_CHANGES=1 -DBUILDING_QT__ -DSQLITE_COR
E -DSQLITE_OMIT_LOAD_EXTENSION -DSQLITE_OMIT_COMPLETE -DQT_DLL -DQT_GUI_LIB -DQT
_NETWORK_LIB -DQT_CORE_LIB -I"..\..\..\..\include\QtCore" -I"..\..\..\..\include
\QtNetwork" -I"..\..\..\..\include\QtGui" -I"..\..\..\..\include" -I"storage" -I
"..\WebKit\qt\Api" -I"..\..\..\..\include\QtWebKit" -I"tmp\rcc\debug_shared" -I"
tmp" -I"." -I"..\JavaScriptCore" -I"..\JavaScriptCore\ForwardingHeaders" -I"..\J
avaScriptCore\interpreter" -I"..\JavaScriptCore\bytecode" -I"..\JavaScriptCore\d
ebugger" -I"..\JavaScriptCore\parser" -I"..\JavaScriptCore\runtime" -I"z:\qt-src
\src\3rdparty\webkit\WebCore\..\JavaScriptCore\bin dings" -I"..\JavaScriptCore\wr
ec" -I"..\JavaScriptCore\jit" -I"..\JavaScriptCore\wtf" -I"tmp" -I"..\JavaScript
Core" -I"..\JavaScriptCore\parser" -I"..\JavaScriptCore\bytecompiler" -I"..\Java
ScriptCore\debugger" -I"..\JavaScriptCore\runtime" -I"..\JavaScriptCore\wtf" -I"
..\JavaScriptCore\wtf\unicode" -I"..\JavaScriptCore\interpreter" -I"..\JavaScrip
tCore\jit" -I"..\JavaScriptCore\profiler" -I"..\JavaScriptCore\wrec" -I"..\JavaS
criptCore\API" -I"..\..\webkit" -I"..\JavaScriptCore\ForwardingHeaders" -I"..\Ja
vaScriptCore\bytecode" -I"..\JavaScriptCore\assembler" -I"..\JavaScriptCore\pcre
" -I"z:\qt-src\src\3rdparty\webkit\WebKitBuild\Debug\JavaScri ptCore\tmp" -I"plat
form\qt" -I"platform\network\qt" -I"platform\graphics\filters" -I"platform\graph
ics\transforms" -I"platform\graphics\qt" -I"svg\graphics\qt" -I"loader" -I"page\
qt" -I"..\WebKit\qt\WebCoreSupport" -I"..\WebKit\qt\Api" -I"bridge\qt" -I"." -I"
ForwardingHeaders" -I"..\..\webkit" -I"platform" -I"platform\animation" -I"platf
orm\network" -I"platform\graphics" -I"svg\animation" -I"svg\graphics" -I"svg\gra
phics\filters" -I"platform\sql" -I"platform\text" -I"loader" -I"loader\appcache"
-I"loader\archive" -I"loader\icon" -I"css" -I"dom" -I"page" -I"page\animation"
-I"bridge" -I"editing" -I"rendering" -I"rendering\style" -I"history" -I"inspecto
r" -I"xml" -I"html" -I"wml" -I"bindings\js" -I"svg" -I"platform\image-decoders"
-I"plugins" -I"bridge" -I"bridge\c" -I"bridge\qt" -I"generated" -I"plugins\win"
-I"..\..\sqlite" -I"..\..\..\..\include\ActiveQt" -I"tmp\moc\debug_shared" -I"."
-I"..\..\..\..\mkspecs\win32-g++" -o tmp\obj\debug_shared\Timer.o platform\Time
r.cpp
c:\mingw\active\bin\../lib/gcc/mingw32/4.3.0/include/c++/bits/boost_concept_chec
k.h: In member function 'void __gnu_cxx::_ComparableConcept<_Tp>::__constraints(
) [with _Tp = WebCore::TimerHeapIterator]':
c:\mingw\active\bin\../lib/gcc/mingw32/4.3.0/include/c++/bits/boost_concept_chec
k.h:62: instantiated from 'void __gnu_cxx::__function_requires() [with _Concep
t = __gnu_cxx::_ComparableConcept<WebCore::TimerHeapIterator>]'
c:\mingw\active\bin\../lib/gcc/mingw32/4.3.0/include/c++/bits/boost_concept_chec
k.h:529: instantiated from 'void __gnu_cxx::_RandomAccessIteratorConcept<_Tp>:
:__constraints() [with _Tp = WebCore::TimerHeapIterator]'
c:\mingw\active\bin\../lib/gcc/mingw32/4.3.0/include/c++/bits/boost_concept_chec
k.h:62: instantiated from 'void __gnu_cxx::__function_requires() [with _Concep
t = __gnu_cxx::_RandomAccessIteratorConcept<WebCore::TimerHeapIterator>]'
c:\mingw\active\bin\../lib/gcc/mingw32/4.3.0/include/c++/bits/boost_concept_chec
k.h:553: instantiated from 'void __gnu_cxx::_Mutable_RandomAccessIteratorConce
pt<_Tp>::__constraints() [with _Tp = WebCore::TimerHeapIterator]'
c:\mingw\active\bin\../lib/gcc/mingw32/4.3.0/include/c++/bits/boost_concept_chec
k.h:62: instantiated from 'void __gnu_cxx::__function_requires() [with _Concep
t = __gnu_cxx::_Mutable_RandomAccessIteratorConcept<WebCore::TimerHeapIterator>]
'
c:\mingw\active\bin\../lib/gcc/mingw32/4.3.0/include/c++/bits/stl_heap.h:162:
instantiated from 'void std::push_heap(_RAIter, _RAIter) [with _RAIter = WebCore
::TimerHeapIterator]'
platform\Timer.cpp:230: instantiated from here
c:\mingw\active\bin\../lib/gcc/mingw32/4.3.0/include/c++/bits/boost_concept_chec
k.h:267: error: no match for 'operator>' in '((__gnu_cxx::_ComparableConcept<Web
Core::TimerHeapIterator>*)this)->__gnu_cxx::_ComparableConcept<WebCore::TimerHea
pIterator>::__a > ((__gnu_cxx::_ComparableConcept<WebCore::TimerHeapIterator>*)t
his)->__gnu_cxx::_ComparableConcept<WebCore::TimerHeapIterator>::__b'
c:\mingw\active\bin\../lib/gcc/mingw32/4.3.0/include/c++/bits/boost_concept_chec
k.h:268: error: no match for 'operator<=' in '((__gnu_cxx::_ComparableConcept<We
bCore::TimerHeapIterator>*)this)->__gnu_cxx::_ComparableConcept<WebCore::TimerHe
apIterator>::__a <= ((__gnu_cxx::_ComparableConcept<WebCore::TimerHeapIterator>*
)this)->__gnu_cxx::_ComparableConcept<WebCore::TimerHeapIterator>::__b'
c:\mingw\active\bin\../lib/gcc/mingw32/4.3.0/include/c++/bits/boost_concept_chec
k.h:269: error: no match for 'operator>=' in '((__gnu_cxx::_ComparableConcept<We
bCore::TimerHeapIterator>*)this)->__gnu_cxx::_ComparableConcept<WebCore::TimerHe
apIterator>::__a >= ((__gnu_cxx::_ComparableConcept<WebCore::TimerHeapIterator>*
)this)->__gnu_cxx::_ComparableConcept<WebCore::TimerHeapIterator>::__b'
c:\mingw\active\bin\../lib/gcc/mingw32/4.3.0/include/c++/bits/boost_concept_chec
k.h: In member function 'void __gnu_cxx::_ForwardIteratorConcept<_Tp>::__constra
ints() [with _Tp = WebCore::TimerHeapIterator]':
c:\mingw\active\bin\../lib/gcc/mingw32/4.3.0/include/c++/bits/boost_concept_chec
k.h:62: instantiated from 'void __gnu_cxx::__function_requires() [with _Concep
t = __gnu_cxx::_ForwardIteratorConcept<WebCore::TimerHeapIterator>]'
c:\mingw\active\bin\../lib/gcc/mingw32/4.3.0/include/c++/bits/boost_concept_chec
k.h:502: instantiated from 'void __gnu_cxx::_BidirectionalIteratorConcept<_Tp>
::__constraints() [with _Tp = WebCore::TimerHeapIterator]'
c:\mingw\active\bin\../lib/gcc/mingw32/4.3.0/include/c++/bits/boost_concept_chec
k.h:62: instantiated from 'void __gnu_cxx::__function_requires() [with _Concep
t = __gnu_cxx::_BidirectionalIteratorConcept<WebCore::TimerHeapIterator>]'
c:\mingw\active\bin\../lib/gcc/mingw32/4.3.0/include/c++/bits/boost_concept_chec
k.h:528: instantiated from 'void __gnu_cxx::_RandomAccessIteratorConcept<_Tp>:
:__constraints() [with _Tp = WebCore::TimerHeapIterator]'
c:\mingw\active\bin\../lib/gcc/mingw32/4.3.0/include/c++/bits/boost_concept_chec
k.h:62: instantiated from 'void __gnu_cxx::__function_requires() [with _Concep
t = __gnu_cxx::_RandomAccessIteratorConcept<WebCore::TimerHeapIterator>]'
c:\mingw\active\bin\../lib/gcc/mingw32/4.3.0/include/c++/bits/boost_concept_chec
k.h:553: instantiated from 'void __gnu_cxx::_Mutable_RandomAccessIteratorConce
pt<_Tp>::__constraints() [with _Tp = WebCore::TimerHeapIterator]'
c:\mingw\active\bin\../lib/gcc/mingw32/4.3.0/include/c++/bits/boost_concept_chec
k.h:62: instantiated from 'void __gnu_cxx::__function_requires() [with _Concep
t = __gnu_cxx::_Mutable_RandomAccessIteratorConcept<WebCore::TimerHeapIterator>]
'
c:\mingw\active\bin\../lib/gcc/mingw32/4.3.0/include/c++/bits/stl_heap.h:162:
instantiated from 'void std::push_heap(_RAIter, _RAIter) [with _RAIter = WebCore
::TimerHeapIterator]'
platform\Timer.cpp:230: instantiated from here
c:\mingw\active\bin\../lib/gcc/mingw32/4.3.0/include/c++/bits/boost_concept_chec
k.h:483: error: invalid initialization of non-const reference of type 'WebCore::
TimerHeapElement&' from a temporary of type 'WebCore::TimerHeapElement'
mingw32-make[2]: *** [tmp/obj/debug_shared/Timer.o] Error 1
mingw32-make[2]: Leaving directory `Z:/qt-src/src/3rdparty/webkit/WebCore'
mingw32-make[1]: *** [debug-all] Error 2
mingw32-make[1]: Leaving directory `Z:/qt-src/src/3rdparty/webkit/WebCore'
mingw32-make: *** [sub-webkit-make_default-ordered] Error 2

jpn
16th July 2009, 15:03
Has someone managed to fix this error?
According to Thierry (http://labs.trolltech.com/blogs/2009/07/15/phonon-and-mingw-a-story-about-true-windows-love/), the upcoming Qt 4.6 will compile with GCC 4.4 on Windows. The blog post is mostly about Phonon support, but as he mentions he fixed other problems as well.

piotr.dobrogost
16th July 2009, 17:32
According to Thierry (http://labs.trolltech.com/blogs/2009/07/15/phonon-and-mingw-a-story-about-true-windows-love/), the upcoming Qt 4.6 will compile with GCC 4.4 on Windows. The blog post is mostly about Phonon support, but as he mentions he fixed other problems as well.

I don't really see where he mentions fixing other problems.

jpn
16th July 2009, 17:45
"And then, a few weeks ago, a new mingw was *finally* released based on gcc 4.4. That is truly great news for windows users. So I tested it and it works great. I had to fix some stuff but now Qt trunk (future 4.6) builds fine with it."

piotr.dobrogost
16th July 2009, 18:20
Actually I'm compiling with GCC 4.3.0 not with GCC 4.4.0 (sorry for this mistake) but that shouldn't matter here as the error is about initialization of non-const reference from a temporary and this AFAIK always has been and still is forbidden.