【构建报错求助】thermal_mgmt 构建失败,疑似依赖冲突导致
环境信息:
- Bingo 版本:0.5.317
- 镜像:根据最新 manifest 中 Dockerfile 制作的镜像
- thermal_mgmt 版本:1.70.28
【问题描述】
在进行全量构建时,thermal_mgmt 组件构建失败,报错截图如下:
组件 mds/service.json 中声明的依赖如下:
【初步分析】
怀疑是 key_mgmt 组件对 persistence 的版本要求与 thermal_mgmt 冲突:
key_mgmt/1.50.8 要求:persistence/[>=1.60.10 <1.61.0]
- 实际使用版本:
persistence/1.70.2(由 thermal_mgmt/1.70.28 指定)
由于版本不兼容,Conan 无法解析依赖,导致构建失败。
【当前诉求】
- 希望协助确认上述依赖冲突是否为构建失败的根本原因?
- 如分析准确,该如何解决此类组件间依赖版本冲突的问题?是否需要:
- 升级
key_mgmt 组件版本?
- 修改
thermal_mgmt 的依赖声明?
- 或有其他推荐方案?
感谢支持!
1、构建失败是指单独构建 thermal_mgmt 组件失败,manifest 构建没有问题。
2、组件构建是在各个组件仓库中分别执行如下命令完成的:
bingo build -r artifactory --user=openUBMC.release --stage rc
其中 artifactory 是我们内部使用的 Conan 仓库,已包含社区仓库内容。当前各组件采用的是 25.03 版本,manifest 使用的是带高可用特性的版本。
我已对比了 key_mgmt 和 persistence 的版本,与你提供的一致,分别为 1.70.5 和 1.70.7。
wwhh
(Wwhh)
4
当前在thermal_mgmt中,使用bingo build --user=openUBMC.release --stage rc命令构建不存在问题,建议排查 artifactory内部使用的Conan仓库是否存在版本依赖问题
您好,
经过排查后,发现使用社区 Conan 仓库时可以成功构建,但使用我们的 Artifactory 虚拟仓时却出现了版本冲突问题。以下是我对问题的初步分析:
初步分析:
- 二进制包版本一致:
key_mgmt/1.50.8 和 persistence/1.70.2 在两个仓库中的版本是一致的。
- 不同仓库的 recipes:
- 尽管二进制包版本相同,但 recipes 内容存在差异。在 Artifactory 虚拟仓库中的
local-conan 本地仓库中,存在我们上传的 12.30 版本二进制。
- 在 Artifactory 仓库中使用
conan search key_mgmt/1.50.8@hw.ibmc.release/rc -r=artifactory --revisions 指令可以获取到相关的 recipes,而在 openubmc_dev 仓库中却无法获取到。
- 不同仓库的
key_mgmt 依赖策略:
openubmc_dev 中的 key_mgmt 可能没有显式要求 persistence/[>=1.60.10 <1.61.0]。
- 而在 Artifactory 中的
key_mgmt 版本较旧,依赖策略更为严格,要求的版本范围更加明确。
我的疑问:
我推测,问题可能是由于相同版本的 Conan 组件(如 key_mgmt)在不同仓库中进行了修改,导致在 Artifactory 虚拟仓库中构建失败。特别是 Artifactory 中 key_mgmt 的依赖版本策略可能更加严格,导致构建失败。
是否是这种原因导致了使用 Artifactory 虚拟仓构建失败?