[错误] 图形信息拒绝了无环编译器引导图
作者: AnastaZIuk创建于 2026年9月8日更新于 2026年9月11日
标签stage: triaging
Conan 已经计算出了对这个确切的包配置集合来说有效的排序。
两个 Z3 节点具有相同的配置版本,但不同的包 ID。编译器的 Z3 使用引导包,不依赖于混合包。只有消费者的 Z3 需要混合包。因此,在以下顺序中,每个依赖都可以满足:
clang-bootstrap -> z3 [Clang 21] -> clang-hybrid -> z3 [Clang 22]graph build-order --order-by=configuration 返回了这个顺序。重现测试验证了两个不同的 Z3 包 ID,并检查了每个依赖是否都先于其消费者。将两个 Z3 配置组合到一个配置节点中,生成了 z3 -> clang-hybrid -> z3。编译器必须处理在两个 Z3 配置之间,因此仅使用 --order-by=recipe 失败是可以预期的。问题在于,graph info 将这个相同的依赖设置拒绝为不合法的,无法安装,尽管 Conan 为其计算出了有效的排序。在 Conan 2.32.0 中,InstallGraph 默认使用配置分组,install_binaries() 使用该默认值。
graph info 应该接受这个图,并且一个 conan install --build=missing 应该能够按照上面的顺序处理其包。保持包配置之间的依赖将允许相同配置的配置以不同的顺序处理。
内容来源: conan-io/conan