rapidsai / rapidsai/devcontainers

[BUG]: clang-format installations uninstalls libc++ packages

Open
#614 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug
Dominant language
Shell
Stars
28
Forks
47
Avg merge
2d 41m
Merged PRs (30d)
15

Description

When trying to install libc++ in our llvm containers, I found that the clang-format installation process uninstalls the previously installed libc++ packages.

I hacked around this by also installing libc++1 with clang-format, but that does not give us the right libc++ version, but the distribution packaged one.

We need a way to install and keep a given version of libc++ that matches the clang version

See e.g https://github.com/rapidsai/devcontainers/actions/runs/19333538446/job/55302370681#step:7:5579

apt-get install -y clang-format-21 llvm-21-tools libc++-21-dev libc++abi-21-dev libunwind-21-dev
Reading package lists...
[2025-11-13T13:46:53.910Z] 

[2025-11-13T13:46:54.063Z] #27 4.895 Building dependency tree...
#27 5.032 Reading state information...
[2025-11-13T13:46:54.214Z] 

[2025-11-13T13:46:54.222Z] #27 5.191 The following additional packages will be installed:

[2025-11-13T13:46:54.337Z] #27 5.192   libc++1 libc++abi1 libclang-cpp21 libllvm21 llvm-libunwind1
#27 5.193 Suggested packages:
#27 5.193   clang
#27 5.215 The following packages will be REMOVED:
#27 5.216   libc++-20-dev libc++abi-20-dev libunwind libunwind-20-dev
#27 5.216 The following NEW packages will be installed:
#27 5.216   clang-format-21 libc++-21-dev libc++abi-21-dev libclang-cpp21 libllvm21
#27 5.217   libunwind-21-dev llvm-21-tools llvm-libunwind1
#27 5.217 The following packages will be upgraded:
#27 5.218   libc++1 libc++abi1
#27 5.307 2 upgraded, 8 newly installed, 4 to remove and 0 not upgraded.
#27 5.307 Need to get 47.9 MB of archives.
#27 5.307 After this operation, 199 MB of additional disk space will be used.
#27 5.307 Get:1 https://apt.llvm.org/noble llvm-toolchain-noble-21/main amd64 libc++abi1 amd64 1:21.1.6~++20251112013458+6ca64545e1eb-1~exp1~20251112133516.60 [120 kB]

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by locating the LLVM container definition and the apt installation step that installs clang-format. Reproduce the shown apt transaction with the relevant libc++ versions; done means clang-format can be installed without removing the requested matching libc++/libc++abi/libunwind packages.

Written by the indexing model from the issue text.

Assessment

Tech stack
shell
Domain
devops, infrastructure
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
42/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.