1. Building WebKit on Linux - WebKit porting to Mona OS
To see what's happening on build process, just tried to build WebKit on my Ubuntu laptop.
At first I've tried to build GTK+ WebKit, but it requires GLIB - version >= 2.27.90. My Ubuntu uses glib 2.0.0, and it seems dangerous to upgrade glib to the latest version.
So gave up GTK+ Webkit, tried QT WebKit instead.
% sudo apt-get install libqt4-dev libxslt-dev gperf bison libsqlite3-dev flex build-essential subversion % (QTDIR=/usr/share/qt4/ Tools/Scripts/build-webkit --qt) 2>&1 | tee build.log
After about an hour of compilation, following errors were shown.
../../../Source/WebCore/platform/graphics/qt/FontQt.cpp:195: error: ‘TextBypassShaping’ is not a member of ‘Qt’ ../../../Source/WebCore/platform/graphics/qt/FontQt.cpp:204: error: ‘TextBypassShaping’ is not a member of ‘Qt’ ../../../Source/WebCore/platform/graphics/qt/FontQt.cpp:221: error: no matching function for call to ‘QFontMetrics::width(QString&, int, int&)’
BuildingQtOnLinux – WebKit says.
Note: Some ubuntu distributions does not install qt 4.7.0 with the above command. So you have to install it separately from qt.nokia.com or add "deb http://ppa.launchpad.net/kubuntu-ppa/backports/ubuntu lucid main" to apt sources file /etc/apt/sources.list and do apt-get update and then install libqt4-dev package
After installed new libqt4, make clean && build-webkit --qt.
The next problem was "no space left" on compilation. The size and number of files were much more than I expected. It used at least 2GB disk.
Removed unused files and restart building.
On the link phase of JavaScriptCore, the ld linker was killed because of high usage of memory.
So I did two things.
- installed gold linker (sudo apt-get install binutils-gold)
- disabled svg support (QTDIR=/usr/share/qt4/ Tools/Scripts/build-webkit --qt --no-svg).
gold linker caused some link error, so I uninstalled it.
Finally successfully completed building process.
Run the launcher.
% Tools/Scripts/run-launcher --qt