编译abrcc项目遭遇Chromium内核构建错误,求解决方案
解决abrcc构建中QUIC模块的Chromium版本兼容问题
方案1:适配新版Chromium(推荐)
针对新版Chromium移除chromecast_build.gni及参数差异问题,直接修改构建配置:
- 打开
quic/chromium/src/net/BUILD.gn,删除第6行的import("//build/chromecast_build.gni")语句——abrcc核心功能不依赖Chromecast模块,移除后不影响编译。 - 修复
quic/chromium/src/net/features.gni中的参数:找到trial_comparison_cert_verifier_supported一行,将其修改为适配当前系统的表达式,例如:
若不确定系统适配逻辑,也可直接设为trial_comparison_cert_verifier_supported = is_linux || is_macfalse(仅影响非核心的证书验证测试功能)。 - 重新执行
quic/depot_tools/gn gen out/Default,若仍有其他变量报错,可参考Chromium官方仓库最新版net/features.gni的内容,同步调整缺失或变更的参数。
方案2:绕过旧版Chromium的Ubuntu版本检测
若必须使用旧版Chromium(80.0.x),可修改依赖安装脚本的版本校验逻辑:
- 打开
quic/chromium/src/build/install-build-deps.sh,找到版本检测的代码段(通常是包含SUPPORTED_DISTROS的部分),将当前Ubuntu版本(如20.04/22.04)添加到支持列表中,例如:SUPPORTED_DISTROS=( "Ubuntu 14.04 LTS (trusty)" "Ubuntu 16.04 LTS (xenial)" "Ubuntu 18.04 LTS (bionic)" "Ubuntu 20.04 LTS (focal)" "Ubuntu 22.04 LTS (jammy)" "Debian 8 (jessie) or later" ) - 若不想修改列表,也可直接注释掉版本检测的报错退出逻辑,强制脚本继续执行依赖安装(注意:可能出现个别依赖版本不兼容,需手动安装缺失的软件包)。
方案3:Docker容器隔离构建(最稳妥)
用容器规避本地系统版本冲突:
- 拉取旧版Ubuntu镜像:
docker pull ubuntu:18.04 - 启动容器并挂载本地abrcc项目目录:
docker run -it -v /path/to/your/abrcc:/abrcc ubuntu:18.04 /bin/bash - 在容器内执行
apt update && apt install git curl,然后进入/abrcc目录运行quic/install.sh --install,构建完成后将生成的二进制文件复制到本地即可。
内容的提问来源于stack exchange,提问作者CkCool
相关产品推荐
相关产品推荐

