LLVM Debian/Ubuntu nightly packages
Download

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 8, 9 and 10).

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

News
Oct 30th 2019 - Ubuntu Eoan (19.10) support
Aug 20th 2019 - Ubuntu Trusty remove (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>
Debian
Stretch (Debian 9 - oldstable) - Last update : Sat, 07 Dec 2019 20:58:48 UTC / Revision:
deb http://apt.llvm.org/stretch/ llvm-toolchain-stretch main
deb-src http://apt.llvm.org/stretch/ llvm-toolchain-stretch main
# 8 
deb http://apt.llvm.org/stretch/ llvm-toolchain-stretch-8 main
deb-src http://apt.llvm.org/stretch/ llvm-toolchain-stretch-8 main
# 9 
deb http://apt.llvm.org/stretch/ llvm-toolchain-stretch-9 main
deb-src http://apt.llvm.org/stretch/ llvm-toolchain-stretch-9 main
Buster (Debian 10 - stable) - Last update : Sun, 08 Dec 2019 04:08:53 UTC / Revision:
deb http://apt.llvm.org/buster/ llvm-toolchain-buster main
deb-src http://apt.llvm.org/buster/ llvm-toolchain-buster main
# 8 
deb http://apt.llvm.org/buster/ llvm-toolchain-buster-8 main
deb-src http://apt.llvm.org/buster/ llvm-toolchain-buster-8 main
# 9 
deb http://apt.llvm.org/buster/ llvm-toolchain-buster-9 main
deb-src http://apt.llvm.org/buster/ llvm-toolchain-buster-9 main
sid (unstable) - Last update : Sat, 07 Dec 2019 10:14:22 UTC / Revision:
deb http://apt.llvm.org/unstable/ llvm-toolchain main
deb-src http://apt.llvm.org/unstable/ llvm-toolchain main
# 8 
deb http://apt.llvm.org/unstable/ llvm-toolchain-8 main
deb-src http://apt.llvm.org/unstable/ llvm-toolchain-8 main
# 9 
deb http://apt.llvm.org/unstable/ llvm-toolchain-9 main
deb-src http://apt.llvm.org/unstable/ llvm-toolchain-9 main

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

Xenial (16.04) - Last update : Sat, 07 Dec 2019 12:55:53 UTC / Revision:
deb http://apt.llvm.org/xenial/ llvm-toolchain-xenial main
deb-src http://apt.llvm.org/xenial/ llvm-toolchain-xenial main
# 8
deb http://apt.llvm.org/xenial/ llvm-toolchain-xenial-8 main
deb-src http://apt.llvm.org/xenial/ llvm-toolchain-xenial-8 main
# 9
deb http://apt.llvm.org/xenial/ llvm-toolchain-xenial-9 main
deb-src http://apt.llvm.org/xenial/ llvm-toolchain-xenial-9 main
Bionic (18.04) - Last update : Sat, 07 Dec 2019 20:07:49 UTC / Revision:
# i386 not available
deb http://apt.llvm.org/bionic/ llvm-toolchain-bionic main
deb-src http://apt.llvm.org/bionic/ llvm-toolchain-bionic main
# 8
deb http://apt.llvm.org/bionic/ llvm-toolchain-bionic-8 main
deb-src http://apt.llvm.org/bionic/ llvm-toolchain-bionic-8 main
# 9
deb http://apt.llvm.org/bionic/ llvm-toolchain-bionic-9 main
deb-src http://apt.llvm.org/bionic/ llvm-toolchain-bionic-9 main
Cosmic (18.10) - Last update : Sat, 07 Dec 2019 23:34:01 UTC / Revision:
# i386 not available
deb http://apt.llvm.org/cosmic/ llvm-toolchain-cosmic main
deb-src http://apt.llvm.org/cosmic/ llvm-toolchain-cosmic main
# 8
deb http://apt.llvm.org/cosmic/ llvm-toolchain-cosmic-8 main
deb-src http://apt.llvm.org/cosmic/ llvm-toolchain-cosmic-8 main
# 9
deb http://apt.llvm.org/cosmic/ llvm-toolchain-cosmic-9 main
deb-src http://apt.llvm.org/cosmic/ llvm-toolchain-cosmic-9 main
Disco (19.04) - Last update : Sat, 07 Dec 2019 08:46:10 UTC / Revision:
# i386 not available
deb http://apt.llvm.org/disco/ llvm-toolchain-disco main
deb-src http://apt.llvm.org/disco/ llvm-toolchain-disco main
# 8
deb http://apt.llvm.org/disco/ llvm-toolchain-disco-8 main
deb-src http://apt.llvm.org/disco/ llvm-toolchain-disco-8 main
# 9
deb http://apt.llvm.org/disco/ llvm-toolchain-disco-9 main
deb-src http://apt.llvm.org/disco/ llvm-toolchain-disco-9 main
Eoan (19.10) - Last update : Fri, 06 Dec 2019 12:42:16 UTC / Revision:
# i386 not available
deb http://apt.llvm.org/eoan/ llvm-toolchain-eoan main
deb-src http://apt.llvm.org/eoan/ llvm-toolchain-eoan main
# 8
deb http://apt.llvm.org/eoan/ llvm-toolchain-eoan-8 main
deb-src http://apt.llvm.org/eoan/ llvm-toolchain-eoan-8 main
# 9
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 10):

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

Install
(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 (8 release):

apt-get install clang-8 lldb-8 lld-8


To install all key packages:

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

Install
(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 (9 release):

apt-get install clang-9 lldb-9 lld-9


To install all key packages:

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

Install
(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-10 lld-10 can be added to automatically install the most recent version of the package.


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

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


To install all key packages:

# LLVM
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

Technical aspects
Packages are rebuilt against the trunk of the various LLVM projects.
They are rebuild through a Jenkins instance:
https://llvm-jenkins.debian.net

Bugs

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

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/. 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).
Extra
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