ubuntu 10.04编译webkit gtk过程

人盡茶涼 提交于 2020-02-16 11:41:35

      这天工作上没什么安排,打算研究下webkit,从http://nightly.webkit.org/builds/trunk/src/1下载到webkit源码进行编译,没想到遇到不少问题,还把虚拟机的里ubuntu系统启动不了,最终落得重温重装ubuntu系统。以下是编译 webkit过程遇到的种种不良的情况,希望对编译webkit的盆友有所帮助。

      我的环境:32位ubuntu 10.04,联想Y470。

一、webkit 介绍

      WebKit是Mac OS X v10.3及以上版本所包含的软件框架。同时,WebKit也是Mac OS X的Safari网页浏览器的基础。WebKit是一个开源项目,主要由KDE的KHTML修改而来并且包含了一些来自苹果公司的一些组件。

      WebKit包含一个网页引擎WebCore和一个脚本引擎JavaScriptCore,它们分别对应的是KDE的KHTML和KJS。不过,随着JavaScript引擎的独立性越来越强,现在WebKit和WebCore已经基本上混用不分(例如Google Chrome采用V8引擎,却仍然宣称自己是WebKit内核)。当初苹果公司在设计WebKit之时加入了太多Mac OS X平台的独有事物,这给向其它系统的移植造成了很大障碍。不过,由于WebKit出色的开源特性,这些障碍正在被不断克服。目前在Linux平台关于WebKit的移植主要由两个分支:WebkitQt和WebKitGtk,由于现在主流Linux的桌面环境是Gtk,所以我选择了编译Gtk版本的WebKit。

二、源码准备

      webkit源码获取有两种方法。可以直接到WebKit的官方网站是http://webkitgtk.org/,上面可以下载到当前稳定版本,上面的源码包比较小,网络慢的朋友可以选择直接从这里下载,我急性子,所以也选择了这种方法;还有一种是通过使用svn来下载,有好几百兆。

三、安装编译依赖库

      由于ubuntu 10.04自带的库有些太低更没有安装,所以要更新更安装以下依赖库,否则编译不能通过。

      webKit依赖如下软件包:
    autoconf
    automake
    autotools-dev
    bison (>= 2.4.1)
    flex
    gperf
    glib-networking
    gtk-doc-tools
    libenchant-dev
    libgail-dev
    libgeoclue-dev
    libgstreamer-plugins-base0.10-dev
    libgtk2.0-dev (>= 2.10)
    libicu-dev
    libjpeg62-dev
    libpango1.0-dev (>= 1.16)
    libpng12-dev
    libsqlite3-dev
    libtool
    libxslt1-dev
    libxt-dev

    上面这些库可以直接通过apt-get安装所得,libglib2.0-dev (>= 2.27.4)和libsoup2.4-dev (>= 2.33.1.20101209)这两个库可以手动下载安装,由于 ubuntu已经自带了libglib2.0-dev(2.12.9.4)版本太低,在安装libsoup2.4-dev前要先删除,然后重装libglib2.0-dev (>= 2.27.4)版本,否则libsoup2.4-dev安装不成功。一般装完的以上的库可以正常编译了,以上各个依赖库的功能可以google查看。

四、编译webkit -gtk

      运行./configure

      如果在检查依赖关系时没有提示出错,编译可以说成功就在眼前了。

     再运行./WebkitTools/Scripts/build-webkit --gtk  (大概半个小时左右)

     如果返回以下信息表明编译成功:

make[1]:正在离开目录 `/home/work/opensource/WebKit-r43284/WebKitBuild/Release'

===========================================================
WebKit is now built. To run GtkLauncher with this newly-built
code, use the "WebKitTools/Scripts/run-launcher" script.

NOTE: WebKit has been built with SVG support enabled.
GtkLauncher will have SVG viewing capabilities.
Your build supports the following (optional) SVG features:
* Basic SVG animation.
* SVG as image.
* SVG fonts.
* SVG foreign object.
* SVG <use> support.
===========================================================

五、最后执行./WebKitTools/Scripts/run-launcher --gtk


易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!