llvm在3.5版本后就不支持从configure配置了,官方更推荐利用cmake配置。关于llvm的资料主要以英文为主,笔者在跟着getting started with llvm core libraries学习llvm的过程中,在centos7下尝试配置安装llvm3.4版本,结果因为书中关于configure配置llvm讲得不详细,折腾了几天,所以笔者觉得有必要记录一下安装过程。
首先:更新软件包索引
sudo yum update
由于笔者系统为centos7,gcc版本比较合适,所以直接:
sudo yum install gcc
然后是c++编译器:
sudo yum install gcc-c++
现在,我们要获得llvm3.4版本的源码,随便新建一个目录(笔者是在用户根目录下)终端进入目录:
wegt http://llvm.org/releases/3.4/llvm-3.4.src.tar.gz
wegt http://llvm.org/releases/3.4/clang-3.4.src.tar.gz
wget http://lvm.org/releases/3.4/clang-tools-extra-3.4.src.tar.gz
解压缩:
tar -zxvf llvm-3.4.src.tar.gz
tar -zxvf clang-3.4.src.tar.gz
tar -zxvf clang-tools-extra-3.4.src.tar.gz
笔者在跟着getting started with llvm core library构建时,书上没有特意说明要构成源码树,导致安装失败。
简单来说,就是,把llvm-3.4重命名为llvm,在llvm/tools下,把clang-3.4放进来,重命名为clang,在llvm/tools/clang/tools下,把clang-tools-extra-3.4.src.tar.gz放进来,重命名为extra。
命令如下:
mv llvm-3.4 llvm
mv clang-3.4 llvm/tools/clang
mv clang-tools-extra-3.4 llvm/tools/clang/tools/extra
现在让我们使用configure配置llvm,
建两个文件,命名随意,笔者在/home/用户/这个目录下建立了两个目录:
mkdir llvminstall
mkdir llvmbuild
如命名所示,一个用来构建,一个用来安装,让我们进入构建文件目录:
cd llvmbuild
llvm3.4已被我们重命名为llvm,它的根目录下有configure文件,我们根据该文件配置即可:
/configure所在文件夹/ --disable-optimized --prefix=/llvminstall所在文件夹/
(--disable-optimized --prefix这几个选项的意思,读者可以在llvm目录下运行./configure --help查看)
之后:
make && make install
编译安装的时间可能会非常久,完成后,我们要添加环境变量:
打开bashrc:
vi ~/.bashrc
在最后一行添加:
export PATH="/llvminstall所在文件夹/bin:$PATH"
然后让变量生效:
source ~/.bashrc
现在让我们验证一下:
clang -v
如果一切步骤都成功了,那么会显示clang的版本。