本文主要关于在 CentOS 中安装 Clang 的相关步骤。

(以 CentOS 7 为例)

安装 libstdc++

如果你正在使用 CentOS 7 及以上的版本,请直接跳过此步骤。


wget https://people.centos.org/tru/devtools-2/devtools-2.repo -O /etc/yum.repos.d/devtools-2.repo


yum install devtoolset-2-gcc devtoolset-2-binutils devtoolset-2-gcc-c++


ln -s /opt/rh/devtoolset-2/root/usr/bin/* /usr/local/bin/

安装Python

如果你已经安装了 Python 2.7 及以上的版本,请直接跳过此步骤。


yum install zlib-devel
yum install bzip2-devel
yum install openssl-devel
yum install ncurses-devel
yum install sqlite-devel


cd /opt


wget --no-check-certificate https://www.python.org/ftp/python/3.5.1/Python-3.5.1.tar.xz


tar xf Python-3.5.1.tar.xz


cd Python-3.5.1


./configure --prefix=/usr/local


make && make altinstall


ln -s /usr/local/bin/python3.5 /usr/local/bin/python

下载 LLVM 源代码


wget https://llvm.org/releases/3.8.0/llvm-3.8.0.src.tar.xz


mv llvm-3.8.0.src llvm

下载 clang 源代码


cd llvm/tools


wget https://llvm.org/releases/3.8.0/cfe-3.8.0.src.tar.xz


tar xf cfe-3.8.0.src.tar.xz


mv cfe-3.8.0.src clang

下载 compiler-rt 源代码


cd ../projects


wget https://llvm.org/releases/3.8.0/compiler-rt-3.8.0.src.tar.xz


tar xf compiler-rt-3.8.0.src.tar.xz


mv compiler-rt-3.8.0.src compiler-rt

配置编译选项

由于不允许在 LLVMSource Tree 中配置,所以我们随便进入一个路径


cd ~


/usr/local/bin/llvm/configure --enable-optimized CC=gcc CXX=g++

如果你执行上面指令后得到这样的提示:


error: g++|clang++|icc required but not found

那么你可能需要安装 G++:


yum install gcc-c++

编译 llvm


make -j2

根据这可能需要较长的时间,编译成功后的提示:


llvm[0]: ***** Completed Release+Asserts Build

安装 llvm


make install

LLVM 会安装在 /usr/local/bing 目录下。

检查 clang 版本


# clang --version
clang version 3.8.0 (tags/RELEASE_350/final)

如果还是旧版本:


ls -s /usr/local/bin/clang /usr/bin/clang