Centos7.9编译安装clang12.0.0
环境Win10主机+VMware15.5+Centos7.9登录用户:root从LLVM官网文档得知,编译clang12.0.0,需要依赖以下几个组件Getting Started with the LLVM System — LLVM 12 documentation
1 前言
环境
Win10主机+VMware15.5+Centos7.9
登录用户:root
从LLVM官网文档得知,编译clang12.0.0,需要依赖以下几个组件
Getting Started with the LLVM System — LLVM 12 documentation
2 准备工作
2.1 升级cmake
1、下载V3.20版本代码
https://cmake.org/files/v3.20/cmake-3.20.0.tar.gz
2、卸载已有版本的cmake
yum remove cmake –y
3、安装openssl
yum install -y openssl openssl-devel
4、安装基本的编译工具
./configure --prefix=/usr/local/cmake
5、安装cmake
make && make install
6、创建链接或配置环境变量,查看版本
创建连接
ln -s /usr/local/cmake/bin/cmake /usr/bin/cmake
配置环境变量
vim /etc/profile
export CMAKE_HOME=/usr/local/cmake
export PATH=$PATH:$CMAKE_HOME/bin
7、查看版本
cmake --version
2.2 升级Python
1、下载V3.9.0版本代码
https://cdn.npmmirror.com/binaries/python/3.9.0/Python-3.9.0.tgz
2、解压
tar –xzf Python-3.9.0.tgz
cd Python-3.9.0
3、编译配置
./configure --prefix=/usr/local/python3
4、编译安装
make
make install
5、覆盖现有python,启动python时指向python3.9
备份旧python与pip
mv /usr/bin/python /usr/bin/python2_old
mv /usr/bin/pip /usr/bin/pip2_old #第三部分的文件名可根据本机版本修改
6、修改软链接
ln -s /usr/local/python3/bin/python3 /usr/bin/python
ln -s /usr/local/python3/bin/pip3 /usr/bin/pip
此方法到这里已经完成一半啦,可以使用命令 python -V, pip -V查看版本
7、收尾工作
由于修改了python的版本,会导致一些依赖于旧版本的程序出现错误,如yum,可进行如下配置:
vim /usr/bin/yum
文件第一行如下图:
将python修改为旧的版本号,此处添加2.7:
8、修改urlgrabber配置文件
vim /usr/libexec/urlgrabber-ext-down
#!/usr/bin/python 改为 #!/usr/bin/python2.7
2.3 zlib
查看zlib版本
yum info zlib
1.2.7,满足要求
2.4 make
查看make版本
make -v
3.82,满足要求
3 编译安装clang12.0.0
准备工作已经做完,现在开始主题
3.1 下载代码
https://github.com/llvm/llvm-project/releases/tag/llvmorg-12.0.0
编译clang12.0.0,需要从github上下载以下4个压缩包
从github下载以上文件速度比较慢,这里有笔者下载好的压缩包合集
3.2 解压缩
xz -dk llvm-12.0.0.src.tar.xz
xz -dk clang-12.0.0.src.tar.xz
xz -dk compiler-rt-12.0.0.src.tar.xz
xz -dk clang-tools-extra-12.0.0.src.tar.xz
tar xvf llvm-12.0.0.src.tar
tar xvf clang-12.0.0.src.tar
tar xvf compiler-rt-12.0.0.src.tar
tar xvf clang-tools-extra-12.0.0.src.tar
3.3 修改并移动文件路径
按下列名字,修改解压后的文件夹名字,然后将对应模块,移到指定目录下
mv clang llvm-12.0.0/tools/clang
mv compiler-rt llvm-12.0.0/projects/compiler-rt
mv extra llvm-12.0.0/tools/clang/tools/extra
3.4 源码编译
mkdir build
cd build
export CLANG_GCC=/usr/local
cmake -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Release -DCMAKE_C_COMPILER=/usr/local/bin/gcc -DCMAKE_CXX_COMPILER=/usr/local/bin/g++ -DGCC_INSTALL_PREFIX=${CLANG_GCC} -DCMAKE_CXX_LINK_FLAGS="-L${CLANG_GCC}/lib64 -Wl,-rpath,${CLANG_GCC}/lib64" -DCMAKE_INSTALL_PREFIX=${CLANG_GCC} -DLLVM_ENABLE_ASSERTIONS=On ../llvm-12.0.0
如果想要支持打包,可以手动打开CMakeCache.txt文件,根据需要设置一下下面这些参数
由于系统是CentOS,支持RPM安装包,所以这里我是把CPACK_BINARY_RPM设置为ON,其它参数都设置为OFF
make –j4
经过3、4个小时的等待
3.5 编译过程中的小插曲
编译过程中可能会报找不到
/clang-tools-extra/clangd/quality/ CompletionModelCodegen.py
将clang-tools-extra-12.0.0.src.tar.xz重新解压一份
解压后命名clang-tools-extra,放置在与build相同路径下
然后接着编译
3.6 安装查询
make install
clang++ --version
4 感谢
编译过程中,参考了下边各位网友的文章,在此一一感谢。
- centos升级和安装cmake - 知乎
- CentOS7 下升级Python版本 - Ech2o - 博客园
- linux 安装clang,Centos7.6安装clang9_半路的疯子的博客-CSDN博客
4. CentOS 6.X安装GCC 9.1和LLVM/Clang 8.0_witton的博客-CSDN博客_centos6 编译安装gcc9
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)