Ubuntu 下安装 clang

版本

Ubuntu 20.04
clang 10

准备

Ubuntu 20.04下直接装不行,sudo apt install clang 会提依赖问题。

为了找到问题所在,使用apt 把依赖的包都放到命令上,比如第一个提示的是 clang-10 blabla,那么:

sudo apt install clang clang-10

这时会提示一堆库依赖问题,选一个放到clang-10后面继续回车,一路下去,最后提示libllvm10找不到。

这就很明确了,没有安装来源嘛————原本以为这种程序ubuntu的官方源中都应该有的。

既然这样,到llvm网站,按照指示添加源至/etc/apt/sources.list。因为是Ubuntu 20.04,所以添加focal的部分就可以了:

# i386 not available
deb http://apt.llvm.org/focal/ llvm-toolchain-focal main
deb-src http://apt.llvm.org/focal/ llvm-toolchain-focal main
# 9
deb http://apt.llvm.org/focal/ llvm-toolchain-focal-9 main
deb-src http://apt.llvm.org/focal/ llvm-toolchain-focal-9 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

安装

我们选择装稳定版(stable branch):

# 先添加key
wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key|sudo apt-key add -

# 安装clang最新的稳定版本
apt-get install clang-10 lldb-10 lld-10

如果没有指定版本,会安装clang-11,这个还是开发版。

安装完成后,默认的命令是clang-10clang++-10,需要使用update-alternatives来设置成clangclang++

sudo update-alternatives --install /usr/bin/clang clang /usr/bin/clang-10 1 --slave /usr/bin/clang++ clang++ /usr/bin/clang++-10

设置完成后就可以使用clangclang++命令了:

~/ clang++ --version

输出:

clang version 10.0.1-++20200507115421+eaae6dfc545-1exp120200507220021.33
Target: x86_64-pc-linux-gnu
Thread model: posix
InstalledDir: /usr/bin

至此,ubuntu下clang 就安装完成了。