Yocto构建报错:opkg-utils_git.bb的do_unpack阶段失败(退出码1)
解决Yocto构建opkg-utils do_unpack失败问题
作为折腾过Yocto老版本构建的开发者,结合你的环境(Ubuntu 14.04 + BB_VERSION 1.28.0 + fsl-qoriq 2.0),这个opkg-utils_git.bb do_unpack失败的问题,大概率是git仓库访问/网络兼容性或者环境依赖缺失导致的,给你几个针对性的解决步骤:
1. 排查git仓库的访问权限与协议问题
调试信息里出现了SSH_AUTH_SOCK,说明opkg-utils的recipe在尝试通过SSH协议拉取git仓库,但可能存在密钥未配置或者旧协议不被支持的情况:
- 先手动测试克隆仓库:
如果克隆失败,优先换成HTTPS协议的源:找到git clone git://git.openembedded.org/opkg-utilspoky/meta/recipes-devtools/opkg-utils/opkg-utils_git.bb文件,修改SRC_URI字段为:SRC_URI = "git://github.com/openembedded/opkg-utils.git;protocol=https" - 如果是SSH密钥问题,确保你的本地SSH密钥已经添加到对应的代码仓库权限列表里,或者执行
ssh-add加载密钥到当前会话。
2. 修复Ubuntu 14.04的git版本兼容性问题
Ubuntu 14.04默认的git版本是1.9.x,而Yocto Jethro(对应BB_VERSION 1.28)依赖的git操作可能需要更高版本支持,升级git的步骤:
sudo add-apt-repository ppa:git-core/ppa sudo apt-get update sudo apt-get install git
升级完成后验证版本:git --version,确保至少到2.x版本。
3. 清理损坏的构建缓存并重新尝试
之前的unpack失败可能留下了损坏的临时文件,清理对应缓存:
rm -rf tmp/work/x86_64-linux/opkg-utils/* rm -rf downloads/git2/git.openembedded.org.opkg-utils
之后重新执行构建命令:
bitbake fsl-image-minimal
4. 检查Yocto层的完整性
确保你的poky及相关meta层已经同步完整,执行以下命令拉取所有子模块:
cd poky git submodule update --init --recursive
这些步骤应该能解决你遇到的do_unpack失败问题,毕竟Ubuntu 14.04属于比较老的环境,和Yocto老版本搭配时容易出现这类兼容性问题。
内容的提问来源于stack exchange,提问作者ympolo
相关产品推荐
相关产品推荐

