如何在Ubuntu 18.04长稳版上安装最新LLVM 12.0.1版本
目录
- Ubuntu 18.04 LTS 安装 LLVM 12.0.1
- 1. 安装环境
- 2. 参考文档
- 3. 准备工作
- 3.1 gcc/g++ 安装
- 3.2 GNU Make 安装
- 3.3 CMake 安装
- 3.4 Python 库安装
- 3. llvm 12.0.1 安装
- 3.1 虚拟机内存配置
- 3.2 下载 & 命名
- 3.3 llvm 编译与安装
- 4. 网盘链接
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)
链接到了该版本的官方文档;
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
,结果如下图;
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
,结果如下图;
3.3 CMake 安装
CMake
是一个跨平台的安装(编译)工具,由于版本问题,这里直接进入官网的下载界面 Download | CMake 安装最新版 cmake
;
官网上提供了代码和二进制文件两种安装方式,前者需要自行完成编译,后者已经在不同平台完成编译,可以直接使用,但需要根据自身的芯片和系统选择对应版本;
这里给出通过源代码安装的方法:
下载 cmake-3.22.2.tar.gz
,下载后使用 tar
命令解压缩,并执行如下命令完成安装;
cd cmake-3.22.2
./bootstrap
make
sudo make install
注意:cmake
需要预安装 openssl
和 libssl-dev
,通过 sudo apt-get install openssl
和 sudo 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
文件夹下;
剩余文件依次命名为 libcxxabi
、libcxx
、compiler-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 --version
和 clang --version
检查是否安装成功,安装成功会出现如下字样:
4. 网盘链接
安装成功的虚拟机 ovf
文件放在了百度网盘,如有需要可以直接下载,在 VMware 中选择打开虚拟机,导入 ovf
文件即可使用;
链接:https://pan.baidu.com/s/1p0pXei6lnw34pwj-g61lPQ
提取码:a73q
虚拟机账户:bupt
虚拟机密码:111111
第一次写文档记录,希望能帮到大家~~
上一篇: 收藏CSS3文字大小动态变换的酷炫样式
下一篇: 1218:a+b的大逆转