From 9912ea74bf77c01772a92db2f23cb6df8a9880c1 Mon Sep 17 00:00:00 2001 From: Vyas Ramasubramani Date: Wed, 24 Jun 2026 15:51:39 -0700 Subject: [PATCH] Remove libclang pin from clang dependency group The explicit libclang==20.1.8 pin causes the conda solver to hang when combined with matplotlib (which pulls in Qt6, which requires libclang13>=22.1.0). The solver cannot efficiently resolve the conflict between the pinned older libclang and Qt6's newer requirement, leading to effectively infinite solve times in environments with many packages (such as the combined RAPIDS devcontainer environment). The libclang package is not needed in the clang dependency group: - clang and clang-tools do not depend on libclang - The Rust bindgen workflow (the original reason libclang was added) uses the rust file key which does not include the clang group - bindgen finds libclang.so at runtime from whatever version is available in the environment (provided transitively by Qt/matplotlib) Other RAPIDS repos (cudf, raft, rmm) only pin clang and clang-tools without libclang and do not experience this issue. --- conda/environments/all_cuda-129_arch-aarch64.yaml | 1 - conda/environments/all_cuda-129_arch-x86_64.yaml | 1 - conda/environments/all_cuda-133_arch-aarch64.yaml | 1 - conda/environments/all_cuda-133_arch-x86_64.yaml | 1 - conda/environments/bench_ann_cuda-129_arch-aarch64.yaml | 1 - conda/environments/bench_ann_cuda-129_arch-x86_64.yaml | 1 - conda/environments/bench_ann_cuda-133_arch-aarch64.yaml | 1 - conda/environments/bench_ann_cuda-133_arch-x86_64.yaml | 1 - conda/environments/go_cuda-129_arch-aarch64.yaml | 1 - conda/environments/go_cuda-129_arch-x86_64.yaml | 1 - conda/environments/go_cuda-133_arch-aarch64.yaml | 1 - conda/environments/go_cuda-133_arch-x86_64.yaml | 1 - dependencies.yaml | 1 - 13 files changed, 13 deletions(-) diff --git a/conda/environments/all_cuda-129_arch-aarch64.yaml b/conda/environments/all_cuda-129_arch-aarch64.yaml index bf34a36008..73fd8635eb 100644 --- a/conda/environments/all_cuda-129_arch-aarch64.yaml +++ b/conda/environments/all_cuda-129_arch-aarch64.yaml @@ -22,7 +22,6 @@ dependencies: - dlpack>=0.8,<1.0 - gcc_linux-aarch64=14.* - go -- libclang==20.1.8 - libcublas-dev - libcurand-dev - libcusolver-dev diff --git a/conda/environments/all_cuda-129_arch-x86_64.yaml b/conda/environments/all_cuda-129_arch-x86_64.yaml index 8c83164f58..e1e033f5cb 100644 --- a/conda/environments/all_cuda-129_arch-x86_64.yaml +++ b/conda/environments/all_cuda-129_arch-x86_64.yaml @@ -22,7 +22,6 @@ dependencies: - dlpack>=0.8,<1.0 - gcc_linux-64=14.* - go -- libclang==20.1.8 - libcublas-dev - libcurand-dev - libcusolver-dev diff --git a/conda/environments/all_cuda-133_arch-aarch64.yaml b/conda/environments/all_cuda-133_arch-aarch64.yaml index 2f10891439..ce667d95ad 100644 --- a/conda/environments/all_cuda-133_arch-aarch64.yaml +++ b/conda/environments/all_cuda-133_arch-aarch64.yaml @@ -22,7 +22,6 @@ dependencies: - dlpack>=0.8,<1.0 - gcc_linux-aarch64=14.* - go -- libclang==20.1.8 - libcublas-dev - libcurand-dev - libcusolver-dev diff --git a/conda/environments/all_cuda-133_arch-x86_64.yaml b/conda/environments/all_cuda-133_arch-x86_64.yaml index 0d98002ba2..ab0ea18eff 100644 --- a/conda/environments/all_cuda-133_arch-x86_64.yaml +++ b/conda/environments/all_cuda-133_arch-x86_64.yaml @@ -22,7 +22,6 @@ dependencies: - dlpack>=0.8,<1.0 - gcc_linux-64=14.* - go -- libclang==20.1.8 - libcublas-dev - libcurand-dev - libcusolver-dev diff --git a/conda/environments/bench_ann_cuda-129_arch-aarch64.yaml b/conda/environments/bench_ann_cuda-129_arch-aarch64.yaml index a0e08fb5fe..19d5b91a0b 100644 --- a/conda/environments/bench_ann_cuda-129_arch-aarch64.yaml +++ b/conda/environments/bench_ann_cuda-129_arch-aarch64.yaml @@ -24,7 +24,6 @@ dependencies: - gcc_linux-aarch64=14.* - glog>=0.6.0 - h5py>=3.8.0 -- libclang==20.1.8 - libcublas-dev - libcurand-dev - libcusolver-dev diff --git a/conda/environments/bench_ann_cuda-129_arch-x86_64.yaml b/conda/environments/bench_ann_cuda-129_arch-x86_64.yaml index d84bf87234..e3dd0a24b2 100644 --- a/conda/environments/bench_ann_cuda-129_arch-x86_64.yaml +++ b/conda/environments/bench_ann_cuda-129_arch-x86_64.yaml @@ -26,7 +26,6 @@ dependencies: - h5py>=3.8.0 - libaio - libboost-devel=1.87 -- libclang==20.1.8 - libcublas-dev - libcurand-dev - libcusolver-dev diff --git a/conda/environments/bench_ann_cuda-133_arch-aarch64.yaml b/conda/environments/bench_ann_cuda-133_arch-aarch64.yaml index c874298d7d..799e6f164d 100644 --- a/conda/environments/bench_ann_cuda-133_arch-aarch64.yaml +++ b/conda/environments/bench_ann_cuda-133_arch-aarch64.yaml @@ -24,7 +24,6 @@ dependencies: - gcc_linux-aarch64=14.* - glog>=0.6.0 - h5py>=3.8.0 -- libclang==20.1.8 - libcublas-dev - libcurand-dev - libcusolver-dev diff --git a/conda/environments/bench_ann_cuda-133_arch-x86_64.yaml b/conda/environments/bench_ann_cuda-133_arch-x86_64.yaml index 43b2dbce46..73f5f4b4ff 100644 --- a/conda/environments/bench_ann_cuda-133_arch-x86_64.yaml +++ b/conda/environments/bench_ann_cuda-133_arch-x86_64.yaml @@ -26,7 +26,6 @@ dependencies: - h5py>=3.8.0 - libaio - libboost-devel=1.87 -- libclang==20.1.8 - libcublas-dev - libcurand-dev - libcusolver-dev diff --git a/conda/environments/go_cuda-129_arch-aarch64.yaml b/conda/environments/go_cuda-129_arch-aarch64.yaml index eb6ae9f5f7..78b2ded7f6 100644 --- a/conda/environments/go_cuda-129_arch-aarch64.yaml +++ b/conda/environments/go_cuda-129_arch-aarch64.yaml @@ -20,7 +20,6 @@ dependencies: - dlpack>=0.8,<1.0 - gcc_linux-aarch64=14.* - go -- libclang==20.1.8 - libcublas-dev - libcurand-dev - libcusolver-dev diff --git a/conda/environments/go_cuda-129_arch-x86_64.yaml b/conda/environments/go_cuda-129_arch-x86_64.yaml index e99615ab2c..99f43edcb6 100644 --- a/conda/environments/go_cuda-129_arch-x86_64.yaml +++ b/conda/environments/go_cuda-129_arch-x86_64.yaml @@ -20,7 +20,6 @@ dependencies: - dlpack>=0.8,<1.0 - gcc_linux-64=14.* - go -- libclang==20.1.8 - libcublas-dev - libcurand-dev - libcusolver-dev diff --git a/conda/environments/go_cuda-133_arch-aarch64.yaml b/conda/environments/go_cuda-133_arch-aarch64.yaml index eeb5511537..24cab774aa 100644 --- a/conda/environments/go_cuda-133_arch-aarch64.yaml +++ b/conda/environments/go_cuda-133_arch-aarch64.yaml @@ -20,7 +20,6 @@ dependencies: - dlpack>=0.8,<1.0 - gcc_linux-aarch64=14.* - go -- libclang==20.1.8 - libcublas-dev - libcurand-dev - libcusolver-dev diff --git a/conda/environments/go_cuda-133_arch-x86_64.yaml b/conda/environments/go_cuda-133_arch-x86_64.yaml index 5fd2153ffa..f8711733bd 100644 --- a/conda/environments/go_cuda-133_arch-x86_64.yaml +++ b/conda/environments/go_cuda-133_arch-x86_64.yaml @@ -20,7 +20,6 @@ dependencies: - dlpack>=0.8,<1.0 - gcc_linux-64=14.* - go -- libclang==20.1.8 - libcublas-dev - libcurand-dev - libcusolver-dev diff --git a/dependencies.yaml b/dependencies.yaml index 744e4d9227..0df03a9ba3 100644 --- a/dependencies.yaml +++ b/dependencies.yaml @@ -294,7 +294,6 @@ dependencies: packages: - clang==20.1.8 - clang-tools==20.1.8 - - libclang==20.1.8 # 'cuda_version' intentionally does not contain fallback entries... we want # a loud error if an unsupported 'cuda' value is passed cuda_version: