From cf22ed79f22f6b26e57edcf028e2f6ac06a07513 Mon Sep 17 00:00:00 2001 From: Robert Schmidt Date: Tue, 13 May 2025 12:45:24 +0200 Subject: [PATCH] Fix llvm version conflict after upgrade to RHEL9.6 Add --allowerasing, which will downgrades some packets in order to satisfy LLVM dependencies. When building the docker image for clang, CI fails with Error: Problem: llvm-18.1.8-3.el9.i686 from ubi-9-appstream-rpms does not belong to a distupgrade repository - package llvm-toolset-18.1.8-3.el9.x86_64 from ubi-9-appstream-rpms requires llvm = 18.1.8, but none of the providers can be installed - package llvm-18.1.8-3.el9.x86_64 from ubi-9-appstream-rpms requires llvm-libs(x86-64) = 18.1.8-3.el9, but none of the providers can be installed - package llvm-18.1.8-3.el9.x86_64 from ubi-9-appstream-rpms requires libLLVM.so.18.1()(64bit), but none of the providers can be installed - package llvm-18.1.8-3.el9.x86_64 from ubi-9-appstream-rpms requires libLLVM.so.18.1(LLVM_18.1)(64bit), but none of the providers can be installed - cannot install both llvm-libs-18.1.8-3.el9.x86_64 from ubi-9-appstream-rpms and llvm-libs-19.1.7-2.el9.x86_64 from @System - package mesa-dri-drivers-24.2.8-2.el9_6.x86_64 from @System requires libLLVM.so.19.1()(64bit), but none of the providers can be installed - package mesa-dri-drivers-24.2.8-2.el9_6.x86_64 from @System requires libLLVM.so.19.1(LLVM_19.1)(64bit), but none of the providers can be installed - package mesa-libGL-24.2.8-2.el9_6.x86_64 from @System requires libgallium-24.2.8.so()(64bit), but none of the providers can be installed - package mesa-libGL-24.2.8-2.el9_6.x86_64 from @System requires libgallium-24.2.8.so(libgallium-24.2.8.so)(64bit), but none of the providers can be installed - package mesa-libGL-devel-24.2.8-2.el9_6.x86_64 from @System requires mesa-libGL(x86-64) = 24.2.8-2.el9_6, but none of the providers can be installed - conflicting requests - problem with installed package mesa-libGL-devel-24.2.8-2.el9_6.x86_64 (try to add '--allowerasing' to command line to replace conflicting packages or '--skip-broken' to skip uninstallable packages or '--nobest' to use not only best candidate packages) So when trying to install llvm-toolset from docker/Dockerfile.clang.rhel9, we have a conflict because this installs 18.1 from ubi-9-appstream-rpms, but various mesa packets have llvm 19.1. 1. I don't understand why we have mesa installed (no graphics system?) 2. --allowerasing downgrades the relevent mesa package(s) Alternatively, we would need to select 19.1 when installing llvm-toolset, but I don't know how to do that. --- docker/Dockerfile.clang.rhel9 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/Dockerfile.clang.rhel9 b/docker/Dockerfile.clang.rhel9 index d1d4387e61..bea95f76a4 100644 --- a/docker/Dockerfile.clang.rhel9 +++ b/docker/Dockerfile.clang.rhel9 @@ -32,7 +32,7 @@ WORKDIR /oai-ran COPY . . #only install LLVM (clang, ...) for this container, the others don't need it -RUN dnf install -y llvm-toolset +RUN dnf install -y --allowerasing llvm-toolset #run build_oai to build the target image RUN /bin/sh oaienv && \