bingo build报错,任务 work.build.conan 执行失败

bingo版本和conan配置如上。

manifest分支为: br_release_openUBMC2509_20251230

bmc_sdk.zip下载地址为: Index of /25.09/sdk/

docker镜像下载地址为:swr.cn-north-4.myhuaweicloud.com/openubmc/ubuntu:24.04.2_25.09
运行docker的命令:docker run -it --privileged=true --network host --name gky_2509 --env LANG=C.UTF-8 --env LC_ALL=C.UTF-8 --mount type=bind,source=/home/cftc/gky_2509,target=/home/workspace swr.cn-north-4.myhuaweicloud.com/openubmc/ubuntu:24.04.2_25.09 /bin/bash

步骤:

python3 init.py -path ./bmc_sdk.zip -user USER -psw PASSWORD

运行正常,没有报错。

但是运行bingo build报错:

ERROR: 执行命令 conan lock create . -pr=profile.luajit.ini -pr:b profile.dt.ini -s:a build_type=Debug -o firmware_mgmt/:community_enable=True -o bmc_time/:manufacture=True -o /:enable_luajit=True -o vpd/:board_name=openUBMC -o fructrl/:manufacture=True -o chassis/:manufacture=True -o webui/:energy_enabled=False -o help/:board_name=openUBMC -o /:module_symvers=1ee923e971f1cf759b9b1cf3df4fbdf4182b1eb2d5f267ef64494e6ea0bf9b86 --lockfile-out=/home/workspace/manifest/temp/build_openUBMC_debug_dev/openubmc.lock 错误, 日志: /home/workspace/manifest/temp/log/task.log
ERROR: 任务 work.build.conan 执行失败, Command ‘[’/usr/local/bin/conan’, ‘lock’, ‘create’, ‘.’, ‘-pr=profile.luajit.ini’, ‘-pr:b’, ‘profile.dt.ini’, ‘-s:a’, ‘build_type=Debug’, ‘-o’, 'firmware_mgmt/:community_enable=True’, ‘-o’, ‘bmc_time/:manufacture=True’, ‘-o’, '/:enable_luajit=True’, ‘-o’, 'vpd/:board_name=openUBMC’, ‘-o’, ‘fructrl/:manufacture=True’, ‘-o’, 'chassis/:manufacture=True’, ‘-o’, ‘webui/:energy_enabled=False’, ‘-o’, 'help/:board_name=openUBMC’, ‘-o’, ‘/:module_symvers=1ee923e971f1cf759b9b1cf3df4fbdf4182b1eb2d5f267ef64494e6ea0bf9b86’, ‘–lockfile-out=/home/workspace/manifest/temp/build_openUBMC_debug_dev/openubmc.lock’]’ returned non-zero exit status 1.

日志:

task.txt (24.1 KB)

======== Computing dependency graph ========
kmc/24.1.5.b001_004@openubmc/stable: Not found in local cache, looking in remotes…
kmc/24.1.5.b001_004@openubmc/stable: Checking remote: openubmc_dev
Connecting to remote ‘openubmc_dev’ with user ‘molin_peng’
kmc/24.1.5.b001_004@openubmc/stable: ERROR: Error downloading from remote ‘openubmc_dev’
Graph root
conanfile.py (openubmc/25.09.00.01): /home/workspace/manifest/temp/build_openUBMC_debug_dev/openubmc/all/conanfile.py
Requirements
huawei_secure_c/1.0.2@openubmc/stable#ad5c55d13a8eb0a86cf895705d393b7f - Cache
ERROR: Package ‘kmc/24.1.5.b001_004@openubmc/stable’ not resolved: b’{“errors”:[{“status”:404,“message”:“Could not find artifact:cn-north-4_ad268a13b93c480087c8a1e4b0fe8b15_conan_1/openubmc/kmc/24.1.5.b001_004/stable/f7f703177e1b15bb69f3ac00125c7eb0/export/fileList.txt”}]}'. [Remote: openubmc_dev].
ERROR: 执行命令 conan lock create . -pr=profile.luajit.ini -pr:b profile.dt.ini -s:a build_type=Debug -o firmware_mgmt/:community_enable=True -o bmc_time/:manufacture=True -o /:enable_luajit=True -o vpd/:board_name=openUBMC -o fructrl/:manufacture=True -o chassis/:manufacture=True -o webui/:energy_enabled=False -o help/*:board_name=openUBMC -o /:module_symvers=1ee923e971f1cf759b9b1cf3df4fbdf4182b1eb2d5f267ef64494e6ea0bf9b86 --lockfile-out=/home/workspace/manifest/temp/build_openUBMC_debug_dev/openubmc.lock 错误, 日志: /home/workspace/manifest/temp/log/task.log
root@docker-desktop:/home/workspace/manifest# grep -r “kmc/24.1.5.b001_004” /home/workspace/manifest/temp/build_openUBMC_debug_dev/openubmc/
/home/workspace/manifest/temp/build_openUBMC_debug_dev/openubmc/all/manifest.yml: - conan: “kmc/24.1.5.b001_004@openubmc/stable”

我看到日志中报错的真正原因是kmc/24.1.5.b001_004@openubmc/stable未找到,但是我在openubmc_dev中未找到该版本的:

root@docker-desktop:/home/workspace/manifest# conan search kmc -r openubmc_dev
Connecting to remote ‘openubmc_dev’ with user ‘molin_peng’
Found 7 pkg/version recipes matching kmc in openubmc_dev
openubmc_dev
kmc
kmc/24.0.0.B020@hw.ibmc.release/rc
kmc/24.0.0.B020@hw.ibmc.release/stable
kmc/24.0.0.B020_002@openUBMC.release/rc
kmc/24.0.0.B020_002@openUBMC.release/stable
kmc/24.1.5.B001_003@openUBMC.release/rc
kmc/24.1.5.B001_003@openUBMC.release/stable
kmc/25.0.5+b001_002@openubmc/stable

答案内容由AI生成,仅供参考:

bingo build 报错分析与解决方案

问题概述

在使用 bingo build 构建 openUBMC 项目时,构建过程失败,主要错误发生在 work.build.conan 任务阶段。具体表现为:

  • 执行 conan lock create 命令失败
  • 返回非零退出状态码(exit status 1)
  • 任务 work.build.conan 执行失败
  • 最终导致 personal 任务也执行失败

错误详情分析

根据提供的日志信息,构建失败的关键步骤是 Conan 的锁文件创建命令:

conan lock create . -pr=profile.luajit.ini -pr:b profile.dt.ini -s:a build_type=Debug ... 

该命令执行失败,返回非零退出码,表明 Conan 包管理器在解析依赖关系和创建锁定文件时遇到了问题。

根本原因分析

结合 Knowledge Graph 数据和日志内容,可以确定以下关键问题:

  1. ibmc_dev 远端仓库未定义:文档块 2 明确指出,当不指定远端 Conan 仓库时,编译会失败并报错"远端没有定义 ‘ibmc_dev’"。这与当前环境只配置了 openubmc_dev 远端仓库 (https://conan.openubmc.cn/conan_1/) 但缺少 ibmc_dev 配置的情况完全吻合。

  2. Bingo 版本兼容性问题:当前使用的 Bingo 版本为 0.6.51,而系统可能需要特定版本才能正常工作。知识图谱中提到 Bingo 存在多个版本(如 0.5.238、0.6.25 等),且某些版本可能存在兼容性问题。

  3. 命令参数格式问题:日志中显示 -lockfile-out= 缺少双连字符 --,正确应为 --lockfile-out=。虽然这可能是日志显示问题,但也可能是实际执行的问题。

解决方案

1. 配置缺失的 ibmc_dev 远端仓库

这是最可能的根本原因。需要添加 ibmc_dev 远端仓库配置:

# 添加 ibmc_dev 远端仓库
conan remote add ibmc_dev https://conan.openubmc.cn/conan_1/ false

# 验证远程仓库配置
conan remote list

2. 升级或确认 Bingo 版本

确保使用兼容的 Bingo 版本:

# 升级 Bingo 到最新版本
bingo upgrade

# 或者检查当前版本是否符合要求
bingo -v

3. 清理 Conan 缓存并重试

清除可能损坏的缓存数据:

# 清理 Conan 缓存(Conan 2.x)
rm -rf ~/.conan2/p/*

# 或者对于 Conan 1.x
rm -rf ~/.conan/data

# 重新执行构建
bingo build -b openUBMC -r openubmc_dev

4. 检查并修正构建命令

确保使用正确的构建参数:

# 使用完整的构建命令
bingo build -b openUBMC -r openubmc_dev --stage=rc -bt debug

5. 完整的修复流程

# 步骤1: 确保网络连接正常
ping conan.openubmc.cn

# 步骤2: 配置所有必要的远程仓库
conan remote add ibmc_dev https://conan.openubmc.cn/conan_1/ false --force

# 步骤3: 清理缓存
rm -rf ~/.conan2/p/*
rm -rf /home/workspace/manifest/temp/*

# 步骤4: 升级工具链
bingo upgrade

# 步骤5: 重新初始化环境
python3 init.py -path ./bmc_sdk.zip -user USER -psw PASSWORD

# 步骤6: 执行构建
bingo build -b openUBMC -r openubmc_dev

预防措施

  1. 标准化构建环境:使用固定的 Docker 镜像版本,避免环境差异引起的问题。
  2. 定期更新工具链:保持 Bingo 和相关工具在稳定版本。
  3. 文档化构建步骤:建立标准的构建流程文档,包含所有必需的配置步骤。
  4. 检查远程仓库配置:在每次新环境搭建时,验证所有必需的远程仓库都已正确配置。

通过以上步骤,应该能够解决 bingo build 构建失败的问题。重点在于确保 ibmc_dev 远端仓库的正确配置以及使用兼容的工具版本。

相关链接:

  1. 25.09版本bingo build报错
  2. 不指定远端conan仓编译失败
  3. 我按照“从零开始,玩转openUBMC”搭建环境,运行“bingo build”出如下错误:
  4. 【教学培训篇】新增组件
  5. openUBMC

kmc/24.1.5.b001_004@openubmc/stable未找到,我需要引入新的conan仓库嘛?还是将kmc/24.1.5.b001_004@openubmc/stable替换为kmc/24.1.5.B001_003@openUBMC.release/stable???

当前社区已实现remote分仓管理:

最新的sdk链接为:https://conan.openubmc.cn/bmc_sdk_latest
开源remote链接为:https://conan.openubmc.cn/openubmc_opensource

如需使用25.09版本,需要对应替换sdk链接为https://conan.openubmc.cn/bmc_sdk_25.09

具体操作可参考conan remote add多个远程仓,

或章节AtomGit | GitCode - 全球开发者的开源社区,开源代码托管平台


我修改manifest/init.py,

重新执行:python3 init.py -path ./bmc_sdk.zip

执行成功后:
remote符合预期

image

但是重新运行bingo build依然有包无法找到:

(另:您给的gicodet链接好像都无法打开)

需要设置2个remote,参考主干的init.py做一点修改

现在伙伴还要设置虚拟仓吗?我设置虚拟仓的时候发现ping不同

/usr/bin/chown: changing ownership of ‘/home/workspace/manifest/temp/build_openUBMC_debug_dev/tmp_root/usr/lib64/libedit.so’: Operation not permitted
依据配置文件: /root/.conan2/p/openlc3105816d216a/p/permissions.ini, 修改权限
依据配置文件: /root/.conan2/p/libyae046ce6f4ecef/p/permissions.ini, 修改权限
e[31mERROR: 执行命令 chown -h 0:0 /home/workspace/manifest/temp/build_openUBMC_debug_dev/tmp_root/usr/lib64/libedit.so 错误, 日志: /home/workspace/manifest/temp/log/task.loge[0m

从你提供的日志看,是在执行 chown -h 0:0 file:修改组件二进制产物属主为root 时报错没有操作权限,请检查下开发环境是否是root用户,以及bingo版本是否更新到最新版。

组件问题,建议联系对应sig组

使用的是docker镜像,里面只有root用户。

bingo版本如上。

您好,具体联系哪个组呢?

建议先清理本地缓存,排除缓存影响,再定位根因

我这边用这分支,照着执行构建没什么问题啊。重新创建虚拟机,重新执行manifest 构建脚本即可。

已经重试好几次了。

这是我所有操作的日志和history记录:

构建操作全部日志.txt (424.8 KB)

命令日志history.txt (1.2 KB)

请帮我看一下是否有什么操作不对的地方?

代码唯一修改的地方就是manifest/init.py

看一下task.log

task.txt (505.7 KB)

看着像是sudo权限没有,有配置么

swr.cn-north-4.myhuaweicloud.com/openubmc/ubuntu:24.04.2_25.09

这个镜像只有一个root用户,

相关操作我只使用passwd root来设置了密码