CentOS 7源码编译安装LLVM 13.0.1

由于需要在CentOS 7的服务器上安装LLVM和Clang的环境,因此在这里记录一下整个过程。

GCC

编译LLVM需要GCC版本大于5.1,而CentOS 7的版本是4.8.5,因此需要首先升级一下GCC版本。这里有两种方法,一种是yum,一种是从源码编译安装。

yum升级GCC

yum无法直接升级GCC版本,而是需要我们通过其他命令,顺带着将GCC升级,命令如下

1
2
yum install centos-release-scl
yum install devtoolset-7

之后,如果想要在当前session下生效,需要

1
2
scl enable devtoolset-7 bash
source /opt/rh/devtoolset-7/enable

如果想要永久生效,那么需要

1
2
echo "source /opt/rh/devtoolset-7/enable" >> ~/.bashrc 
source /opt/rh/devtoolset-7/enable

然后用gcc -v查看版本,已经升级到了7.3.1。

源码编译安装

我们首先去GCC镜像网站上找想装的版本:https://gcc.gnu.org/mirrors.html。例如我们想要装12.2.0版本,然后找一个离得近的镜像:http://ftp.tsukuba.wide.ad.jp/software/gcc/releases/。12.2.0版本的链接如下:http://ftp.tsukuba.wide.ad.jp/software/gcc/releases/gcc-12.2.0/gcc-12.2.0.tar.gz。

我们先下载这个包,然后解压,安装。

1
2
3
4
5
6
7
8
9
wget http://ftp.tsukuba.wide.ad.jp/software/gcc/releases/gcc-12.2.0/gcc-12.2.0.tar.gz
tar zxf gcc-12.2.0.tar.gz
cd gcc-12.2.0
./contrib/download_prerequisites
mkdir build
cd build
../configure -prefix=/usr/local/gcc-12.2.0 --enable-checking=release --enable-languages=c,c++ --disable-multilib
make all
make install

然后修改环境变量:

1
echo "PATH=/usr/local/gcc-12.2.0/bin:$PATH" >> ~/.bashrc

之后source ~/.bashrc,然后用gcc -v查看是否安装成功。

CMAKE

安装LLVM还需要cmake,cmake的安装比较简单,直接去官网下载二进制文件即可:https://cmake.org/download/。
例如

1
2
wget https://github.com/Kitware/CMake/releases/download/v3.25.2/cmake-3.25.2-linux-x86_64.sh
sh cmake-3.25.2-linux-x86_64.sh

假如cmake安装到了/root/cmake-3.25.2-linux-x86_64下,那么我们修改环境变量“

1
echo "PATH=/root/cmake-3.25.2-linux-x86_64/bin:$PATH" >> ~/.bashrc

之后source ~/.bashrc。这样就安装好了。

LLVM

先去GitHub挑选合适的版本,这里使用的是13.0.1。先把源码下下来,解压安装。

1
2
3
4
5
6
7
8
wget https://github.com/llvm/llvm-project/archive/refs/tags/llvmorg-13.0.1.tar.gz
tar -zxf llvmorg-13.0.1.tar.gz
cd llvm-project-llvmorg-13.0.1
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Release -DLLVM_ENABLE_PROJECTS="clang" -G "Unix Makefiles" ../llvm
make # 这一步十分耗时,建议放后台跑
make install

然后就安装成功了,试一下各种命令,例如clang --version, opt --version, llvm-link --verison.


CentOS 7源码编译安装LLVM 13.0.1
http://nougatca.github.io/2023/03/06/build-llvm-from-source/
作者
Changan NIU
发布于
2023年3月6日
许可协议