Ubuntu10.04上 编译webkit
时间:2011-04-12 来源:太阳河
都说最快的学习方法就是动手实践,自己刚刚开始学习webkit内核,那就从编译webkit开始吧。
总体来说编译的过程不太复杂 ,包括三部曲,准备源码,配置编译环境,开始编译并解决出现的问题。
1)准备源码
svn checkout http://svn.webkit.org/repository/webkit/trunk WebKit
默认目录 ~/WebKit
2)配置编译环境
<1>安装依赖库
sudo apt-get install bison flex libqt4-dev libqt4-opengl-dev libphonon-dev libicu-dev libsqlite3-dev libxext-dev libxrender-dev gperf libfontconfig1-dev libphonon-dev g++
本来打算在8.04上编译webkit,但是安装过程中报libqt4-dev缺少依赖的错误,折腾了很久还是装不上这个库,所以干脆把系统升级到了10.04。
系统升级了再重新安装libqt4-dev,立马就ok了,可能8.04上的库受损了。
<2>配置环境变量
因为环境变量的有效性不同,有多种方法。为了省事,我直接修改了/etc/prolile文件,这样所有的用户都可用,不要每次再配置
在/etc/profile最后添加两行
export QTDIR=/usr/share/qt4 -----------------一般libqt4-dev的安装目录都在这个位置
export PATH=$QTDIR:$PATH
保存退出后执行 source /etc/profile 启动新的环境变量
<3>开始编译
cd ~
./WebKit/Tools/Scripts/build-webkit --qt
编译过程总碰到的问题
1. can't find gold ld
系统中有一个自带的默认连接器,但是在编译过程中需要用的gold连接器。以前还没听说过这个东西,google之,原来它是google开发的一个连接器,然后
非常大方的贡献出来了作为linux系统一个备用连接器,安装 binutils-gold package 即可
apt-get install binutils-gold
2. error: ‘TextBypassShaping’ is not a member of ‘Qt’
出现这个错误,原因是qt的版本不够新,在旧的版本中没有TextBypassShaping成员,libqt4-dev升级到4.7.2就ok了。我是通过apt-get的方式安装包的,
所以用aptitude命令可以查看已经安装的包信息
其他就没出现什么问题,编译出错,大致和依赖库有关,未安装,版本太低,路径不对,基本上就这几点
编译时间比较长,最后还是比较顺利的
相关阅读 更多 +