| CARVIEW |
The goal is to provide Debian and Ubuntu nightly packages ready to be installed with minimal impact on the distribution.
Packages are available for amd64, i386 (Debian only), s390x and arm64 (aka aarch64). This for both the stable, qualification and development branches (currently 20, 21 and 22).
Packages are built using stage2 and extremely similar to the one shipping in Debian & Ubuntu.
The packages provide LLVM + Clang + compiler-rt + polly + LLDB + LLD + libFuzzer + libc++ + libc++abi + openmp + libclc + libunwind + MLIR + BOLT + flang + libc + wasm support
This platform serves more than 124tb of packages every month and is used by various actors like the Linux Kernel, TensorFlow, etc and referenced more than 24k times on Github.
The main goal of this support is to improve the security and sustainability of this platform. Previously we were running on an old rack that was no longer supported, and sooner or later would have failed. Now we're running on a cloud-based build platform where the cloud provider is keeping the hardware up-to-date.
We deployed sigstore support, which makes it easier for users to verify that the packages came from us and to detect potential malicious signatures. We even contributed upstream to sigstore, helping future users of sigstore.
In parallel, we continued to ship new releases, enable new features (bolt, etc) etc.
Nov 24th 2025 - Ubuntu Questing (25.10) enabled
Sep 14th 2025 - Ubuntu Oracular (24.10) disabled (EOL)
Sep 9th 2025 - Debian Buster disabled (EOL)
Aug 4th 2025 - Snapshot becomes 22, branch 21 created
Apr 1st 2025 - Ubuntu Plucky (25.04) enabled
Feb 1st 2025 - Snapshot becomes 21, branch 20 created
Nov 25th 2024 - Ubuntu Lunar (23.04) disabled (EOL)
Nov 21th 2024 - Ubuntu Mantic (23.10) disabled (EOL)
Oct 19th 2024 - Ubuntu Oracular (24.10) enabled
Oct 19th 2024 - Ubuntu Bionic (18.04) disabled (EOL)
Jul 29th 2024 - Snapshot becomes 20, branch 19 created
Mar 22nd 2024 - Ubuntu Noble (24.04) enabled
Feb 20th 2024 - Add libllvmlibc-18-dev as new package
Jan 25th 2024 - Snapshot becomes 19, branch 18 created
Sep 18th 2023 - Ubuntu Mantic (23.10) enabled
Sep 14th 2022 - Ubuntu Kinetic (22.10) disabled (EOL)
Jul 26th 2023 - Snapshot becomes 18, branch 17 created
Jun 04th 2023 - Debian bookworm (12) enabled as a new distro
Mar 22nd 2023 - Ubuntu Lunar (23.04) enabled
Jan 03rd 2023 - libclang-common-X.Y-dev split into: libclang-rt-X.Y-dev, libpolly-X.Y-dev, libclang-rt-X.Y-dev-wasm32 and libclang-rt-X.Y-dev-wasm64
Jan 03rt 2023 - Support of wasm improved with new packages: libc++-X.Y-dev-wasm32, libc++abi-X.Y-dev-wasm32, libclang-rt-X.Y-dev-wasm32 and libclang-rt-X.Y-dev-wasm64 (recent distros)
Jan 03rd 2023 - flang packages added
To install the latest stable version:
bash -c "$(wget -O - https://apt.llvm.org/llvm.sh)"
To install a specific version of LLVM:
wget https://apt.llvm.org/llvm.sh chmod +x llvm.sh sudo ./llvm.sh <version number>To install all apt.llvm.org packages at once:
wget https://apt.llvm.org/llvm.sh chmod +x llvm.sh sudo ./llvm.sh <version number> all # or sudo ./llvm.sh all
deb https://apt.llvm.org/bullseye/ llvm-toolchain-bullseye main deb-src https://apt.llvm.org/bullseye/ llvm-toolchain-bullseye main # 20 deb https://apt.llvm.org/bullseye/ llvm-toolchain-bullseye-20 main deb-src https://apt.llvm.org/bullseye/ llvm-toolchain-bullseye-20 main # 21 deb https://apt.llvm.org/bullseye/ llvm-toolchain-bullseye-21 main deb-src https://apt.llvm.org/bullseye/ llvm-toolchain-bullseye-21 mainBookworm (Debian 12 - oldstable) - Last update : Thu, 23 Oct 2025 14:15:52 UTC / Revision: 20251015112211+4ad625b15bc1
deb https://apt.llvm.org/bookworm/ llvm-toolchain-bookworm main deb-src https://apt.llvm.org/bookworm/ llvm-toolchain-bookworm main # 20 deb https://apt.llvm.org/bookworm/ llvm-toolchain-bookworm-20 main deb-src https://apt.llvm.org/bookworm/ llvm-toolchain-bookworm-20 main # 21 deb https://apt.llvm.org/bookworm/ llvm-toolchain-bookworm-21 main deb-src https://apt.llvm.org/bookworm/ llvm-toolchain-bookworm-21 mainTrixie (Debian 13 - stable) - Last update : Mon, 22 Dec 2025 12:41:35 UTC / Revision: 20251222083055+3fac75ce8002
deb https://apt.llvm.org/trixie/ llvm-toolchain-trixie main deb-src https://apt.llvm.org/trixie/ llvm-toolchain-trixie main # 20 deb https://apt.llvm.org/trixie/ llvm-toolchain-trixie-20 main deb-src https://apt.llvm.org/trixie/ llvm-toolchain-trixie-20 main # 21 deb https://apt.llvm.org/trixie/ llvm-toolchain-trixie-21 main deb-src https://apt.llvm.org/trixie/ llvm-toolchain-trixie-21 mainForky / sid (Debian 14 - unstable) - Last update : Mon, 22 Dec 2025 14:46:23 UTC / Revision: 20251222111116+d9b021d33a31
deb https://apt.llvm.org/unstable/ llvm-toolchain main deb-src https://apt.llvm.org/unstable/ llvm-toolchain main # 20 deb https://apt.llvm.org/unstable/ llvm-toolchain-20 main deb-src https://apt.llvm.org/unstable/ llvm-toolchain-20 main # 21 deb https://apt.llvm.org/unstable/ llvm-toolchain-21 main deb-src https://apt.llvm.org/unstable/ llvm-toolchain-21 main
Focal (20.04) LTS - Last update : Thu, 23 Oct 2025 16:19:21 UTC / Revision: 20251014052939+04d2b5da1ab3
deb https://apt.llvm.org/focal/ llvm-toolchain-focal main deb-src https://apt.llvm.org/focal/ llvm-toolchain-focal main # 20 deb https://apt.llvm.org/focal/ llvm-toolchain-focal-20 main deb-src https://apt.llvm.org/focal/ llvm-toolchain-focal-20 main # 21 deb https://apt.llvm.org/focal/ llvm-toolchain-focal-21 main deb-src https://apt.llvm.org/focal/ llvm-toolchain-focal-21 mainJammy (22.04) LTS - Last update : Thu, 23 Oct 2025 13:46:10 UTC / Revision: 20251015042503+856555bfd843
deb https://apt.llvm.org/jammy/ llvm-toolchain-jammy main deb-src https://apt.llvm.org/jammy/ llvm-toolchain-jammy main # 20 deb https://apt.llvm.org/jammy/ llvm-toolchain-jammy-20 main deb-src https://apt.llvm.org/jammy/ llvm-toolchain-jammy-20 main # 21 deb https://apt.llvm.org/jammy/ llvm-toolchain-jammy-21 main deb-src https://apt.llvm.org/jammy/ llvm-toolchain-jammy-21 mainNoble (24.04) - Last update : Mon, 22 Dec 2025 16:03:45 UTC / Revision: 20251222082052+3fac75ce8002
deb https://apt.llvm.org/noble/ llvm-toolchain-noble main deb-src https://apt.llvm.org/noble/ llvm-toolchain-noble main # 20 deb https://apt.llvm.org/noble/ llvm-toolchain-noble-20 main deb-src https://apt.llvm.org/noble/ llvm-toolchain-noble-20 main # 21 deb https://apt.llvm.org/noble/ llvm-toolchain-noble-21 main deb-src https://apt.llvm.org/noble/ llvm-toolchain-noble-21 mainPlucky (25.04) - Last update : Mon, 22 Dec 2025 12:56:41 UTC / Revision: 20251222084621+24cd0746e86c
deb https://apt.llvm.org/plucky/ llvm-toolchain-plucky main deb-src https://apt.llvm.org/plucky/ llvm-toolchain-plucky main # 20 deb https://apt.llvm.org/plucky/ llvm-toolchain-plucky-20 main deb-src https://apt.llvm.org/plucky/ llvm-toolchain-plucky-20 main # 21 deb https://apt.llvm.org/plucky/ llvm-toolchain-plucky-21 main deb-src https://apt.llvm.org/plucky/ llvm-toolchain-plucky-21 mainQuesting (25.10) - Last update : Mon, 22 Dec 2025 11:31:57 UTC / Revision: 20251222083441+3fac75ce8002
deb https://apt.llvm.org/questing/ llvm-toolchain-questing main deb-src https://apt.llvm.org/questing/ llvm-toolchain-questing main # 20 deb https://apt.llvm.org/questing/ llvm-toolchain-questing-20 main deb-src https://apt.llvm.org/questing/ llvm-toolchain-questing-20 main # 21 deb https://apt.llvm.org/questing/ llvm-toolchain-questing-21 main deb-src https://apt.llvm.org/questing/ llvm-toolchain-questing-21 main
To install all of them (currently version 22):
apt-get install clang-format clang-tidy clang-tools clang clangd libc++-dev libc++1 libc++abi-dev libc++abi1 libclang-dev libclang1 liblldb-dev libllvm-ocaml-dev libomp-dev libomp5 lld lldb llvm-dev llvm-runtime llvm python3-clang
(stable branch)
wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | sudo apt-key add -
# or
wget -qO- https://apt.llvm.org/llvm-snapshot.gpg.key | sudo tee /etc/apt/trusted.gpg.d/apt.llvm.org.asc
# Fingerprint: 6084 F3CF 814B 57C1 CF12 EFD5 15CF 4D18 AF4F 7421
To install just clang, lld and lldb (20 release):
apt-get install clang-20 lldb-20 lld-20
To install all key packages:
# LLVM
apt-get install libllvm-20-ocaml-dev libllvm20 llvm-20 llvm-20-dev llvm-20-doc llvm-20-examples llvm-20-runtime
# Clang and co
apt-get install clang-20 clang-tools-20 clang-20-doc libclang-common-20-dev libclang-20-dev libclang1-20 clang-format-20 python3-clang-20 clangd-20 clang-tidy-20
# compiler-rt
apt-get install libclang-rt-20-dev
# polly
apt-get install libpolly-20-dev
# libfuzzer
apt-get install libfuzzer-20-dev
# lldb
apt-get install lldb-20
# lld (linker)
apt-get install lld-20
# libc++
apt-get install libc++-20-dev libc++abi-20-dev
# OpenMP
apt-get install libomp-20-dev
# libclc
apt-get install libclc-20-dev
# libunwind
apt-get install libunwind-20-dev
# mlir
apt-get install libmlir-20-dev mlir-20-tools
# bolt
apt-get install libbolt-20-dev bolt-20
# flang
apt-get install flang-20
# wasm support
apt-get install libclang-rt-20-dev-wasm32 libclang-rt-20-dev-wasm64 libc++-20-dev-wasm32 libc++abi-20-dev-wasm32 libclang-rt-20-dev-wasm32 libclang-rt-20-dev-wasm64
(qualification branch)
wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | sudo apt-key add -
# or
wget -qO- https://apt.llvm.org/llvm-snapshot.gpg.key | sudo tee /etc/apt/trusted.gpg.d/apt.llvm.org.asc
# Fingerprint: 6084 F3CF 814B 57C1 CF12 EFD5 15CF 4D18 AF4F 7421
To install just clang, lld and lldb (21 release):
apt-get install clang-21 lldb-21 lld-21
To install all key packages:
# LLVM
apt-get install libllvm-21-ocaml-dev libllvm21 llvm-21 llvm-21-dev llvm-21-doc llvm-21-examples llvm-21-runtime
# Clang and co
apt-get install clang-21 clang-tools-21 clang-21-doc libclang-common-21-dev libclang-21-dev libclang1-21 clang-format-21 python3-clang-21 clangd-21 clang-tidy-21
# compiler-rt
apt-get install libclang-rt-21-dev
# polly
apt-get install libpolly-21-dev
# libfuzzer
apt-get install libfuzzer-21-dev
# lldb
apt-get install lldb-21
# lld (linker)
apt-get install lld-21
# libc++
apt-get install libc++-21-dev libc++abi-21-dev
# OpenMP
apt-get install libomp-21-dev
# libclc
apt-get install libclc-21-dev
# libunwind
apt-get install libunwind-21-dev
# mlir
apt-get install libmlir-21-dev mlir-21-tools
# bolt
apt-get install libbolt-21-dev bolt-21
# flang
apt-get install flang-21
# wasm support
apt-get install libclang-rt-21-dev-wasm32 libclang-rt-21-dev-wasm64 libc++-21-dev-wasm32 libc++abi-21-dev-wasm32 libclang-rt-21-dev-wasm32 libclang-rt-21-dev-wasm64
# LLVM libc
apt-get install libllvmlibc-21-dev
(development branch)
wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | sudo apt-key add -
# or
wget -qO- https://apt.llvm.org/llvm-snapshot.gpg.key | sudo tee /etc/apt/trusted.gpg.d/apt.llvm.org.asc
# Fingerprint: 6084 F3CF 814B 57C1 CF12 EFD5 15CF 4D18 AF4F 7421
We also provide meta packages to move from a major version to the other.
For example, to automatically upgrade to the current major:
apt-get install clang lld # clang-22 lld-22 can be added to automatically install the most recent version of the package.
To install just clang, lld and lldb (22 release):
apt-get install clang-22 lldb-22 lld-22
To install all key packages:
# LLVM
apt-get install libllvm-22-ocaml-dev libllvm22 llvm-22 llvm-22-dev llvm-22-doc llvm-22-examples llvm-22-runtime
# Clang and co
apt-get install clang-22 clang-tools-22 clang-22-doc libclang-common-22-dev libclang-22-dev libclang1-22 clang-format-22 python3-clang-22 clangd-22 clang-tidy-22
# compiler-rt
apt-get install libclang-rt-22-dev
# polly
apt-get install libpolly-22-dev
# libfuzzer
apt-get install libfuzzer-22-dev
# lldb
apt-get install lldb-22
# lld (linker)
apt-get install lld-22
# libc++
apt-get install libc++-22-dev libc++abi-22-dev
# OpenMP
apt-get install libomp-22-dev
# libclc
apt-get install libclc-22-dev
# libunwind
apt-get install libunwind-22-dev
# mlir
apt-get install libmlir-22-dev mlir-22-tools
# bolt
apt-get install libbolt-22-dev bolt-22
# flang
apt-get install flang-22
# wasm support
apt-get install libclang-rt-22-dev-wasm32 libclang-rt-22-dev-wasm64 libc++-22-dev-wasm32 libc++abi-22-dev-wasm32 libclang-rt-22-dev-wasm32 libclang-rt-22-dev-wasm64
# LLVM libc
apt-get install libllvmlibc-22-dev
This can be done with "rekor verify":
file="llvm-toolchain-10_10.0.1~%2b%2b20210327072807%2bef32c611aa21-1~exp1~20210327183412.212.dsc"
url="https://apt.llvm.org/unstable/pool/main/l/llvm-toolchain-10/$file"
sig_file="$url.asc"
wget --quiet https://apt.llvm.org/sigstore.public.key
./rekor verify --rekor_server https://rekor.sigstore.dev --signature $sig_file --public-key sigstore.public.key --artifact $url
echo $?
Or with "rekor search":
file="llvm-toolchain-10_10.0.1~++20210327072807+ef32c611aa21.orig.tar.xz"
url="https://apt.llvm.org/unstable/pool/main/l/llvm-toolchain-10/$file"
wget --quiet $url
sha=$(sha256sum $file|awk '{print $1}')
./rekor search --sha sha256:$sha --rekor_server https://rekor.sigstore.dev
They are rebuild through a Jenkins instance:
https://llvm-jenkins.debian.net
Bugs
Bugs should be reported on the LLVM bug tracker (label: packaging).Workflow
Twice a day, each jenkins job will checkout the debian/ directory necessary to build the packages. The repository is available on the Debian hosting infrastructure: https://salsa.debian.org/pkg-llvm-team/llvm-toolchain/.Sources of this page, llvm.sh and others scripts are available on github:
https://github.com/opencollab/llvm-jenkins.debian.net/
In the llvm-toolchain-*-source, the following tasks will be performed:
- upstream sources will be checkout
- The tarball will be created. It is named: llvm-toolchain-X_X.Y.Z~++DATE+UPSTREAM_COMMIT_HASH.orig.tar.xz
- Debian .dsc package description is created
- Start the jenkins job llvm-toolchain-X-binary
- Create a chroot using cowbuilder or update it is already existing
- Build all the packages
- Launch lintian, the Debian static analyzer
- Publish the result on the LLVM repository
Contact: Sylvestre Ledru
Hosting by LLVM Foundation / CDN by Fastly