fedora and ubuntu compile webkit
来源:互联网 发布:如何查询中文域名状况 编辑:程序博客网 时间:2024/06/02 04:24
code: http://trac.webkit.org/wiki/UsingGitWithWebKit
代码浏览: http://trac.webkit.org/browser
compile process(for GTK): http://trac.webkit.org/wiki/BuildingGtk
一: fedora 编译 webkit; webkit and glib compile error
1, download GLIB 2.28
download glib-2.28.8.tar.zip
2, compile and install GLIB 2.28
[leo@leo glib-2.28.8]$ pwd
/mnt/sdb1/webkit/glib-2.28.8
[leo@leo glib-2.28.8]$ ./configure
[leo@leo glib-2.28.8]$ make
[leo@leo glib-2.28.8]$ make install
3, download WebKit-r90503.tar.bz2
4, compile http://trac.webkit.org/wiki/BuildingGtk
[leo@leo WebKit-r90503]$ pwd
/mnt/sdb1/webkit/WebKit-r90503
[leo@leo WebKit-r90503]$ Tools/Scripts/build-webkit --gtk [--debug]checking for GLIB - version >= 2.27.90... no*** Could not run GLIB test program, checking why...
*** The test program failed to compile or link. See the file config.log for the
*** exact error that occured. This usually means GLIB is incorrectly installed.
configure: error: You need the GLib dev tools in your path
5, resolve 4's error:
do 1,2,3
[leo@leo WebKit-r90503]$ pwd
/mnt/sdb1/webkit/WebKit-r90503
[leo@leo WebKit-r90503]$ export PKG_CONFIG_PATH="/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH"
[leo@leo WebKit-r90503]$ vim configure
you will find: enable_glibtest
[leo@leo WebKit-r90503]$ ./configure --disable-glibtest
6, build error for libsoup:
checking for LIBSOUP... no
configure: error: Package requirements (libsoup-2.4 >= 2.33.6) were not met:
Requested'libsoup-2.4 >= 2.33.6' but version of libsoup is 2.31.90
Consider adjusting the PKG_CONFIG_PATH environment variable if you
installed software in a non-standard prefix.
Alternatively, you may set the environment variables LIBSOUP_CFLAGS
and LIBSOUP_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.
[leo@leo WebKit-r90503]$ vim configure
17670 # minimum base dependencies
17671 #LIBSOUP_REQUIRED_VERSION=2.33.6
17672LIBSOUP_REQUIRED_VERSION=2.31.8
7, 6 cannot resolve this build error: 需要安装 libsoup-2.34.2 或者更新的版本;
download libsoup-2.34.2.tar.gz
compile libsoup-2.34.2.tar.gz:
[leo@leo libsoup-2.34.2]$ pwd
/mnt/sdb1/webkit/libsoup-2.34.2
[leo@leo libsoup-2.34.2]$export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH
[leo@leo libsoup-2.34.2]$ ./configure --disable-glibtestchecking for glib-networking (glib TLS implementation)... no
configure: error: libsoup requires glib-networking for TLS support.
If you are building a package, you can pass--disable-tls-check to
allow building libsoup anyway (since glib-networking is not actually
required at compile time), but you should be sure to add a runtime
dependency on it.
[leo@leo libsoup-2.34.2]$ ./configure --disable-glibtest --disable-tls-check
[leo@leo libsoup-2.34.2]$ make[leo@leo libsoup-2.34.2]$ sudo make install
8, gnome 库资源:
http://linorg.usp.br/gnome/sources/
9, execute webkit
[leo@leo WebKit-r90503]$ pwd
/mnt/sdb1/webkit/WebKit-r90503
[leo@leo WebKit-r90503]$./Programs/GtkLauncherhttp://svtplay.se/
WebKit-r53596/WebKitTools/Scripts$ ./run-launcher --gtk
9.1 键盘支持:[leo@leo WebKit-r90503]$ vi ./Source/WebKit/gtk/webkit/webkitwebsettings.cpp
552 g_object_class_install_property(gobject_class,
553 PROP_ENABLE_SPATIAL_NAVIGATION,
554 g_param_spec_boolean("enable-spatial-navigation",
555 _("Enable Spatial Navigation"),
556 _("Whether to enable Spatial Navigation"),
557 /*FALSE*/TRUE,
558 flags));
9.2 http Proxy:
https://lists.webkit.org/pipermail/webkit-help/2009-December/000477.html
proxy支持:[leo@leo WebKit-r90503]$ vi Tools/GtkLauncher/main.c
411 #ifndef WEBKIT2
412 /* #ifdef SOUP_TYPE_PROXY_RESOLVER_DEFAULT */
413 #if 0
414 soup_session_add_feature_by_type(webkit_get_default_session(), SOUP_TYPE_PROXY_RESOLVER_DEFAULT);
415 #else
416 const char *httpProxy = g_getenv("http_proxy");
417 if (httpProxy) {
418 SoupURI *proxyUri = soup_uri_new(httpProxy);
419 g_object_set(webkit_get_default_session(), SOUP_SESSION_PROXY_URI, proxyUri, NULL);
420 soup_uri_free(proxyUri);
421 }
422 #endif
423 #endif
proxy支持:[leo@leo WebKit-r90503]$ export http_proxy="http://wwwgate0-ch.mot.com:1080"
10,
二, ubuntu 编译webkit
1, install depent lib:
leo@leosu:/mnt$ sudo apt-get install autoconf automake autotools-dev bison flex gperf glib-networking gtk-doc-tools libenchant-dev libgail-dev libgeoclue-dev libglib2.0-dev libgstreamer-plugins-base0.10-dev libgtk2.0-dev libicu-dev libjpeg62-dev libpango1.0-dev libpng12-dev libsoup2.4-dev libsqlite3-dev libtool libxslt-dev libxt-dev
ubuntu 1110 need the following:
1.1 install gmail-3
$sudo apt-get install libgail-3-0
1.2 config PKG_CONFIG_PATH;
$export PKG_CONFIG_PATH="/usr/lib/pkgconfig:$PKG_CONFIG_PATH"
2, compile:
leo@leosu:/mnt/my_webkit/WebKit-r90503$ pwd
/mnt/my_webkit/WebKit-r90503
leo@leosu:/mnt/my_webkit/WebKit-r90503$ Tools/Scripts/build-webkit --gtk [--debug]3, excute: leo@leosu:/mnt/my_webkit/WebKit-r90503$ Tools/Scripts/run-launcher --gtk leo@leosu:/mnt/my_webkit/WebKit-r90503$ Tools/Scripts/run-launcher --gtk --enable-caret-browsing=true --enable-spatial-navigation=true --tab-key-cycles-through-elements=true
Tools/Scripts/run-launcher --gtk --enable-caret-browsing=true --enable-spatial-navigation=true --tab-key-cycles-through-elements=false
WebKit-r53596/WebKitTools/Scripts$ ./run-launcher --gtk
leo@leosu:/mnt/my_webkit/WebKit-r90503$ Tools/Scripts/run-launcher --gtk --help-all
--enable-caret-browsing=gboolean 是否启用辅助功能增强型键盘导航
--enable-spatial-navigation=gboolean Whether to enable Spatial Navigation
--enable-frame-flattening=gboolean Whether to enable Frame Flattening
--tab-key-cycles-through-elements=gboolean 是否允许元素间 Tab 键循环。--auto-shrink-images=gboolean 自动缩小单个图像以适应需求。
三,调试 运行, 打印
编译调试选项 --debug, 注意,可以在文件中加上打印信息; 比如:
./Source/WebCore/dom/KeyboardEvent.cpp and ./Source/WebCore/page/EventHandler.cpp 中添加下面的打印信息;
fprintf(stderr, "%s:%d:%s, leosu \n",__FILE__, __LINE__,__FUNCTION__ );
#Tools/Scripts/build-webkit --gtk --debug
执行编译出来的可执行文件:
#WebKitBuild/Debug/Programs/GtkLauncher --gtk [--debug]
int KeyboardEvent::keyCode() const
{
// IE: virtual key code for keyup/keydown, character code for keypress
// Firefox: virtual key code for keyup/keydown, zero for keypress
// We match IE.
if (!m_keyEvent) {
fprintf(stderr, "%s:%d:%s, leosu \n",__FILE__, __LINE__,__FUNCTION__ );
return 0;}
if (type() == eventNames().keydownEvent || type() == eventNames().keyupEvent){
fprintf(stderr, "%s:%d:%s, m_keyEvent->windowsVirtualKeyCode()=%d leosu \n",__FILE__, __LINE__,__FUNCTION__, m_keyEvent->windowsVirtualKeyCode() );
return m_keyEvent->windowsVirtualKeyCode(); }
fprintf(stderr, "%s:%d:%s, leosu \n",__FILE__, __LINE__,__FUNCTION__ );
return charCode();
}
四, STB version and related into webkit.
4.1, 531 releated:
you can get version from the following way on STB:
/ekioh_src_motorola_20100720_r4525/src/3rdParty/WebKit531/pkg/webkit-Safari-6531.22.2.tar.bz2//WebCore/ChangeLog
or
leosu@leosu:/mnt/sda3/dev_iptv/DEV_youtube_4_4/applications/3pp/ekioh-webkit/opensource/src/3rdParty/webkit/work/WebCore$ pwd
/mnt/sda3/dev_iptv/DEV_youtube_4_4/applications/3pp/ekioh-webkit/opensource/src/3rdParty/webkit/work/WebCore
leosu@leosu:/mnt/sda3/dev_iptv/DEV_youtube_4_4/applications/3pp/ekioh-webkit/opensource/src/3rdParty/webkit/work/WebCore$ vim ChangeLog
2010-01-27 Mark Rowe <mrowe@apple.com>
Merge r53567.
2010-01-20 Jon Honeycutt <jhoneycutt@apple.com>
tag info:
http://svn.webkit.org/repository/webkit/tags/
http://svn.webkit.org/repository/webkit/tags/Safari-6531.22.2/
http://svn.webkit.org/repository/webkit/tags/Safari-6531.22.7/ChangeLog
2009-07-07 Norbert Leser <norbert.leser@nokia.com>
Reviewed by Simon Hausmann.
Exclude DumpRenderTree.pro from symbian build
* WebKit.pro:
review all version info:
http://nightly.webkit.org/builds/trunk/src/1
http://nightly.webkit.org/builds/trunk/src/38
http://nightly.webkit.org/builds/trunk/src/42
r45600 11.1 MB2009-07-07 18:41:44 UTC
r45585 11.1 MB2009-07-07 09:32:17 UTC
r45583 11.1 MB2009-07-07 03:32:55 UTC
4.2 534 releated.
http://wiki.mot-mobility.com/KreaTV/EkiohWebKit534Evaluation
WebKit 534 port from Ekioh which seems to be based on WebKit 534.43http://svn.webkit.org/repository/webkit/tags/Safari-534.43/ChangeLog 2011-05-16 http://nightly.webkit.org/builds/trunk/src/24 r8653617.9 MB2011-05-16 09:48:11 UTC r8650517.9 MB2011-05-15 18:01:48 UTC
4.3
五, 网上资料:
webkit是一个浏览器内核,google的chrome就是基于它的,下面介绍一下如何在Ubuntu 11.04下编译Webkit源代码。网上有大量的关于如何在Windows下或者如何用Qt来编译Webkit,本文不对此进行介绍,只介绍如何在命令行下编译Webkit源代码: 1.下载:在http://nightly.webkit.org/ 下载webkit的最新版本源码,我的是WebKit-r96832
2.编译:
./WebKit-r96832/Tools/Scripts/build-webkit --gtk
正常情况下会缺少各种库,没关系,一个一个解决。下面列举了我所遇到的一些问题:
sudo apt-get install libtool
sudo apt-get install gtk-doc-tools
错误:undefined macro XXX (不记得了~~)
解决:sudo apt-get install libgtkhtml* (全部安装)
错误:configure: error: JPEG library (libjpeg) not found
解决:sudo apt-get install libjpeg8-dev (当时我编译的时候libjpeg的最新版是8,你编译的时候要选择当前的最新版,下同!)
错误:Cannot find icu-config. The ICU library is needed.
解决:sudo apt-get install libicu-dev
错误:configure: error: Package requirements (gail-3.0 >= 3.0) were not met: No package 'gail-3.0' found
解决:sudo apt-get install libgail-3-dev
错误:configure: error: X Toolkit Intrinsics library (libXt) not found
解决:sudo apt-get install libxt-dev
错误:configure: error: Package requirements (libsoup-2.4 >= 2.33.6) were not met: No package 'libsoup-2.4' found
解决:sudo apt-get install libsoup2.4-dev
错误:configure: error: SQLite3 is required for the Database related features
解决:sudo apt-get install libsqlite3-dev
错误:configure: error: Package requirements (libxslt >= 1.1.7) were not met: No package 'libxslt' found
解决:sudo apt-get install libxslt-dev
错误:configure: error: Package requirements (geoclue) were not met: No package 'geoclue' found
解决:sudo apt-get install libgeoclue-dev
错误:configure: error: Package requirements (gstreamer-0.10 >= 0.10
gstreamer-app-0.10
gstreamer-base-0.10
gstreamer-interfaces-0.10
gstreamer-pbutils-0.10
gstreamer-plugins-base-0.10 >= 0.10.30
gstreamer-video-0.10) were not met:
No package 'gstreamer-0.10' found
No package 'gstreamer-app-0.10' found
No package 'gstreamer-base-0.10' found
No package 'gstreamer-interfaces-0.10' found
No package 'gstreamer-pbutils-0.10' found
No package 'gstreamer-plugins-base-0.10' found
No package 'gstreamer-video-0.10' found
解决:sudo apt-get install libgstreamer*
最后终于没有问题,开始编译了!
./WebKit-r96832/Tools/Scripts/build-webkit --gtk
经过了漫长的等待(整整一个小时!),终于编译通过了!!!
记录一下编译通过的输出:
===========================================================
WebKit is now built (1h:01m:41s).
To run GtkLauncher with this newly-built code, use the
"Tools/Scripts/run-launcher" script.
===========================================================
如何运行?
./Tools/Scripts/run-launcher --gtk 就可以啦!
code: http://trac.webkit.org/wiki/UsingGitWithWebKit
代码浏览: http://trac.webkit.org/browser
compile process(for GTK): http://trac.webkit.org/wiki/BuildingGtk
一: fedora 编译 webkit; webkit and glib compile error
1, download GLIB 2.28
download glib-2.28.8.tar.zip
2, compile and install GLIB 2.28
[leo@leo glib-2.28.8]$ pwd
/mnt/sdb1/webkit/glib-2.28.8
[leo@leo glib-2.28.8]$ ./configure
[leo@leo glib-2.28.8]$ make
[leo@leo glib-2.28.8]$ make install
3, download WebKit-r90503.tar.bz2
4, compile http://trac.webkit.org/wiki/BuildingGtk
[leo@leo WebKit-r90503]$ pwd
/mnt/sdb1/webkit/WebKit-r90503
[leo@leo WebKit-r90503]$ Tools/Scripts/build-webkit --gtk [--debug]checking for GLIB - version >= 2.27.90... no*** Could not run GLIB test program, checking why...
*** The test program failed to compile or link. See the file config.log for the
*** exact error that occured. This usually means GLIB is incorrectly installed.
configure: error: You need the GLib dev tools in your path
5, resolve 4's error:
do 1,2,3
[leo@leo WebKit-r90503]$ pwd
/mnt/sdb1/webkit/WebKit-r90503
[leo@leo WebKit-r90503]$ export PKG_CONFIG_PATH="/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH"
[leo@leo WebKit-r90503]$ vim configure
you will find: enable_glibtest
[leo@leo WebKit-r90503]$ ./configure --disable-glibtest
6, build error for libsoup:
checking for LIBSOUP... no
configure: error: Package requirements (libsoup-2.4 >= 2.33.6) were not met:
Requested'libsoup-2.4 >= 2.33.6' but version of libsoup is 2.31.90
Consider adjusting the PKG_CONFIG_PATH environment variable if you
installed software in a non-standard prefix.
Alternatively, you may set the environment variables LIBSOUP_CFLAGS
and LIBSOUP_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.
[leo@leo WebKit-r90503]$ vim configure
17670 # minimum base dependencies
17671 #LIBSOUP_REQUIRED_VERSION=2.33.6
17672LIBSOUP_REQUIRED_VERSION=2.31.8
7, 6 cannot resolve this build error: 需要安装 libsoup-2.34.2 或者更新的版本;
download libsoup-2.34.2.tar.gz
compile libsoup-2.34.2.tar.gz:
[leo@leo libsoup-2.34.2]$ pwd
/mnt/sdb1/webkit/libsoup-2.34.2
[leo@leo libsoup-2.34.2]$export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH
[leo@leo libsoup-2.34.2]$ ./configure --disable-glibtestchecking for glib-networking (glib TLS implementation)... no
configure: error: libsoup requires glib-networking for TLS support.
If you are building a package, you can pass--disable-tls-check to
allow building libsoup anyway (since glib-networking is not actually
required at compile time), but you should be sure to add a runtime
dependency on it.
[leo@leo libsoup-2.34.2]$ ./configure --disable-glibtest --disable-tls-check
[leo@leo libsoup-2.34.2]$ make[leo@leo libsoup-2.34.2]$ sudo make install
8, gnome 库资源:
http://linorg.usp.br/gnome/sources/
9, execute webkit
[leo@leo WebKit-r90503]$ pwd
/mnt/sdb1/webkit/WebKit-r90503
[leo@leo WebKit-r90503]$./Programs/GtkLauncherhttp://svtplay.se/
WebKit-r53596/WebKitTools/Scripts$ ./run-launcher --gtk
9.1 键盘支持:[leo@leo WebKit-r90503]$ vi ./Source/WebKit/gtk/webkit/webkitwebsettings.cpp
552 g_object_class_install_property(gobject_class,
553 PROP_ENABLE_SPATIAL_NAVIGATION,
554 g_param_spec_boolean("enable-spatial-navigation",
555 _("Enable Spatial Navigation"),
556 _("Whether to enable Spatial Navigation"),
557 /*FALSE*/TRUE,
558 flags));
9.2 http Proxy:
https://lists.webkit.org/pipermail/webkit-help/2009-December/000477.html
proxy支持:[leo@leo WebKit-r90503]$ vi Tools/GtkLauncher/main.c
411 #ifndef WEBKIT2
412 /* #ifdef SOUP_TYPE_PROXY_RESOLVER_DEFAULT */
413 #if 0
414 soup_session_add_feature_by_type(webkit_get_default_session(), SOUP_TYPE_PROXY_RESOLVER_DEFAULT);
415 #else
416 const char *httpProxy = g_getenv("http_proxy");
417 if (httpProxy) {
418 SoupURI *proxyUri = soup_uri_new(httpProxy);
419 g_object_set(webkit_get_default_session(), SOUP_SESSION_PROXY_URI, proxyUri, NULL);
420 soup_uri_free(proxyUri);
421 }
422 #endif
423 #endif
proxy支持:[leo@leo WebKit-r90503]$ export http_proxy="http://wwwgate0-ch.mot.com:1080"
10,
二, ubuntu 编译webkit
1, install depent lib:
leo@leosu:/mnt$ sudo apt-get install autoconf automake autotools-dev bison flex gperf glib-networking gtk-doc-tools libenchant-dev libgail-dev libgeoclue-dev libglib2.0-dev libgstreamer-plugins-base0.10-dev libgtk2.0-dev libicu-dev libjpeg62-dev libpango1.0-dev libpng12-dev libsoup2.4-dev libsqlite3-dev libtool libxslt-dev libxt-dev
ubuntu 1110 need the following:
1.1 install gmail-3
$sudo apt-get install libgail-3-0
1.2 config PKG_CONFIG_PATH;
$export PKG_CONFIG_PATH="/usr/lib/pkgconfig:$PKG_CONFIG_PATH"
2, compile:
leo@leosu:/mnt/my_webkit/WebKit-r90503$ pwd
/mnt/my_webkit/WebKit-r90503
leo@leosu:/mnt/my_webkit/WebKit-r90503$ Tools/Scripts/build-webkit --gtk [--debug]3, excute: leo@leosu:/mnt/my_webkit/WebKit-r90503$ Tools/Scripts/run-launcher --gtk leo@leosu:/mnt/my_webkit/WebKit-r90503$ Tools/Scripts/run-launcher --gtk --enable-caret-browsing=true --enable-spatial-navigation=true --tab-key-cycles-through-elements=true
Tools/Scripts/run-launcher --gtk --enable-caret-browsing=true --enable-spatial-navigation=true --tab-key-cycles-through-elements=false
WebKit-r53596/WebKitTools/Scripts$ ./run-launcher --gtk
leo@leosu:/mnt/my_webkit/WebKit-r90503$ Tools/Scripts/run-launcher --gtk --help-all
--enable-caret-browsing=gboolean 是否启用辅助功能增强型键盘导航
--enable-spatial-navigation=gboolean Whether to enable Spatial Navigation
--enable-frame-flattening=gboolean Whether to enable Frame Flattening
--tab-key-cycles-through-elements=gboolean 是否允许元素间 Tab 键循环。--auto-shrink-images=gboolean 自动缩小单个图像以适应需求。
三,调试 运行, 打印
编译调试选项 --debug, 注意,可以在文件中加上打印信息; 比如:
./Source/WebCore/dom/KeyboardEvent.cpp and ./Source/WebCore/page/EventHandler.cpp 中添加下面的打印信息;
fprintf(stderr, "%s:%d:%s, leosu \n",__FILE__, __LINE__,__FUNCTION__ );
#Tools/Scripts/build-webkit --gtk --debug
执行编译出来的可执行文件:
#WebKitBuild/Debug/Programs/GtkLauncher --gtk [--debug]
int KeyboardEvent::keyCode() const
{
// IE: virtual key code for keyup/keydown, character code for keypress
// Firefox: virtual key code for keyup/keydown, zero for keypress
// We match IE.
if (!m_keyEvent) {
fprintf(stderr, "%s:%d:%s, leosu \n",__FILE__, __LINE__,__FUNCTION__ );
return 0;}
if (type() == eventNames().keydownEvent || type() == eventNames().keyupEvent){
fprintf(stderr, "%s:%d:%s, m_keyEvent->windowsVirtualKeyCode()=%d leosu \n",__FILE__, __LINE__,__FUNCTION__, m_keyEvent->windowsVirtualKeyCode() );
return m_keyEvent->windowsVirtualKeyCode(); }
fprintf(stderr, "%s:%d:%s, leosu \n",__FILE__, __LINE__,__FUNCTION__ );
return charCode();
}
四, STB version and related into webkit.
4.1, 531 releated:
you can get version from the following way on STB:
/ekioh_src_motorola_20100720_r4525/src/3rdParty/WebKit531/pkg/webkit-Safari-6531.22.2.tar.bz2//WebCore/ChangeLog
or
leosu@leosu:/mnt/sda3/dev_iptv/DEV_youtube_4_4/applications/3pp/ekioh-webkit/opensource/src/3rdParty/webkit/work/WebCore$ pwd
/mnt/sda3/dev_iptv/DEV_youtube_4_4/applications/3pp/ekioh-webkit/opensource/src/3rdParty/webkit/work/WebCore
leosu@leosu:/mnt/sda3/dev_iptv/DEV_youtube_4_4/applications/3pp/ekioh-webkit/opensource/src/3rdParty/webkit/work/WebCore$ vim ChangeLog
2010-01-27 Mark Rowe <mrowe@apple.com>
Merge r53567.
2010-01-20 Jon Honeycutt <jhoneycutt@apple.com>
tag info:
http://svn.webkit.org/repository/webkit/tags/
http://svn.webkit.org/repository/webkit/tags/Safari-6531.22.2/
http://svn.webkit.org/repository/webkit/tags/Safari-6531.22.7/ChangeLog
2009-07-07 Norbert Leser <norbert.leser@nokia.com>
Reviewed by Simon Hausmann.
Exclude DumpRenderTree.pro from symbian build
* WebKit.pro:
review all version info:
http://nightly.webkit.org/builds/trunk/src/1
http://nightly.webkit.org/builds/trunk/src/38
http://nightly.webkit.org/builds/trunk/src/42
r45600 11.1 MB2009-07-07 18:41:44 UTC
r45585 11.1 MB2009-07-07 09:32:17 UTC
r45583 11.1 MB2009-07-07 03:32:55 UTC
4.2 534 releated.
http://wiki.mot-mobility.com/KreaTV/EkiohWebKit534Evaluation
WebKit 534 port from Ekioh which seems to be based on WebKit 534.43http://svn.webkit.org/repository/webkit/tags/Safari-534.43/ChangeLog 2011-05-16 http://nightly.webkit.org/builds/trunk/src/24 r8653617.9 MB2011-05-16 09:48:11 UTC r8650517.9 MB2011-05-15 18:01:48 UTC
4.3
五, 网上资料:
webkit是一个浏览器内核,google的chrome就是基于它的,下面介绍一下如何在Ubuntu 11.04下编译Webkit源代码。网上有大量的关于如何在Windows下或者如何用Qt来编译Webkit,本文不对此进行介绍,只介绍如何在命令行下编译Webkit源代码: 1.下载:在http://nightly.webkit.org/ 下载webkit的最新版本源码,我的是WebKit-r96832
2.编译:
./WebKit-r96832/Tools/Scripts/build-webkit --gtk
正常情况下会缺少各种库,没关系,一个一个解决。下面列举了我所遇到的一些问题:
sudo apt-get install libtool
sudo apt-get install gtk-doc-tools
错误:undefined macro XXX (不记得了~~)
解决:sudo apt-get install libgtkhtml* (全部安装)
错误:configure: error: JPEG library (libjpeg) not found
解决:sudo apt-get install libjpeg8-dev (当时我编译的时候libjpeg的最新版是8,你编译的时候要选择当前的最新版,下同!)
错误:Cannot find icu-config. The ICU library is needed.
解决:sudo apt-get install libicu-dev
错误:configure: error: Package requirements (gail-3.0 >= 3.0) were not met: No package 'gail-3.0' found
解决:sudo apt-get install libgail-3-dev
错误:configure: error: X Toolkit Intrinsics library (libXt) not found
解决:sudo apt-get install libxt-dev
错误:configure: error: Package requirements (libsoup-2.4 >= 2.33.6) were not met: No package 'libsoup-2.4' found
解决:sudo apt-get install libsoup2.4-dev
错误:configure: error: SQLite3 is required for the Database related features
解决:sudo apt-get install libsqlite3-dev
错误:configure: error: Package requirements (libxslt >= 1.1.7) were not met: No package 'libxslt' found
解决:sudo apt-get install libxslt-dev
错误:configure: error: Package requirements (geoclue) were not met: No package 'geoclue' found
解决:sudo apt-get install libgeoclue-dev
错误:configure: error: Package requirements (gstreamer-0.10 >= 0.10
gstreamer-app-0.10
gstreamer-base-0.10
gstreamer-interfaces-0.10
gstreamer-pbutils-0.10
gstreamer-plugins-base-0.10 >= 0.10.30
gstreamer-video-0.10) were not met:
No package 'gstreamer-0.10' found
No package 'gstreamer-app-0.10' found
No package 'gstreamer-base-0.10' found
No package 'gstreamer-interfaces-0.10' found
No package 'gstreamer-pbutils-0.10' found
No package 'gstreamer-plugins-base-0.10' found
No package 'gstreamer-video-0.10' found
解决:sudo apt-get install libgstreamer*
最后终于没有问题,开始编译了!
./WebKit-r96832/Tools/Scripts/build-webkit --gtk
经过了漫长的等待(整整一个小时!),终于编译通过了!!!
记录一下编译通过的输出:
===========================================================
WebKit is now built (1h:01m:41s).
To run GtkLauncher with this newly-built code, use the
"Tools/Scripts/run-launcher" script.
===========================================================
如何运行?
./Tools/Scripts/run-launcher --gtk 就可以啦!
- fedora and ubuntu compile webkit
- PBRT Ubuntu Compile and use
- ubuntu 9.10 compile and install FFMPEG
- compile and execute cpp file in ubuntu
- Compile and use PBRT on Ubuntu
- compile and install ffmpeg on Ubuntu
- safiri webkit 开发 on linux (ubuntu or fedora)
- VMWare 6 and linux(Ubuntu): vmmon compile error
- Python Intro - Compile and Install numpy library on Ubuntu
- Fedora: Compile your own kernel
- fedora automatic compile autotools usage
- compile static perl on fedora
- compile WebKit in qt5.6(unfinished)
- Linphone compile and install
- boost and qt compile.
- DSS Compile and Configuration
- libvorbis configure and compile
- ubuntu opengl install&&compile
- 关于大型网站技术演进的思考(一)--存储的瓶颈(上)
- Linux桌面环境下的网页制作工具Quanta, kompozer,
- 百度2014研发类校园招聘笔试题解答
- REHL5中文字体及fcitx安装和设置
- 用CSS画三角形
- fedora and ubuntu compile webkit
- duilib入门问题集
- USACO1.1.2 Greedy Gift Givers (gift1)
- javac控制台编译Notepad++写的Java乱码问题
- 【转】用CSS画圆形
- poj1976 dp
- linux 进程间通信综述
- SQL查询出表中某列含有重复数据和没有重复数据的值
- [2015新年计划]