bingo build 构建2509版本失败

日志如下:

conan cache path mctpd/1.90.6@openubmc/stable
conan cache path profile_schema/1.70.45@openubmc/stable
conan cache path capability_proxy/1.80.8@openubmc/stable
conan cache path host_agent/1.60.30@openubmc/stable
conan cache path help/1.71.37@openubmc/stable
复制 /home/workspace/manifest/build/rootfs 到 conan 安装目录
rm -rf /home/workspace/manifest/temp/build_openUBMC_debug_dev/conan_install/rootfs
cp -rf /home/workspace/manifest/build/rootfs /home/workspace/manifest/temp/build_openUBMC_debug_dev/conan_install/rootfs
rm -rf /home/workspace/manifest/temp/build_openUBMC_debug_dev/conan_install/openubmc
cp -rf /home/workspace/manifest/temp/board_openUBMC/rootfs /home/workspace/manifest/temp/build_openUBMC_debug_dev/conan_install/openubmc
不能从 yaml 文件中获取到键值 tosupporte/default/fixed_version, 没有相关配置
版本 json 配置: {‘Version’: ‘25.09.00.01’, ‘BuildNum’: ‘01’, ‘ReleaseDate’: ‘10:14:28 Mar 3 2026’, ‘BMCSDKVersion’: ‘5.10.0.1’, ‘openUBMCVersion’: ‘25.09’}
WARN: 未配置 show_version 字段
conan graph build-order . -pr=profile.luajit.ini -pr:b profile.dt.ini -s:h build_type=Debug -o :module_symvers=1ee923e971f1cf759b9b1cf3df4fbdf4182b1eb2d5f267ef64494e6ea0bf9b86 -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 --order-by=recipe -f json --out-file=/home/workspace/manifest/temp/build_openUBMC_debug_dev/graph.order --user=openubmc --channel=stable --build=missing --lockfile-out=/home/workspace/manifest/temp/build_openUBMC_debug_dev/openubmc.lock
ERROR: 执行命令 conan graph build-order . -pr=profile.luajit.ini -pr:b profile.dt.ini -s:h build_type=Debug -o :module_symvers=1ee923e971f1cf759b9b1cf3df4fbdf4182b1eb2d5f267ef64494e6ea0bf9b86 -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 --order-by=recipe -f json --out-file=/home/workspace/manifest/temp/build_openUBMC_debug_dev/graph.order --user=openubmc --channel=stable --build=missing --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’, ‘graph’, ‘build-order’, ‘.’, ‘-pr=profile.luajit.ini’, ‘-pr:b’, ‘profile.dt.ini’, ‘-s:h’, ‘build_type=Debug’, ‘-o’, ‘:module_symvers=1ee923e971f1cf759b9b1cf3df4fbdf4182b1eb2d5f267ef64494e6ea0bf9b86’, ‘-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’, ‘–order-by=recipe’, ‘-f’, ‘json’, ‘–out-file=/home/workspace/manifest/temp/build_openUBMC_debug_dev/graph.order’, ‘–user=openubmc’, ‘–channel=stable’, ‘–build=missing’, ‘–lockfile-out=/home/workspace/manifest/temp/build_openUBMC_debug_dev/openubmc.lock’]’ returned non-zero exit status 1.
ERROR: 任务 work.build.conan 执行失败
ERROR: 任务 personal 执行失败
ERROR: 请查看日志信息
conan install --requires=‘bingo_cases/[>=1.0.0]@openubmc/stable’ -u --deployer-folder=/tmp/tmpcg66ao38 -of /tmp/tmpcg66ao38 -d direct_deploy
[INFO unified_error_analyzer.py:186 analyze_errors]

[INFO unified_error_analyzer.py:187 analyze_errors] :magnifying_glass_tilted_left: 开始统一错误分析
[INFO unified_error_analyzer.py:188 analyze_errors] ============================================================
[WARNING unified_error_analyzer.py:326 _output_unified_analysis]
:white_check_mark: 没有发现匹配的错误案例

麻烦问下,这个是啥原因。

conan 配置如下:

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

:white_check_mark: 总结

问题 是否解决 方法
错误远程仓库导致依赖拉取失败 :white_check_mark: 改用 openubmc_dev 等正确远程
tosupporte 配置缺失 :warning:(警告) 补全 manifest.yml 配置
工具版本过旧 :white_check_mark: bingo upgrade
缓存污染 :white_check_mark: 清除 .conan2/p
构建命令不规范 :white_check_mark: 使用标准 bingo build 参数

:backhand_index_pointing_right: 最终建议命令顺序:

# 1. 更新工具
bingo upgrade

# 2. 配置远程
conan remote add openubmc_dev "https://conan.openubmc.cn/conan_1/" --insecure --force
conan remote add openubmc_sdk "https://conan.openubmc.cn/bmc_sdk_latest" --insecure --force
conan remote add openubmc_opensource "https://conan.openubmc.cn/openubmc_opensource" --insecure --force

# 3. 清理缓存
rm -rf ~/.conan2/p/*

# 4. 执行构建
bingo build -b openUBMC -r openubmc_dev
点击此处查看详细分析解答

bingo build 构建 25.09 版本失败问题分析与解决方案

根据您提供的日志、环境配置和构建上下文,以下是针对 bingo build 在 openUBMC 25.09 版本构建失败的系统性分析和解决方案。


:magnifying_glass_tilted_left: 一、问题定位

:cross_mark: 错误摘要

构建过程在执行以下 Conan 命令时失败:

conan graph build-order ... --lockfile-out=...

关键报错信息:

ERROR: 任务 work.build.conan 执行失败
Command '[‘/usr/local/bin/conan’, ‘graph’, ‘build-order’, ...]' returned non-zero exit status 1.

:warning: 其他警告信息

  1. 不能从 yaml 文件中获取到键值 tosupporte/default/fixed_version, 没有相关配置
  2. WARN: 未配置 show_version 字段
  3. 使用了已废弃或错误命名的远程仓库(如 openbmc_sdk 而非 openubmc_dev

:puzzle_piece: 二、根本原因分析

结合知识库信息与日志内容,失败的主要原因如下:

:white_check_mark: 1. Conan 远程仓库配置错误(核心问题)

您的 Conan 配置中使用的是:

openbmc-opensource: https://conan.openbmc.cn/openbmc_opensource
openbmc_sdk: https://conan.openbmc.cn/bmc_sdk_25.09

但根据 openUBMC 规范,正确的远程仓库应为:

openubmc_dev: https://conan.openubmc.cn/conan_1/
openubmc_sdk: https://conan.openubmc.cn/bmc_sdk_latest
openubmc_opensource: https://conan.openubmc.cn/openubmc_opensource

注意:

  • openbmc.cn 是 OpenBMC 社区地址,不适用于 openUBMC。
  • openUBMC 所有依赖均托管在 conan.openubmc.cn
  • bmc_sdk_25.09 已过时,官方使用 bmc_sdk_latest 并通过版本标签控制依赖。

:white_check_mark: 当前环境无法从正确的远程仓库拉取组件(如 capability_proxy, host_agent 等),导致 conan graph build-order 分析失败。


:white_check_mark: 2. manifest 配置缺失 tosupporte 字段

您收到提示:

不能从 yaml 文件中获取到键值 tosupporte/default/fixed_version, 没有相关配置

这表明 manifest.ymlschema/subsys.rc.schema.json 中缺少 tosupporte 相关配置项。虽然这不是直接导致崩溃的原因,但在某些构建流程(如发布包)中会引发异常。


:white_check_mark: 3. Conan 版本虽正确但配置不完整

您使用的 Conan 2.13.0 属于兼容版本(支持 25.09),但必须配合正确的 profile 和远程仓库才能正常工作。


:check_mark: 三、解决方案

:white_check_mark: 步骤 1:修正 Conan 远程仓库配置

删除错误远程并添加正确远程

# 删除旧/错误远程
conan remote remove openbmc-opensource
conan remote remove openbmc_sdk

# 添加 openUBMC 官方远程
conan remote add openubmc_dev "https://conan.openubmc.cn/conan_1/" --insecure --force
conan remote add openubmc_sdk "https://conan.openubmc.cn/bmc_sdk_latest" --insecure --force
conan remote add openubmc_opensource "https://conan.openubmc.cn/openubmc_opensource" --insecure --force

:locked_with_key: 若需认证(私有包),请登录:

conan remote login openubmc_dev -p <your_password> <your_username>

:white_check_mark: 步骤 2:检查并更新 manifest.yml 配置

确保 manifest.yml 中存在 tosupporte 配置,示例如下:

tosupporte:
  default:
    fixed_version: "1.0.0"
    code: "default"

若您仅进行个人开发测试、不涉及正式发布,此警告可暂时忽略,但建议补齐以避免后续问题。


:white_check_mark: 步骤 3:升级 bingo 工具至最新版本

旧版本 bingo 可能存在对远程仓库适配问题。更新命令:

bingo upgrade

更新后确认版本:

bingo -v

推荐使用 ≥ 0.6.121 版本。


:white_check_mark: 步骤 4:清除 Conan 缓存(防止冲突)

有时旧缓存会导致依赖解析异常,建议清理:

# 清除 Conan v2 缓存
rm -rf ~/.conan2/p/*

# 或者选择性清除相关包缓存
conan remove "*" -c

:white_check_mark: 步骤 5:重新执行构建命令

进入 manifest 目录后运行:

# 推荐用法(构建个人 HPM 包)
bingo build -b openUBMC -bt release --stage rc

# 或显式指定远程
bingo build -b openUBMC -r openubmc_dev

如果是首次构建,可先运行:

python3 init.py -path ./bmc_sdk.zip -user <username> -psw <password>

:books: 四、补充说明

项目 推荐配置
Conan 远程仓库 openubmc_dev, openubmc_sdk, openubmc_opensource
仓库地址 https://conan.openubmc.cn/...(非 openbmc.cn
Conan 版本 2.13.0(兼容 25.09):white_check_mark:
Bingo 版本 0.6.121(确保兼容):white_check_mark:
构建命令 bingo build -b openUBMC -r openubmc_dev :white_check_mark:

:white_check_mark: 总结

问题 是否解决 方法
错误远程仓库导致依赖拉取失败 :white_check_mark: 改用 openubmc_dev 等正确远程
tosupporte 配置缺失 :warning:(警告) 补全 manifest.yml 配置
工具版本过旧 :white_check_mark: bingo upgrade
缓存污染 :white_check_mark: 清除 .conan2/p
构建命令不规范 :white_check_mark: 使用标准 bingo build 参数

:backhand_index_pointing_right: 最终建议命令顺序:

# 1. 更新工具
bingo upgrade

# 2. 配置远程
conan remote add openubmc_dev "https://conan.openubmc.cn/conan_1/" --insecure --force
conan remote add openubmc_sdk "https://conan.openubmc.cn/bmc_sdk_latest" --insecure --force
conan remote add openubmc_opensource "https://conan.openubmc.cn/openubmc_opensource" --insecure --force

# 3. 清理缓存
rm -rf ~/.conan2/p/*

# 4. 执行构建
bingo build -b openUBMC -r openubmc_dev

:white_check_mark: 按照上述步骤操作后,conan graph build-order 将能正确生成构建顺序,构建流程可恢复正常。

如仍失败,请提供 /home/workspace/manifest/temp/log/task.log 详细日志以进一步诊断。