我正在尝试运行AOSP的棒棒糖版本:external/chromium_org/V8中的V8单元测试通过遵循https://v8.dev/docs/build的文档。但是构建本身总是失败。
步骤是:
- 导出depot_tools路径
- gclient同步
- 使用./build/install-build- deep .sh安装依赖项(该脚本在默认情况下不存在于源代码中,因此必须从更高版本手动复制) 通用x64.release
我已经安装了所有依赖项,并遵循了上面提到的文档中的所有步骤,但是当我这样做时:
gm x64.release
构建失败,输出如下:
# echo > out/x64.release/args.gn << EOF
is_component_build = false
is_debug = false
target_cpu = "x64"
use_goma = false
v8_enable_backtrace = true
v8_enable_disassembler = true
v8_enable_object_print = true
v8_enable_verify_heap = true
EOF
# gn gen out/x64.release
ERROR at //build/config/BUILDCONFIG.gn:71:7: Undefined identifier
if (os == "chromeos") {
^-
我试过用gn来构建它,也遵循手动工作流程,但我最终还是出现了同样的错误。我还尝试在gn参数列表中将os变量设置为linux,但我也得到了未知标识符错误。
我看到AOSP项目中使用的v8在文件方面与相同版本的主源代码有很大不同。默认情况下,帮助脚本工具/dev/gm.py也不存在,所以我使用的是更高版本的一个。如果有人能建议我是否应该遵循任何不同的步骤,或者我可以参考的任何其他资源,以便构建AOSP项目中的V8,那就太好了
版本:V8 3.29.88.17
操作系统:Ubuntu 18.04.5 LTS
架构:x86_64
3.29严重老化;我并不惊讶它不会使用当前的工具来构建。经验法则:当构建旧软件时,使用当时用来构建它的工具。
在手边的情况下:尝试make x64.release.check -jN
,其中N是您拥有的CPU内核数。
我看到AOSP项目中使用的v8在文件方面与相同版本的主源代码有很大不同。
"lollipop-release"分支包含V8 3.27.34.15,而"lollipop-mr1-release"包含你引用的V8 3.29.88.17。这能解释差异吗?