我正在尝试在 Ubuntu 下在我的笔记本电脑(i7-1260P,16Gb RAM)上构建 chromium。 我做什么:
gn gen out/Default
autoninja -C out/Default chrome
在某些时候,构建过程会挂起,我发现系统监视器中的内存消耗显着增加(在 10-15 秒内从 5Gb 上升到 16Gb)。我还发现每个处理器的负载几乎都是 100%。构建过程崩溃后出现错误:
[31140/52638] CXX obj/content/browser/browser/browser_plugin_guest.o
FAILED: obj/content/browser/browser/browser_plugin_guest.o
ccache ../../third_party/llvm-build/Release+Asserts/bin/clang++ -MMD -MF obj/content/browser/browser/browser_plugin_guest.o.d -DDCHECK_ALWAYS_ON=1 -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D_GNU_SOURCE -
<<<<<<<<<<<<A LOT OF ROWS WITH BUILD VARIABLES, LINKING ETC>>>>>>>>>>>>>
_plugin_guest.cc -o obj/content/browser/browser/browser_plugin_guest.o
[31151/52638] CXX obj/content/browser/browser/browser_interface_binders.o
ninja: build stopped: subcommand failed.
构建过程创建了许多
clang++
进程(大约12个),每个进程消耗大约200MB内存(在内存消耗开始不受控制地增长之前)。
我试图找到一些可以减少并行进程数量的构建参数,但没有成功。
i7-1260P,16Gb RAM - 对于链接整个 Chromium 来说,这是太弱的硬件。您应该使用组件构建。将以下行添加到您的
args.gn
is_component_build = true
其他有用的调整:链接器崩溃。