chromium(linux环境)指定版本下载和编译教程
使用gquic,需要用到chromium的net/third_party/quiche包,因此研究了下chromium编译的流程。chromium编译过程遇到了不少坑,总结下步骤:
前提:编译chromium的网络问题,每个人都有每个人的解决方案,解决后,接下来可以下载编译了(系统ubuntu)
1.首先我们阅读下官方文档(重要!!!)官网链接
2.大概步骤心中有数后,开始下面具体步骤吧:
(a)确认下是否已经安装python,系统可能已经自带了多个python版本,查看python不同版本教程链接。
(b)安装git,同时设置git全局配置参数。对于需要拉取指定版本chromium的,一定要增加全局参数如下:
[code]git config --global core.autocrlf false git config --global core.safecrlf true
参数具体作用就是避免拉取chromium代码时,git帮你自动更改换行符,导致源文件被修改,无法切到指定版本(不同操作系统的换行符不一致,git默认会帮你转换)。
(c)安装
depot_tools工具:
[code]git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git
配置环境变量(也可以写depot_tools的绝对路径),此环境变量配置为临时配置,退出登录会失效,重新登录需要重新配置该环境变量:
[code]export PATH="$PATH:${HOME}/depot_tools"
(d)拉取chromium代码:
[code]mkdir ~/chromium && cd ~/chromium fetch --nohooks chromium
如果你只是想拉取最新的chromium代码,不需要切指定版本,推荐fetch --nohooks chromium --no-history ,加入--no-history能少下载接近一半的量,若需要特定版本chromium,必须全量拉取,否则切版本时错误较多,一个个修复相当麻烦。
(e)漫长的等待后~拉取完毕后,进入拉取时生成的src目录。
(f)开始切换指定版本,若使用master分支最新版本,则直接跳过此步骤:
[code]git fetch origin --tags git reset --hard 81.0.4008.1 gclient sync --force --nohooks --with_branch_heads
注意:官方提供的checkout方案切指定版本存在问题,执行完毕后仍是最新版本。若报这种"fatal: reference is not a tree"类似错误,解决方案进入报错的库目录,checkout至指定版本,详情见解决方案链接。
(g)然后开始安装构建依赖:
[code]./build/install-build-deps.sh
(h)下载run the Chromium-specific hooks额外的二进制文件:
[code]gclient runhooks
(I)使用gn产生.ninja文件,并使用ninja进行编译:
[code]gn gen out/Default
out目录在
src目录内。
Default确保在
out目录内,可以任意取名。
[code]ninja -C out/Default chrome
执行完毕,即可成功编译出chrome。
- windows以及linux 环境下Google Protocol Buffer 下载编译安装教程
- arm-linux,arm-elf-交叉编译环境下载地址[转]
- Linux 环境下编译 0.11版本内核 kernel
- Ubuntu 10.04环境下载&编译Android源代码及JDK版本切换
- linux 驱动 指定下载的内核源码树编译
- 下载并编译Android kernel的指定版本源代码
- arm-linux,arm-elf-交叉编译环境下载地址
- linux环境下实用小工具,从编译的C文件中,找出指定的函数或者其他字符串
- 下载编译chromium代码-android版本亲测60
- Linux环境下修改或指定python的默认版本
- 在linux主机中编译下载到的同版本linux内核文件
- chromium34源码下载及chromium for Android编译环境的搭建
- Linux 环境下编译 0.11版本内核 kernel(部分转载,加上自己修改的部分(绿色注释))
- Linux\CentOS系统下的服务器搭建,下载编译环境,安装vsFtpd、nginx、MySQL、JDK、Tomcat、PHP
- linux下安装两个不同版本的交叉编译环境arm-linux-gcc4.4.3、arm-linux-gcc3.4.1,切换调用的解决
- linux环境,Tomcat 指定运行时 jdk的版本
- Linux——虚拟化环境搭建教程,基于Centos 6 版本(下)
- 在Linux环境下构建P2P下载服务的方法教程
- Docker配置任意版本编译环境(GCC升级、降级、指定版本)
- arm-linux,arm-elf-交叉编译环境下载地址