我目前正在构建的 Chromium 耗时太长了——已经花了大约 12 个小时,距离完成还有 2/3 左右最好:
......
[37717/51410] CXX obj/content/browser/browser/navigation_loader_interceptor.o
[37718/51410] CXX obj/content/browser/browser/navigation_url_loader_delegate.o
[37719/51410] CXX obj/content/browser/browser/navigation_url_loader.o
[37720/51410] CXX obj/content/browser/browser/prefetch_url_loader.o
[37721/51410] CXX obj/content/browser/browser/prefetch_url_loader_service.o
我遵循了官方的指示 -https://chromium.googlesource.com/chromium/src/+/main/docs/linux/build_instructions.md- 以及如何加快编译速度的建议。这是我为 NG 构建的标志
$ EDITOR=vim gn args out/my_build1
===>
is_debug = false
symbol_level = 0
dcheck_always_on = false
is_official_build = true
enable_nacl = false
blink_symbol_level = 0
v8_symbol_level = 0
chrome_pgo_phase = 0
也许,由于时间太长,它们还没有被应用?我该如何验证?
此外,说明书中没有描述顺序:
- 是否必须打电话
gn gen out/Default
第一的和然后gn args out/Default
- 或者
gn args out/Default
第一的和然后gn gen out/Default
- 或者
gn args out/Default
单独地开始建造它。
哪一个?我可能搞错了顺序。
FF 大约需要 3 个小时才能编译完成。
答案1
Chromium 非常庞大,不要低估它。ARM Launchpad 构建器花了 100 小时才构建一次,但在 x86 中通常只需 8 小时。在这种情况下,12 小时并不荒谬(请注意,某些特定步骤可能需要很长时间,您可能会认为它卡住了),但您还没有公开您的机器硬件。就我个人而言,我不敢在我的计算机上构建它。
请注意,最后的链接需要大量内存。你不会希望等到它在步骤 51409/51410 时被 OOM 杀死。我会确保有 32 GB 的内存或限制并行作业(参见此修补,如果它要求您注册,请复制并粘贴链接,这是 Firefox 的一个错误)。
我可能搞乱了顺序。
可能是这样。请记住,GN 代表“Generate Ninja”,因此您应该先拥有gn args out/Default
,然后拥有gn gen out/Default
。
从gn gen --help
:
从当前树生成忍者文件
然而gn args --help
:
在编辑器中打开给定构建目录的参数。如果给定的构建目录不存在,则会创建该目录并在编辑器中打开一个空的 args 文件。