Ubuntu18.04编译cuttlefish-frontend依赖缺失报错求助
编译Cuttlefish-frontend时的依赖缺失问题(Ubuntu 18.04)
错误详情
编译cuttlefish-frontend时触发以下错误:
After this operation, 9.216 B disk space will be freed. Do you want to continue? [Y/n] y (Reading database ... 382106 files and directories currently installed.) Removing cuttlefish-frontend-build-deps (1.0.0) ... mk-build-deps: Unable to install cuttlefish-frontend-build-deps at /usr/bin/mk-build-deps line 402. mk-build-deps: Unable to install all build-dep packages dpkg-buildpackage: info: source package cuttlefish-frontend dpkg-buildpackage: info: source version 1.0.0 dpkg-buildpackage: info: source distribution UNRELEASED dpkg-buildpackage: info: source changed by Jorge Moreira <jemoreira@google.com> dpkg-buildpackage: info: host architecture amd64 dpkg-source --before-build frontend dpkg-checkbuilddeps: error: Unmet build dependencies: debhelper-compat (= 12) golang (>= 2:1.13~) | golang-1.13 libprotobuf-dev protobuf-compiler dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting dpkg-buildpackage: warning: (Use -d flag to override.)
核心问题
- 依赖缺失:
- 缺少
debhelper-compat (= 12) - 需满足
golang (>= 2:1.13~)或golang-1.13 - 缺少
libprotobuf-dev和protobuf-compiler
- 缺少
- 编译终止:因依赖未满足,编译流程被迫中断
系统信息
- 源包:cuttlefish-frontend
- 源版本:1.0.0
- 架构:amd64
- 编译环境:Ubuntu 18.04
问题求助
目前无法找到Ubuntu 18.04上安装debhelper-compat (=12)的官方文档,求解决依赖缺失的方案,或绕过该问题的替代建议。
解决方案
1. 安装debhelper-compat=12
Ubuntu 18.04默认仓库仅提供debhelper 11,需启用bionic-backports源获取12版本:
echo "deb http://archive.ubuntu.com/ubuntu bionic-backports main universe" | sudo tee -a /etc/apt/sources.list.d/bionic-backports.list sudo apt update sudo apt install -t bionic-backports debhelper-compat=12
2. 安装符合要求的Go版本
Ubuntu 18.04默认Go版本为1.10,需安装1.13版本:
sudo add-apt-repository ppa:longsleep/golang-backports sudo apt update sudo apt install golang-1.13 # 配置环境变量,确保系统使用Go 1.13 echo "export PATH=/usr/lib/go-1.13/bin:$PATH" >> ~/.bashrc source ~/.bashrc
3. 安装剩余依赖
直接从默认仓库安装缺失的protobuf相关依赖:
sudo apt install libprotobuf-dev protobuf-compiler
4. 重新编译
所有依赖安装完成后,重新执行编译命令:
dpkg-buildpackage -us -uc
替代方案
若不想手动处理依赖,可直接使用Cuttlefish官方提供的预编译二进制包,跳过源码编译流程。
内容的提问来源于stack exchange,提问作者ChunhThanhDe
相关产品推荐
相关产品推荐

