LLVM Debian/Ubuntu nightly packages

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 and i386 (except for recent Ubuntu) and for both the stable, old-stable and development branches (currently 10, 11 and 12).

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

Jul 15th 2020 - Snapshot becomes 12, branch 11 created
Apr 14th 2020 - Ubuntu Disco removed (EOL)
Apr 06th 2020 - Ubuntu Focal (20.04) support
Jan 23th 2020 - Snapshot becomes 11, branch 10 created
Jan 19th 2020 - Ubuntu Cosmic removed (EOL)
Oct 30th 2019 - Ubuntu Eoan (19.10) support
Aug 20th 2019 - Ubuntu Trusty removed (EOL)
Aug 01th 2019 - Snapshot becomes 10, branch 9 created
Apr 07th 2019 - Debian Buster (10) added
Apr 06th 2019 - Debian Jessie (oldstable) no longer maintained
Jan 19th 2019 - Branch 8 created
Jan 19th 2019 - Ubuntu Disco (19.04) support
Jan 19th 2019 - Artful jobs disabled (but packages still available)
Automatic installation script
For convenience there is an automatic installation script available that installs LLVM for you.
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>
Stretch (Debian 9 - oldstable) - Last update : Wed, 21 Oct 2020 08:13:37 UTC / Revision: 20201020102912+332ff48deea
deb http://apt.llvm.org/stretch/ llvm-toolchain-stretch main
deb-src http://apt.llvm.org/stretch/ llvm-toolchain-stretch main
# 10 
deb http://apt.llvm.org/stretch/ llvm-toolchain-stretch-10 main
deb-src http://apt.llvm.org/stretch/ llvm-toolchain-stretch-10 main
# 11 
deb http://apt.llvm.org/stretch/ llvm-toolchain-stretch-11 main
deb-src http://apt.llvm.org/stretch/ llvm-toolchain-stretch-11 main
Buster (Debian 10 - stable) - Last update : Wed, 21 Oct 2020 00:27:50 UTC / Revision: 20201020102612+332ff48deea
deb http://apt.llvm.org/buster/ llvm-toolchain-buster main
deb-src http://apt.llvm.org/buster/ llvm-toolchain-buster main
# 10 
deb http://apt.llvm.org/buster/ llvm-toolchain-buster-10 main
deb-src http://apt.llvm.org/buster/ llvm-toolchain-buster-10 main
# 11 
deb http://apt.llvm.org/buster/ llvm-toolchain-buster-11 main
deb-src http://apt.llvm.org/buster/ llvm-toolchain-buster-11 main
sid (unstable) - Last update : Thu, 15 Oct 2020 02:36:57 UTC / Revision: 20201014100615+633f9fcb820
deb http://apt.llvm.org/unstable/ llvm-toolchain main
deb-src http://apt.llvm.org/unstable/ llvm-toolchain main
# 10 
deb http://apt.llvm.org/unstable/ llvm-toolchain-10 main
deb-src http://apt.llvm.org/unstable/ llvm-toolchain-10 main
# 11 
deb http://apt.llvm.org/unstable/ llvm-toolchain-11 main
deb-src http://apt.llvm.org/unstable/ llvm-toolchain-11 main

Precise, Quantal, Raring, Saucy, Utopic, Artful, Cosmic and Trusty are no longer supported by Ubuntu. Repo remains available

Xenial (16.04) - Last update : Wed, 21 Oct 2020 05:44:48 UTC / Revision: 20201021020817+37d907899f4
deb http://apt.llvm.org/xenial/ llvm-toolchain-xenial main
deb-src http://apt.llvm.org/xenial/ llvm-toolchain-xenial main
# 10
deb http://apt.llvm.org/xenial/ llvm-toolchain-xenial-10 main
deb-src http://apt.llvm.org/xenial/ llvm-toolchain-xenial-10 main
# 11
deb http://apt.llvm.org/xenial/ llvm-toolchain-xenial-11 main
deb-src http://apt.llvm.org/xenial/ llvm-toolchain-xenial-11 main
Bionic (18.04) - Last update : Wed, 21 Oct 2020 05:55:31 UTC / Revision: 20201020063829+cc07fbe37dc
# i386 not available
deb http://apt.llvm.org/bionic/ llvm-toolchain-bionic main
deb-src http://apt.llvm.org/bionic/ llvm-toolchain-bionic main
# 10
deb http://apt.llvm.org/bionic/ llvm-toolchain-bionic-10 main
deb-src http://apt.llvm.org/bionic/ llvm-toolchain-bionic-10 main
# 11
deb http://apt.llvm.org/bionic/ llvm-toolchain-bionic-11 main
deb-src http://apt.llvm.org/bionic/ llvm-toolchain-bionic-11 main
Eoan (19.10) - Last update : Tue, 20 Oct 2020 11:35:36 UTC / Revision: 20201020081718+2484e9159c5
# i386 not available
deb http://apt.llvm.org/eoan/ llvm-toolchain-eoan main
deb-src http://apt.llvm.org/eoan/ llvm-toolchain-eoan main
# 10
deb http://apt.llvm.org/eoan/ llvm-toolchain-eoan-10 main
deb-src http://apt.llvm.org/eoan/ llvm-toolchain-eoan-10 main
# 11
deb http://apt.llvm.org/eoan/ llvm-toolchain-eoan-11 main
deb-src http://apt.llvm.org/eoan/ llvm-toolchain-eoan-11 main
Focal (20.04) - Last update : Sun, 18 Oct 2020 19:02:06 UTC / Revision: 20201018052613+ce619f645f5
# i386 not available
deb http://apt.llvm.org/focal/ llvm-toolchain-focal main
deb-src http://apt.llvm.org/focal/ llvm-toolchain-focal main
# 10
deb http://apt.llvm.org/focal/ llvm-toolchain-focal-10 main
deb-src http://apt.llvm.org/focal/ llvm-toolchain-focal-10 main
# 11
deb http://apt.llvm.org/focal/ llvm-toolchain-focal-11 main
deb-src http://apt.llvm.org/focal/ llvm-toolchain-focal-11 main
Default packages
To make sure always the most recent versions of the packages are installed, we are providing some default packages.
To install all of them (currently version 12):

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 python-clang

(old-stable branch)
To retrieve the archive signature:

wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key|sudo apt-key add -
# Fingerprint: 6084 F3CF 814B 57C1 CF12 EFD5 15CF 4D18 AF4F 7421

To install just clang, lld and lldb (10 release):

apt-get install clang-10 lldb-10 lld-10

To install all key packages:

apt-get install libllvm-10-ocaml-dev libllvm10 llvm-10 llvm-10-dev llvm-10-doc llvm-10-examples llvm-10-runtime
# Clang and co
apt-get install clang-10 clang-tools-10 clang-10-doc libclang-common-10-dev libclang-10-dev libclang1-10 clang-format-10 python-clang-10 clangd-10
# libfuzzer
apt-get install libfuzzer-10-dev
# lldb
apt-get install lldb-10
# lld (linker)
apt-get install lld-10
# libc++
apt-get install libc++-10-dev libc++abi-10-dev
# OpenMP
apt-get install libomp-10-dev

(stable branch)
To retrieve the archive signature:

wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key|sudo apt-key add -
# Fingerprint: 6084 F3CF 814B 57C1 CF12 EFD5 15CF 4D18 AF4F 7421

To install just clang, lld and lldb (11 release):

apt-get install clang-11 lldb-11 lld-11

To install all key packages:

apt-get install libllvm-11-ocaml-dev libllvm11 llvm-11 llvm-11-dev llvm-11-doc llvm-11-examples llvm-11-runtime
# Clang and co
apt-get install clang-11 clang-tools-11 clang-11-doc libclang-common-11-dev libclang-11-dev libclang1-11 clang-format-11 python-clang-11 clangd-11
# libfuzzer
apt-get install libfuzzer-11-dev
# lldb
apt-get install lldb-11
# lld (linker)
apt-get install lld-11
# libc++
apt-get install libc++-11-dev libc++abi-11-dev
# OpenMP
apt-get install libomp-11-dev

(development branch)
To retrieve the archive signature:

wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key|sudo apt-key add -
# 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-12 lld-12 can be added to automatically install the most recent version of the package.

To install just clang, lld and lldb (12 release):

apt-get install clang-12 lldb-12 lld-12

To install all key packages:

apt-get install libllvm-12-ocaml-dev libllvm12 llvm-12 llvm-12-dev llvm-12-doc llvm-12-examples llvm-12-runtime
# Clang and co
apt-get install clang-12 clang-tools-12 clang-12-doc libclang-common-12-dev libclang-12-dev libclang1-12 clang-format-12 python-clang-12 clangd-12
# libfuzzer
apt-get install libfuzzer-12-dev
# lldb
apt-get install lldb-12
# lld (linker)
apt-get install lld-12
# libc++
apt-get install libc++-12-dev libc++abi-12-dev
# OpenMP
apt-get install libomp-12-dev

Technical aspects
Packages are rebuilt against the trunk of the various LLVM projects.
They are rebuild through a Jenkins instance:


Bugs should be reported on the LLVM bug tracker (deb packages).


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/. In the llvm-toolchain-*-source, the following tasks will be performed: Then, the job llvm-toolchain-X-binary will: Note that a few patches are applied over the LLVM tarballs (and should be merged upstream at some point).
With the Jenkins instance, several reports are produced:
Building the latest nightly snapshot
Building LLVM packages from source is documented in a dedicated page.

Contact: Sylvestre Ledru
Build infra by IRILL / Hosting by LLVM Foundation / CDN by Fastly