Имеется пакет castxml, который собирается с помощью clang и lld. Из-за текущих имён пакетов, при сборке вытягивается llvm и clang версии 9.0, а lld - версии 7.0, что приводит к проблемам при сборке: [100%] Linking CXX executable ../bin/castxml ld.lld: error: /usr/lib64/libclangFrontend.a(CompilerInstance.cpp.o): Unknown attribute kind (62) (Producer: 'LLVM9.0.1' Reader: 'LLVM 7.0.1') Сборочные зависимости указаны следующим образом: BuildRequires: llvm-devel lld BuildRequires: llvm-devel-static BuildRequires: clang-devel BuildRequires: clang-devel-static При этом есть ещё пакет lld9.0, в котором есть provide lld, но из-за совпадений зависимости с именем реального пакета вытягивается lld седьмой версии: $ rpm -qp --provides ./lld-7.0.1-alt4.rel.x86_64.rpm lld7.0 = 7.0.1-alt4.rel lld = 7.0.1-alt4.rel:sisyphus+229878.100.2.1 $ rpm -qp --provides ./lld9.0-9.0.1-alt2.x86_64.rpm lld = 9.0.1-alt2 lld9.0 = 9.0.1-alt2:sisyphus+246248.100.2.1 При этом у других пакетов из состава clang и llvm подобной схемы не наблюдается, вместо этого имя пакета без версии является виртуальным provide: $ rpm -qp --provides ./llvm7.0-devel-7.0.1-alt4.rel.x86_64.rpm llvm-devel = 7.0.1-alt4.rel BugpointPasses.so()(64bit) BugpointPasses.so(LLVM_7)(64bit) BugpointPasses.so(lib64/BugpointPasses.so)(64bit) LLVMHello.so()(64bit) LLVMHello.so(LLVM_7)(64bit) LLVMHello.so(lib64/LLVMHello.so)(64bit) LLVMgold.so()(64bit) = set:dcqk LLVMgold.so(LLVM_7)(64bit) LLVMgold.so(lib64/LLVMgold.so)(64bit) llvm7.0-devel = 7.0.1-alt4.rel:sisyphus+229878.100.2.1 $ rpm -qp --provides ./llvm9.0-devel-9.0.1-alt2.x86_64.rpm llvm-devel = 9.0.1-alt2 BugpointPasses.so()(64bit) BugpointPasses.so(LLVM_9)(64bit) BugpointPasses.so(lib64/BugpointPasses.so)(64bit) LLVMHello.so()(64bit) LLVMHello.so(LLVM_9)(64bit) LLVMHello.so(lib64/LLVMHello.so)(64bit) LLVMgold.so()(64bit) = set:dcqk LLVMgold.so(LLVM_9)(64bit) LLVMgold.so(lib64/LLVMgold.so)(64bit) llvm9.0-devel = 9.0.1-alt2:sisyphus+246248.100.2.1 Прошу привести имена пакетов и provides к консистентному состоянию, чтобы при запросе компонентов из llvm/clang без версии устанавливались все компоненты одной версии.
Наверное, этим должен заниматься тот, кто собрал llvm9 в Сизиф
llvm7.0-7.0.1-alt5.rel -> sisyphus: Tue Mar 03 2020 Valery Inozemtsev <shrek@altlinux.ru> 7.0.1-alt5.rel - renamed lld to lld7.0 (closes: #38159)