2512高可用构建的时候报错,具体如下:
bingo.log日志如下:
环境信息
-
操作系统:[如 Ubuntu 24.04]
-
conan版本,bingo版本几bmcgo版本如下:
看起来是构建过程中尝试使用 Conan 安装一个名为 bmcgo_cases 的包,具体该怎么解决?
2512高可用构建的时候报错,具体如下:
bingo.log日志如下:
操作系统:[如 Ubuntu 24.04]
conan版本,bingo版本几bmcgo版本如下:
看起来是构建过程中尝试使用 Conan 安装一个名为 bmcgo_cases 的包,具体该怎么解决?
答案内容由AI生成,仅供参考:
根据您提供的日志信息,本次构建失败的根本原因已明确。以下是详细的分析与解决建议。
ERROR: Package 'bmcgo_cases/[>=1.0.0]@openubmc/stable' not resolved: Version range '[>=1.0.0]' from requirement 'bmcgo_cases/[>=1.0.0]@openubmc/stable' required by 'None' could not be resolved.
该错误属于 Package Not Resolved 类型(在知识库中定义为 Conan 无法解析依赖包的版本约束)。
这表示:
构建系统在 Conan 远程仓库中找不到满足 bmcgo_cases/[>=1.0.0]@openubmc/stable 版本范围要求的 bmcgo_cases 包。
组件未发布
bmcgo_cases 组件尚未被发布到 openubmc/stable 通道,或者发布时版本号低于 1.0.0,无法满足 [>=1.0.0] 的版本约束。
依赖版本约束错误
使用了版本范围 [>=1.0.0],但远程仓库中没有任何可用版本能匹配此范围(可能是组件根本不存在,或是命名/通道有误)。
Conan 依赖解析失败
尽管 Conan 成功连接了远程仓库(如 openubmc_sdk, openubmc_opensource),但在依赖图计算阶段未能找到该组件,最终报错退出。
执行以下命令检查 bmcgo_cases 是否存在于远程仓库中:
conan search "bmcgo_cases/*" -r openubmc
# 或者尝试
conan search "bmcgo_cases/*" -r openubmc_dev
如果返回为空或没有符合
>=1.0.0的版本,则说明:
- 该组件尚未发布
- 或者发布的版本号过低
- 或者使用的远程仓库不正确
若当前仅有旧版本可用(例如 0.9.0),可在构建配置文件(如 manifest.yml 或 subsys 配置)中将依赖项改为具体版本:
dependencies:
- conan: "bmcgo_cases/0.9.0@openubmc/stable"
注意:避免使用浮动版本范围(如
[>=1.0.0])在关键构建流程中,可能导致不确定性。
如果 bmcgo_cases 尚未发布,请执行以下步骤进行发布:
bmcgo_cases 组件源码目录bingo build 打包并发布:cd bmcgo_cases
bingo create
bingo publish
确保发布版本 ≥ 1.0.0 且发布通道为 @openubmc/stable
确保 Conan 配置中已正确添加 openubmc 远程地址:
conan remote list
应包含类似:
openubmc: https://conan.openubmc.cn/conan_1 [Verify SSL: False]
若缺少,需手动添加:
conan remote add openubmc https://conan.openubmc.cn/conan_1 --insecure
![]()
--insecure用于禁用 SSL 校验(适用于内网环境)
| 建议项 | 说明 |
|---|---|
| 依赖显式声明 | 避免使用 [>=x.x.x] 等动态版本,推荐使用固定版本以保证构建可重现性 |
| 组件发布归一化 | 所有参与构建的组件都应在 CI/CD 中自动发布至指定通道(如 stable) |
| 构建前检查依赖 | 在执行 bingo build 前,可通过 conan graph info . 预检依赖图 |
| 定期清理缓存 | 若 Conan 缓存异常,可清理后重试:rm -rf ~/.conan2/p(Conan v2) |
Package Not Resolved:Conan 在无法满足版本约束时抛出此错误(见 KG 实体描述)。Conan:作为 C/C++ 依赖管理工具,负责解析、下载和构建二进制包。Openubmcopensource:为 https://conan.openubmc.cn/openubmcopensource,是 openUBMC 使用的主要远程仓库之一。Rodrick 用户案例:曾因依赖缺失导致构建失败,最终通过修正 URL 和 SHA256 解决。Bakbad 用户建议:提出可通过修改 Conan 远程 URL 解决构建失败问题。| 项目 | 内容 |
|---|---|
| 根本原因 | bmcgo_cases/[>=1.0.0]@openubmc/stable 依赖无法解析 |
| 解决路径 | 检查组件是否存在 → 修正版本或发布新版本 → 调整配置 |
| 推荐操作 | 使用 conan search 检查组件存在性,并使用固定版本代替浮动范围 |
最终建议动作:
请维护bmcgo_cases的团队尽快将其 ≥1.0.0 版本发布至openubmc/stable通道,并通知集成方更新依赖配置。
如有进一步日志或组件源码路径信息,可进一步协助排查发布流程。
相关链接: