Ubuntu 18.04 LTS 安装 LLVM 12.0.1

Ubuntu 18.04 LTS 安装 LLVM 12.0.1

1. 安装环境

Win10 + VMware 16 + Ubuntu 18.04 LTS
安装 llvm 12.0.1

2. 参考文档

llvm 有多种安装方式,这里提供源代码编译安装 12.0.1 版本的可行方法,其余模块的使用及配置请参考官网资料;
llvm 12.0.1 官方安装文档地址:Getting Started with the LLVM System — LLVM 12 documentation
其他版本文档地址:搜索 llvm,进入官网下载界面 Download LLVM releases,找到目标版本的 download 链接,点击进入如下界面, llvm (release notes) 链接到了该版本的官方文档;
download llvm 12.0.1

3. 准备工作

找到官方文档中给出的预安装依赖项:
请添加图片描述
笔者在安装时用到了 CMake、GCC、python3 和 GNU make,没有用到 zlib;
注意:依赖项的安装一定要符合官方给出的版本

下面逐一给出安装方法,如果已经安装,请检查软件版本并及时更新到符合要求的版本;

3.1 gcc/g++ 安装

gcc 和 g++ 分别是 GNU的 c 和 c++ 编译器,直接使用 apt 安装;

sudo apt-get install g++

注意:这里不用给出具体版本号,默认版本就符合要求;
风险提示:网上说该方法可能导致其他软件依赖错误,请审慎执行;
检验:键入 gcc -v 查看版本号,经实践验证使用 gcc 7.5.0 可以成功安装 llvm 12.0.1,结果如下图;
g++ 安装

3.2 GNU Make 安装

GNU Make 是一个编译控制工具,直接使用 apt 安装:

sudo apt-get install make

注意:默认下载的版本符合 llvm 12.0.1 要求;
检验:安装后,通过 make -version 查看版本,经实践验证 GNU Make 4.1 可以成功安装 llvm 12.0.1,结果如下图;GNU make

3.3 CMake 安装

CMake 是一个跨平台的安装(编译)工具,由于版本问题,这里直接进入官网的下载界面 Download | CMake 安装最新版 cmake
cmake 官网

官网上提供了代码和二进制文件两种安装方式,前者需要自行完成编译,后者已经在不同平台完成编译,可以直接使用,但需要根据自身的芯片和系统选择对应版本;

这里给出通过源代码安装的方法:

下载 cmake-3.22.2.tar.gz,下载后使用 tar 命令解压缩,并执行如下命令完成安装;

cd cmake-3.22.2
./bootstrap
make
sudo make install

注意cmake 需要预安装 openssllibssl-dev,通过 sudo apt-get install opensslsudo apt-get install libssl-dev 完成安装,两个软件都要安装;安装后执行 ./bootstrap,如果扔找不到 openssl,请检查是否安装 libssl-dev 成功并关闭终端重新进入 terminal

没有安装 openssl 时会报错:
请添加图片描述

执行 ./bootstrap 需要 2-3 分钟;
执行 make 命令需要 10-15 分钟;
install 相对快一点,不要忘记 sudo,否则会报错;

检验:键入 cmake -version 检查版本:
请添加图片描述
至此我们已经成功安装 cmake;

3.4 Python 库安装

llvm 的安装过程中用到了 distutils.spawn 模块,这是 python 的一个打包工具,使用 sudo apt-get install python3-distutils 完成安装;

缺少 distutils.spawn 模块时报错:
在这里插入图片描述

3. llvm 12.0.1 安装

3.1 虚拟机内存配置

安装 llvm 需要足够的内存和 swap,不足时会出现 杀死进程及 make error 9 等错误;VMware 默认配置(2GB 内存 + 1GB swap)会导致安装失败,笔者将虚拟机配置为 4GB 内存 + 1GB swap 后安装成功;

对于虚拟机修改 swap 会麻烦一些,可以直接通过 VMware 配置内存;

3.2 下载 & 命名

Download LLVM releases 进入 12.0.1 版本的下载界面,点击 page 进入 Github(新版的代码发布在 GitHub,老版本可直接下载);
在这里插入图片描述

进入 Github Release LLVM 12.0.1 · llvm/llvm-project (github.com) 后选择需要的模块下载;

这里下载了其中的 6 个文件,这个可以根据自己的需求下载,但至少要安装了 llvm-xxx、compiler-rt-xxx、clang-xxx 等文件(老版本的 cef 就是新版本的 clang);

笔者下载的内容如下:
在这里插入图片描述

通过 tar 解压缩,再将这些文件重新命名并放入对应的文件夹下

llvm-12.0.1 重命名为 llvm
clang-12.0.1 重命名为 clang 并移动至 llvm/tools 文件夹下;
clang-tools-extra 重命名为 extra 并移动至 llvm/tools/clang 文件夹下;
剩余文件依次命名为 libcxxabilibcxxcompiler-rt 并移动至 llvm/projects 文件夹下;
结果如下:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.3 llvm 编译与安装

llvm 目录下创建 llvm-build,进入该目录,打开终端,键入命令编译:

cmake -G "Unix Makefiles" -DLLVM_ENABLE_ASSERTIONS=On -DCMAKE_BUILD_TYPE=Release ../

cmake 命令的参数请参考 llvm 的官方安装文档,文档中给出了具体命令的含义:
在这里插入图片描述

执行 cmake 后目录下会自动生成一系列文件,这个过程会很快;

然后输入 sudo make install 完成安装,这个过程会持续约 3-4 个小时;

安装过程中可能遇到不同的错误,请仔细阅读报错提示,并安装相关的依赖;

最后键入 llvm-config --versionclang --version 检查是否安装成功,安装成功会出现如下字样:

在这里插入图片描述

4. 网盘链接

安装成功的虚拟机 ovf 文件放在了百度网盘,如有需要可以直接下载,在 VMware 中选择打开虚拟机,导入 ovf 文件即可使用;

链接:https://pan.baidu.com/s/1p0pXei6lnw34pwj-g61lPQ
提取码:a73q
虚拟机账户:bupt
虚拟机密码:111111

第一次写文档记录,希望能帮到大家~~

  • 13
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 11
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值