我用的ubuntu 16.04
在网上找了相关webkit 的安装方式。基本时间比较久远,在新的ubuntu上可能带来很多安装及编译上的问题。
一、webkit 安装包获取就两种途径
1)从官网https://webkitgtk.org/releases/ 上下发布的安装包
我尝试这安装发现按照官网教程一编就卡死。原因b不明。
于是采取第二种方式
2)从webkit的Git托管中克隆;
ps:对ubuntu分区要求30g以上
git clone git://git.webkit.org/WebKit.git WebKit
需要漫长等待。
而且clone 下来的工程非常庞大就5个多g。
当然用git clone 前提得先安装git工具
sudo apt-get install git build-essential autoreconf*
二、安装一些包
安装openGL:
sudo apt-get install freeglut3-dev
sudo apt-get install libgl1-mesa-dev
三、git clone完成后
安装依赖库
./WebKit/Tools/gtk/install-dependencies
更新依赖库
./WebKit/Tools/Scripts/update-webkitgtk-libs
ps:执行这个命令要注意不能在root账号下,这个命令实际上是下载jhbuild编译工具编译gnome环境.
这个耗时特别长 有43个包需要更新
这个过程很可能出现如下情况
*** 正在检出 openwebrtc *** [37/43]
git clone https://github.com/Igalia/openwebrtc.git openwebrtc
正克隆到 'openwebrtc'...
remote: Counting objects: 3658, done.
error: RPC failed; curl 56 GnuTLS recv error (-54): Error in the pull function.
fatal: The remote end hung up unexpectedly
fatal: 过早的文件结束符(EOF)
fatal: index-pack failed
Failed to build GTK+ port dependencies with jhbuild
Died at ./WebKit/Tools/Scripts/update-webkitgtk-libs line 24.
这个问题是偶现的,网上查了有人说是
应该是clone内容更新太多,需要设置postBuffer更大些,用下面命令解决
git config --global
http.postBuffer 524288000
但我实际用了貌似没有解决。
这个问题是偶现的,人品好的话,半夜运行能全部更新完。当时我试了很多次才成功。
下完之后有17个g左右。
四、编译
./WebKit/Tools/Scripts/build-webkit --gtk --debug
这个我耗时12小时左右才编完,主要看虚拟机ubuntu配置,配置好编译快。
刚开始编译遇到c++编译器编到一半无故退出的情况。(五千多个文件要编)
c++: internal compiler error:
网上搜了下是因为没有创立交换分区
首先我们输入命令创建交换分区:
dd if=/dev/zero of=/swapfile bs=1k count=2048000
大小是bs*count差不多2g也有人这样配置
sudo dd if=/dev/zero of=/swapfile bs=64M count=16
差不多1g.
输入命令生成swap文件系统
mkswap /swapfile
激活swap文件:
swapon /swapfile
如果想让它开机自动启动:
输入命令sudo vi /etc/fstab,新增下边这句:
/swapfile swap swap defaults 0 0
到这里就可以重新开始编了,如果不clean的话之前编好的文件是不会重新编的,这回节省很多时间。
五、运行
./Tools/Scripts/run-minibrowser --gtk --debug