在ubuntu上编译chrome
红心地瓜
1.获取代码
1)下载tarball,http://chromium-browser-source.commondatastorage.googleapis.com/chromium_tarball.html
2) 解压缩
3)安装dept_tools:
http://www.chromium.org/developers/how-tos/install-depot-tools
将dept_tools加到PATH里面
export PATH="$PATH":
`pwd`/depot_tools或者加到~/.bashrc里面
2.安装dependency
进到
chromium/src目录下
./build/install-build-deps.sh
3.同步代码
进到chromium/src目录下
gclient sync --force
如果不想同步,则必须执行
gclient runhooks --force
这一步会调用gyp来长生一些平台特定的代码,只要做一次就可以
4.配置
./build/gyp_chromium -Dflag1=value1 -Dflag2=value2
5.编译
make chrome
碰到问题及解决
1.bison: cannot open file `external/bison/data/m4sugar/m4sugar.m4': No such file or directory
看着像bison没有装好,又重新apt-get remove/install装了bison,还是不行,到网站下载最新的2.5编译安装,还是不行
于是bison -V
发现显示的是
bison (GNU Bison) 2.3
可是我用Whereis bison,显示的又是我刚装的2.5的地址
判断是哪里的bison预先执行了
于是
strace(bison),果然
execve("/home/tom/work/gingerbread/out/host/linux-x86/bin/bison", ["bison"], [/* 51 vars */]) = 0
原因是我将android out 的地址设定在path的前面,于是覆盖了/usr/local/bin,执行了android下面的bison
修改PATH变量,问题得到解决
2.link的时候内存不足退出
解决方法:
1)加大swap,我加到了8G
http://www.ylmf.net/ubuntu/tips/2010123119690.html
2)采用gold ld替代ld进行链接
export CC="gcc -B/usr/local/gold/bin"
或者将
/usr/local/gold/bin加到PATH变量中/usr/bin的前面
参考:
1)get-the-code,http://www.chromium.org/developers/how-tos/get-the-code
2)linux build instruction,http://code.google.com/p/chromium/wiki/LinuxBuildInstructions
3) LinuxFasterBuilds, http://code.google.com/p/chromium/wiki/LinuxFasterBuilds