Hi again.
I'm now trying to build QtWebkit 2.3.1 on top of Qt 4.8 as an external package.
(using Linux)
Here's what I found so far:
- running 'qmake' does nothing cause the released bundle already has a
Makefile.
- so, running 'make' will try to build QtWebKit for OSX, looking for Xcode
tools.
- after removing the Makefile and running qmake again, it says I cannot use my
system's qmake, but I need to set QMAKEPATH to an internal path. This is weird
and I believe QtWebKit should compile like any other Qt application in the
'qmake/make/make install' way
- after setting QMAKEPATH where it wanted, 'make' started to compile
- here I've got 2 cases:
>>> on Ubuntu 12.04 32 bit, GCC 4.6.3, Qt 4.8.2:
g++ -c -Wall -Wextra -Wreturn-type -fno-strict-aliasing -Wchar-subscripts
-Wformat-security -Wreturn-type -Wno-unused-parameter -Wno-sign-compare
-Wno-switch -Wno-switch-enum -Wundef -Wmissing-noreturn -Winit-self -pipe
-ffunction-sections -fdata-sections -march=pentium4 -msse2 -mfpmath=sse
-mtune=generic -Werror -Wno-c++0x-compat -O2 -fvisibility=hidden
-fvisibility-inlines-hidden -fPIC -D_REENTRANT -DQT_WEBKIT -DWTF_USE_LIBJPEG=1
-DWTF_USE_LIBPNG=1 -DQT_MAKEDLL -DBUILDING_QT__=1 -DNDEBUG -DBUILDING_WebCore
-DBUILDING_WEBKIT -DQT_ASCII_CAST_WARNINGS
-DSTATICALLY_LINKED_WITH_JavaScriptCore -DSTATICALLY_LINKED_WITH_WTF
-DQT_NO_DEBUG -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED
-I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore
-I/usr/include/qt4/QtNetwork -I/usr/include/qt4/QtGui -I/usr/include/qt4 -I.
-I. -IModules/filesystem -IModules/geolocation -IModules/indexeddb
-IModules/navigatorcontentutils -IModules/notifications
-IModules/quota -IModules/webaudio -IModules/webdatabase -IModules/websockets
-Iaccessibility -Ibindings -Ibindings/generic -Ibridge -Ibridge/qt -Icss -Idom
-Idom/default -Iediting -Ifileapi -Ihistory -Ihtml -Ihtml/canvas -Ihtml/parser
-Ihtml/shadow -Ihtml/track -Iinspector -Iloader -Iloader/appcache
-Iloader/archive -Iloader/cache -Iloader/icon -Imathml -Ipage -Ipage/animation
-Ipage/qt -Ipage/scrolling -Iplatform -Iplatform/animation -Iplatform/audio
-Iplatform/graphics -Iplatform/graphics/cpu/arm
-Iplatform/graphics/cpu/arm/filters -Iplatform/graphics/filters
-Iplatform/graphics/filters/texmap -Iplatform/graphics/opengl
-Iplatform/graphics/opentype -Iplatform/graphics/qt
-Iplatform/graphics/surfaces -Iplatform/graphics/texmap
-Iplatform/graphics/transforms -Iplatform/image-decoders
-Iplatform/image-decoders/bmp -Iplatform/image-decoders/ico
-Iplatform/image-decoders/gif -Iplatform/image-decoders/jpeg
-Iplatform/image-decoders/png
-Iplatform/image-decoders/webp -Iplatform/leveldb -Iplatform/mock
-Iplatform/network -Iplatform/network/qt -Iplatform/qt -Iplatform/sql
-Iplatform/text -Iplatform/text/transcoder -Iplugins -Irendering
-Irendering/mathml -Irendering/style -Irendering/svg -Istorage -Isvg
-Isvg/animation -Isvg/graphics -Isvg/graphics/filters -Isvg/properties
-Itesting -I/home/cam/Fase9/webkit-qtwebkit-23/Source/WebCore/websockets
-Iworkers -Ixml -Ixml/parser -I../ThirdParty -Ibridge/jsc -Ibindings/js
-Ibridge/c -Itesting/js -Igenerated -I../../../qtbase/src/3rdparty/sqlite/
-I../WTF/wtf/qt/compat -I../../Source
-I/home/cam/Fase9/webkit-qtwebkit-23/Source/include -I../JavaScriptCore
-I../../Source -I../WTF -I../JavaScriptCore/assembler
-I../JavaScriptCore/bytecode -I../JavaScriptCore/bytecompiler
-I../JavaScriptCore/heap -I../JavaScriptCore/dfg -I../JavaScriptCore/debugger
-I../JavaScriptCore/disassembler -I../JavaScriptCore/interpreter
-I../JavaScriptCore/jit
-I../JavaScriptCore/llint -I../JavaScriptCore/parser
-I../JavaScriptCore/profiler -I../JavaScriptCore/runtime
-I../JavaScriptCore/tools -I../JavaScriptCore/yarr -I../JavaScriptCore/API
-I../JavaScriptCore/ForwardingHeaders -I../JavaScriptCore/generated
-I../JavaScriptCore/disassembler/udis86 -I../WTF -o
obj/release/WorkerContextWebDatabase.o
Modules/webdatabase/WorkerContextWebDatabase.cpp
Modules/webdatabase/WorkerContextWebDatabase.cpp: In static member function
‘static WTF::PassRefPtr<WebCore::Database>
WebCore::WorkerContextWebDatabase::openDatabase(WebCore::WorkerContext*, const
WTF::String&, const WTF::String&, const WTF::String&, long unsigned int,
WTF::PassRefPtr<WebCore::DatabaseCallback>, WebCore::ExceptionCode&)’:
Modules/webdatabase/WorkerContextWebDatabase.cpp:46:17: error: invalid use of
incomplete type ‘struct WebCore::WorkerContext’
Modules/webdatabase/WorkerContextWebDatabase.h:43:7: error: forward declaration
of ‘struct WebCore::WorkerContext’
Modules/webdatabase/WorkerContextWebDatabase.cpp:46:62: error: invalid use of
incomplete type ‘struct WebCore::WorkerContext’
Modules/webdatabase/WorkerContextWebDatabase.h:43:7: error: forward declaration
of ‘struct WebCore::WorkerContext’
Modules/webdatabase/WorkerContextWebDatabase.cpp:51:107: error: no matching
function for call to ‘WebCore::Database::openDatabase(WebCore::WorkerContext*&,
const WTF::String&, const WTF::String&, const WTF::String&, long unsigned int&,
WTF::PassRefPtr<WebCore::DatabaseCallback>&, WebCore::ExceptionCode&)’
Modules/webdatabase/WorkerContextWebDatabase.cpp:51:107: note: candidate is:
Modules/webdatabase/Database.h:59:33: note: static
WTF::PassRefPtr<WebCore::Database>
WebCore::Database::openDatabase(WebCore::ScriptExecutionContext*, const
WTF::String&, const WTF::String&, const WTF::String&, long unsigned int,
WTF::PassRefPtr<WebCore::DatabaseCallback>, WebCore::ExceptionCode&)
Modules/webdatabase/Database.h:59:33: note: no known conversion for argument
1 from ‘WebCore::WorkerContext*’ to ‘WebCore::ScriptExecutionContext*’
Modules/webdatabase/WorkerContextWebDatabase.cpp: In static member function
‘static WTF::PassRefPtr<WebCore::DatabaseSync>
WebCore::WorkerContextWebDatabase::openDatabaseSync(WebCore::WorkerContext*,
const WTF::String&, const WTF::String&, const WTF::String&, long unsigned int,
WTF::PassRefPtr<WebCore::DatabaseCallback>, WebCore::ExceptionCode&)’:
Modules/webdatabase/WorkerContextWebDatabase.cpp:56:17: error: invalid use of
incomplete type ‘struct WebCore::WorkerContext’
Modules/webdatabase/WorkerContextWebDatabase.h:43:7: error: forward declaration
of ‘struct WebCore::WorkerContext’
Modules/webdatabase/WorkerContextWebDatabase.cpp:56:62: error: invalid use of
incomplete type ‘struct WebCore::WorkerContext’
Modules/webdatabase/WorkerContextWebDatabase.h:43:7: error: forward declaration
of ‘struct WebCore::WorkerContext’
Modules/webdatabase/WorkerContextWebDatabase.cpp:61:115: error: no matching
function for call to
‘WebCore::DatabaseSync::openDatabaseSync(WebCore::WorkerContext*&, const
WTF::String&, const WTF::String&, const WTF::String&, long unsigned int&,
WTF::PassRefPtr<WebCore::DatabaseCallback>&, WebCore::ExceptionCode&)’
Modules/webdatabase/WorkerContextWebDatabase.cpp:61:115: note: candidate is:
Modules/webdatabase/DatabaseSync.h:59:37: note: static
WTF::PassRefPtr<WebCore::DatabaseSync>
WebCore::DatabaseSync::openDatabaseSync(WebCore::ScriptExecutionContext*, const
WTF::String&, const WTF::String&, const WTF::String&, long unsigned int,
WTF::PassRefPtr<WebCore::DatabaseCallback>, WebCore::ExceptionCode&)
Modules/webdatabase/DatabaseSync.h:59:37: note: no known conversion for
argument 1 from ‘WebCore::WorkerContext*’ to ‘WebCore::ScriptExecutionContext*’
Modules/webdatabase/WorkerContextWebDatabase.cpp:62:1: error: control reaches
end of non-void function [-Werror=return-type]
Modules/webdatabase/WorkerContextWebDatabase.cpp: In static member function
‘static WTF::PassRefPtr<WebCore::Database>
WebCore::WorkerContextWebDatabase::openDatabase(WebCore::WorkerContext*, const
WTF::String&, const WTF::String&, const WTF::String&, long unsigned int,
WTF::PassRefPtr<WebCore::DatabaseCallback>, WebCore::ExceptionCode&)’:
Modules/webdatabase/WorkerContextWebDatabase.cpp:52:1: error: control reaches
end of non-void function [-Werror=return-type]
cc1plus: all warnings being treated as errors
make[2]: *** [obj/release/WorkerContextWebDatabase.o] Error 1
make[2]: uscita dalla directory "/home/dev/webkit-qtwebkit-23/Source/WebCore"
make[1]: *** [sub-Target-pri-make_default-ordered] Error 2
make[1]: uscita dalla directory "/home/dev/webkit-qtwebkit-23/Source/WebCore"
make: *** [sub-Source-WebCore-WebCore-pro-make_default-ordered] Error 2
>>> on a MIPSel board, GCC 4.5.3 + ccache, Qt 4.8.4 (using a mips mkspec), it
>>> hangs when reaching this PERL command:
perl
-I/home/dev/buildroot/output/build/qtwebkit-2.3.1/Source/WebCore/bindings/scripts
/home/dev/buildroot/output/build/qtwebkit-2.3.1/Source/WebCore/dom/make_names.pl
--tags
/home/dev/buildroot/output/build/qtwebkit-2.3.1/Source/WebCore/mathml/mathtags.in
--attrs
/home/dev/buildroot/output/build/qtwebkit-2.3.1/Source/WebCore/mathml/mathattrs.in
--extraDefines "" --preprocessor "/home/dev/buildroot/output/host/usr/bin/moc
-E" --factory --wrapperFactory --outputDir generated
I've waited a couple of minutes, but the 'generated' folder stays empty and no
signs of life.
It seems I'm stuck either way. Is there something I am obviously doing wrong or
is there a patch that I can apply ?
My priority is on the MIPS board, running QtWebKit on DirectFB.
The standard QtWebKit module bundled with Qt 4.8.4 builds successfully and runs
quite good on DirectFB. Although graphics performances are very good (even
better than Opera running on the same board), the processing part is very poor
and HTML 5 support is pretty basic. I might investigate if I need more build
optimization flags to increase performances, but first I would like to use a
more 'up to date' version of WebKit before making any other consideration.
Thank you very much for any help !
Massimo
________________________________
Da: Massimo Callegari <[email protected]>
A: "[email protected]" <[email protected]>
Inviato: Giovedì 18 Aprile 2013 11:49
Oggetto: QtWebKit 2.3.1 and Qt-4.8.4
Hi all and thanks for the hard work you're doing here !
Probably my question has already been asked here, so excuse me in case. I did a
research on the ML archives but found no answer :(
Is it possible to compile QtWebKit 2.3.1 tagged yesterday into a Qt 4.8.4 tree ?
I don't mean externally (I know it's possible to do that), but copying a
snapshot into Qt's src/3rdparty/webkit.
I've seen the "include" directory has disappeared so I'm wondering if there are
major incompatibilities or if Qt 5 is mandatory at this point.
In case it is possible, are there major requirements for 2.3.1 that were not
requested by 2.2.0 included in Qt 4.8.4 ?
Thank you in advance !
Best regards,
Massimo
_______________________________________________
webkit-qt mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-qt