指定版本拉取

  • https://blog.csdn.net/csdn_idiot/article/details/106188831
  • https://blog.csdn.net/bjrxyz/article/details/90347292

chromium(linux环境)指定版本下载和编译教程
使用gquic,需要用到chromium的net/third_party/quiche包,因此研究了下chromium编译的流程。chromium编译过程遇到了不少坑,总结下步骤:

前提:编译chromium的网络问题,每个人都有每个人的解决方案,解决后,接下来可以下载编译了(系统ubuntu)

1.首先我们阅读下官方文档(重要!!!)官网链接

2.大概步骤心中有数后,开始下面具体步骤吧:

(a)确认下是否已经安装python,系统可能已经自带了多个python版本,查看python不同版本教程链接。

(b)安装git,同时设置git全局配置参数。对于需要拉取指定版本chromium的,一定要增加全局参数如下:

git config --global core.autocrlf falsegit config --global core.safecrlf true

参数具体作用就是避免拉取chromium代码时,git帮你自动更改换行符,导致源文件被修改,无法切到指定版本(不同操作系统的换行符不一致,git默认会帮你转换)。

(c)安装depot_tools工具:

git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git

配置环境变量(也可以写depot_tools的绝对路径),此环境变量配置为临时配置,退出登录会失效,重新登录需要重新配置该环境变量:

export PATH="$PATH:${HOME}/depot_tools"

(d)拉取chromium代码:

mkdir ~/chromium && cd ~/chromiumfetch --nohooks chromium

如果你只是想拉取最新的chromium代码,不需要切指定版本,推荐fetch --nohooks chromium --no-history ,加入--no-history能少下载接近一半的量,若需要特定版本chromium,必须全量拉取,否则切版本时错误较多,一个个修复相当麻烦。

(e)漫长的等待后~拉取完毕后,进入拉取时生成的src目录。

(f)开始切换指定版本,若使用master分支最新版本,则直接跳过此步骤:

git fetch origin --tagsgit reset --hard 81.0.4008.1gclient sync --force --nohooks --with_branch_heads

注意:官方提供的checkout方案切指定版本存在问题,执行完毕后仍是最新版本。若报这种"fatal: reference is not a tree"类似错误,解决方案进入报错的库目录,checkout至指定版本,详情见解决方案链接。

(g)然后开始安装构建依赖:

./build/install-build-deps.sh

(h)下载run the Chromium-specific hooks额外的二进制文件:

gclient runhooks

(I)使用gn产生.ninja文件,并使用ninja进行编译:

gn gen out/Default

out目录在src目录内。Default确保在out目录内,可以任意取名。

ninja -C out/Default chrome

执行完毕,即可成功编译出chrome。
————————————————
版权声明:本文为CSDN博主「csdn_idiot」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/csdn_idiot/java/article/details/106188831

posted @   Bigben  阅读(2222)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
历史上的今天:
2019-06-04 es查询和更新 语句示例
2014-06-04 踩踩踩
2013-06-04 格式化u盘
2013-06-04 QT中PRO文件写法的详细介绍,很有用,很重要!
点击右上角即可分享
微信分享提示