在本地修改了mdb_interface组件代码,打了本地仓库的tag后,修改bmc_core.yml文件中引用的mdb_interface的版本和后缀
diff --git a/build/subsys/stable/bmc_core.yml b/build/subsys/stable/bmc_core.yml
index ee4a6bc..fac9e25 100644
--- a/build/subsys/stable/bmc_core.yml
+++ b/build/subsys/stable/bmc_core.yml
@@ -1,6 +1,6 @@
# yaml-language-server: $schema=/usr/share/bmcgo/schema/subsys.stable.schema.json
dependencies:
- - conan: "mdb_interface/1.90.118@openubmc/stable"
+ - conan: "mdb_interface/1.90.119@100trust.openubmc/stable"
- conan: "fructrl/1.70.60@openubmc/stable"
- conan: "sensor/1.70.79@openubmc/stable"
- conan: "frudata/1.70.38@openubmc/stable"
然后进行编译出现了编译依赖错误如下,我理解应该是后缀改变导致检测依赖时找不到相应的组件,请问如何解决?
ocy
(wuzhou-ouchangyun)
2
会不会是没有编译修改后的mdb_interface组件,同时本地conan缓存和远端/本地conan都没有,然后在manifest中直接编译才报的错误
应该还是后缀的问题,编译是检查observability组件依赖出错的,service.json文件中是这样描述的:
"build": [
{
"conan": "libmc4lua/[>=0.0.1]"
},
{
"conan": "mdb_interface/[>=1.80.1]"
},
{
"conan": "opentelemetry/1.13.0.015"
}
]
检查mdb_interface版本大于等于1.80.1,但是它默认后缀是openubmc,而我改了后缀后报错了,我有尝试过将git仓库中的tag标签的后缀改为openubmc,就没有这个编译问题了
liutao
(昆仑太科_刘涛)
4
应该是编译mdb组件的时候带的参数不对,本地没有生成想要的conan仓
ocy
(wuzhou-ouchangyun)
5
但是这样的话,跟期望生成的mdb后缀应该是不一样的吧,原本期望是mdb_interface/1.90.119@100trust.openubmc/stable,但是修改了tag之后,实际出包中的mdb版本是mdb_interface/1.90.119@openubmc/stable
ocy
(wuzhou-ouchangyun)
6
应该是observability组件service.json中dependencies下的build中定义
{
"conan": "mdb_interface/[>=1.80.1]"
},
bingo解析的时候,自动生成的conanbase.py强制依赖后缀@openubmc/stable的版本,导致期望的mdb_interface/1.90.119@100trust.openubmc/stable产生冲突,编译才失败的
def requirements(self):
# 编译依赖
self.requires("libmc4lua/[>=0.0.1]@openubmc/stable")
self.requires("mdb_interface/[>=1.80.1]@openubmc/stable")
self.requires("opentelemetry/1.13.0.022@openubmc/stable")
是的,因为mdb_interface被很多组件依赖,改了后缀后导致多个组件依赖冲突,社区给的意见是不建议修改mdb_interfacae后缀,目前我采用的方案是手动编译上传了openubmc后缀的conan包,没有找到更好的结局办法