zybwh
(张雨博)
1
背景
在25.12版本中,为了优化部分组件的版本名,使其更加的贴合Conan2.0,将4段式的版本改成3段式,结果导致触发了Conan的“不太合理”的逻辑(4段式永远比3段式要大),导致25.09版本一致在依赖25.12版本的组件,导致构建失败。
当前进展
这个问题为什么会被拿出来说呢,因为有点棘手,即使把版本回退,也需要一定的时间,无法解决当前阻塞性的问题,所以需要一些临时措施来解决。
我们想到了使用Conan分Repo的方式来解决不同版本兼容的问题。
之前:
https://conan.openubmc.cn/conan_1 所有版本共用一个conan仓
当前中间态(2026/1/6):
切换时需要清空本地缓存,避免构建时版本出错
最新bmc_sdk链接:https://conan.openubmc.cn/bmc_sdk_latest
开源仓链接:https://conan.openubmc.cn/openubmc_opensource
25.09sdk链接:https://conan.openubmc.cn/bmc_sdk_25.09
目标态(仍存在gap,在努力中)
https://conan.openubmc.cn/conan_1 —> latest,最新在研版本 (后续打算废弃,名字无意义)
https://conan.openubmc.cn/openubmc_latest —> latest,最新在研版本
https://conan.openubmc.cn/openubmc_25.12 —> openUBMC_25.12 聚合仓
https://conan.openubmc.cn/openubmc_25.09 —> openUBMC_25.09 聚合仓
通过聚合仓的方式,提供不同社区版本的Conan远程仓。同时我们讲sdk与社区仓库分开,切换仅影响使用的sdk版本,这样确保了同样的开源代码可以在不同的sdk上完成构建。
具体的说明指导近期也在编写中,如果需要可以先在论坛进行讨论和咨询。
改动会尽快上线,也欢迎大家提出自己的想法!
3 个赞
zybwh
(张雨博)
2
29更新:
在实际运作中,发现当前使用的conan服务(华为云)不支持聚合仓搜索功能,当前只能先通过多仓形式来管理,正在推动华为云功能落地中。
当前社区拥有的conan仓如下:
https://conan.openubmc.cn/conan_1 —> latest,25.12版本构建没问题,25.09问题仍在解决中
https://conan.openubmc.cn/openubmc_opensource —> 社区开源组件所有的conan仓
https://conan.openubmc.cn/openubmc_25.12 —> openUBMC_25.12 sdk仓
https://conan.openubmc.cn/openubmc_25.09 —> openUBMC_25.09 sdk仓
针对25.12版本开发者:
继续使用https://conan.openubmc.cn/conan_1
针对25.09版本开发者:
需要使用:
设置双remote仓,确保能搜索到正确的依赖组件。
由于安全合规等原因,当前每个Conan仓都需要进行用户鉴权,25.09版本会需要两次鉴权。
yaoshun1
(yaoshun)
3
1 个赞
zybwh
(张雨博)
5
ocy
(wuzhou-ouchangyun)
6
这里截图使用的conan地址就是这个https://conan.openubmc.cn/bmc_sdk_25.09 ,执行命令bmcgo build -r openubmc_09
yaoshun1
(yaoshun)
7
25.09怎么会是libmc4lua/1.100.71?
ocy
(wuzhou-ouchangyun)
9
感谢,排查了一下原因,可能是因为之前还在使用https://conan.openubmc.cn/conan_1 的地址,执行过编译,带了更高版本的缓存,通过conan remove libmc4lua/1.100.71@openubmc/stable 和conan remove libmgmt_protocol/1.80.64@openubmc/stable可以正常编译2509版本,直接运行conan remove ‘*‘会导致全部缓存会全部清除需要重新导入,建议还是单独清除过高版本组件缓存。
1 个赞
chenxiang
(HKZY_chenxiang)
11
zybwh
(张雨博)
12
比较难,随着版本越来越多,组合会比较多。聚合仓还是最佳的方式
也可以继续讨论哈
主页的文档要更新呀,我已经踩完坑编译了好久自己编译完了才看到这个
社区的remote还是不通
在opensource 出现下载失败的问题,重试3次还没有下载成功