Webkit Compiling
From Docunext Technology Wiki
Contents |
Summary
Webkit is a nice website rendering engine, but its use with GTK and on linux is bleeding edge stuff as of early 2009.
Qt
I'm trying to build webkit with Qt using some basic instructions here, and I'm using these commands too:
apt-get build-dep webkit libqt4-webkit
I'm running into this error:
../../../WebCore/platform/graphics/qt/GraphicsContextQt.cpp: In member function ‘void WebCore::GraphicsContext::drawLine(const WebCore::IntPoint&, const WebCore::IntPoint&)’: ../../../WebCore/platform/graphics/qt/GraphicsContextQt.cpp:495: error: no matching function for call to ‘QPainter::fillRect(WebCore::FloatRect, WebCore::Color&)’ /usr/include/qt4/QtGui/qpainter.h:376: note: candidates are: void QPainter::fillRect(const QRectF&, const QBrush&) /usr/include/qt4/QtGui/qpainter.h:708: note: void QPainter::fillRect(int, int, int, int, const QBrush&) /usr/include/qt4/QtGui/qpainter.h:378: note: void QPainter::fillRect(const QRect&, const QBrush&) ../../../WebCore/platform/graphics/qt/GraphicsContextQt.cpp:496: error: no matching function for call to ‘QPainter::fillRect(WebCore::FloatRect, WebCore::Color&)’ /usr/include/qt4/QtGui/qpainter.h:376: note: candidates are: void QPainter::fillRect(const QRectF&, const QBrush&) /usr/include/qt4/QtGui/qpainter.h:708: note: void QPainter::fillRect(int, int, int, int, const QBrush&) /usr/include/qt4/QtGui/qpainter.h:378: note: void QPainter::fillRect(const QRect&, const QBrush&) ../../../WebCore/platform/graphics/qt/GraphicsContextQt.cpp:498: error: no matching function for call to ‘QPainter::fillRect(WebCore::FloatRect, WebCore::Color&)’ /usr/include/qt4/QtGui/qpainter.h:376: note: candidates are: void QPainter::fillRect(const QRectF&, const QBrush&) /usr/include/qt4/QtGui/qpainter.h:708: note: void QPainter::fillRect(int, int, int, int, const QBrush&) /usr/include/qt4/QtGui/qpainter.h:378: note: void QPainter::fillRect(const QRect&, const QBrush&) ../../../WebCore/platform/graphics/qt/GraphicsContextQt.cpp:499: error: no matching function for call to ‘QPainter::fillRect(WebCore::FloatRect, WebCore::Color&)’ /usr/include/qt4/QtGui/qpainter.h:376: note: candidates are: void QPainter::fillRect(const QRectF&, const QBrush&) /usr/include/qt4/QtGui/qpainter.h:708: note: void QPainter::fillRect(int, int, int, int, const QBrush&) /usr/include/qt4/QtGui/qpainter.h:378: note: void QPainter::fillRect(const QRect&, const QBrush&) make[1]: *** [tmp/GraphicsContextQt.o] Error 1
GTK
WorkQueueItemGtk.cpp
In file included from WebKitTools/DumpRenderTree/gtk/WorkQueueItemGtk.cpp:21: WebKitTools/DumpRenderTree/gtk/WorkQueueItem.h:49: error: invalid use of template-name ‘JSRetainPtr’ without an argument list WebKitTools/DumpRenderTree/gtk/WorkQueueItem.h:50: error: invalid use of template-name ‘JSRetainPtr’ without an argument list WebKitTools/DumpRenderTree/gtk/WorkQueueItem.h:55: error: ‘virtual bool LoadItem::invoke() const’ cannot be overloaded WebKitTools/DumpRenderTree/gtk/WorkQueueItem.h:52: error: with ‘virtual void LoadItem::invoke() const’ WebKitTools/DumpRenderTree/gtk/WorkQueueItem.h:52: error: conflicting return type specified for ‘virtual void LoadItem::invoke() const’ WebKitTools/DumpRenderTree/gtk/WorkQueueItem.h:38: error: overriding ‘virtual bool WorkQueueItem::invoke() const’ WebKitTools/DumpRenderTree/gtk/WorkQueueItemGtk.cpp:39: error: prototype for ‘bool LoadItem::invoke() const’ does not match any in class ‘LoadItem’ WebKitTools/DumpRenderTree/gtk/WorkQueueItem.h:52: error: candidate is: virtual void LoadItem::invoke() const WebKitTools/DumpRenderTree/gtk/WorkQueueItemGtk.cpp: In member function ‘virtual bool ScriptItem::invoke() const’: WebKitTools/DumpRenderTree/gtk/WorkQueueItemGtk.cpp:68: error: ‘script’ was not declared in this scope
I commented out the problem lines in WorkQueueItemGtk.cpp and it compiled OK, and seems to run fine as well.
JSCSSCharsetRule.o
DerivedSources/.libs/JSCSSCharsetRule.o: No such file or directory make[1]: *** [libWebCoreJS.la] Error 1 make[1]: *** Waiting for unfinished jobs.... mv -f JavaScriptCore/.deps/libJavaScriptCore_la-AllInOneFile.Tpo JavaScriptCore/.deps/libJavaScriptCore_la-AllInOneFile.Plo make[1]: Leaving directory `/home/albertlash/src/webkitsvn' make: *** [all] Error 2
Not sure how to try and fix this. I've tried make clean, reconfiguring and recompiling everything, but no go.