栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

llvm安装

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

llvm安装

文章目录
  • 前言
    • 一、采用包管理器安装
    • 二、采用官网的二进制包
    • 三、编译安装llvm
  • 总结


前言

      整理一下关于llvm的安装步骤。首先保证有一些基本的安装包如 build-essential,所处环境为 Ubuntu 20.04.4 LTS。

一、采用包管理器安装

      在root模式下执行:

apt install llvm
apt install clang
二、采用官网的二进制包

      在Github:https://github.com/llvm/llvm-project/releases 上下载版本LLVM14.0.0,其中选择 clang+llvm-14.0.0-x86_64-linux-gnu-ubuntu-18.04.tar.xz,然后放在 /usr/local 目录下,然后解压即可。

tar xvf clang+llvm-14.0.0-x86_64-linux-gnu-ubuntu-18.04.tar.xz
mv clang+llvm-14.0.0-x86_64-linux-gnu-ubuntu-18.04 llvm
export PATH="$PATH:/usr/local/llvm/bin"
三、编译安装llvm

      前置工作:

apt install build-essential
apt install zip
apt install cmake
apt install python3

      然后下载 Github 中的 llvm 项目(https://github.com/llvm/llvm-project),下载 zip 格式到 /usr/local 目录下:

root@e7f35d7d1648:/usr/local# ls
llvm-project-main.zip ...
root@e7f35d7d1648:/usr/local# unzip llvm-project-main.zip
root@e7f35d7d1648:/usr/local# ls
llvm-project-main.zip llvm-project-main ...
root@e7f35d7d1648:/usr/local# mkdir llvm
root@e7f35d7d1648:/usr/local# cd llvm-project-main
root@e7f35d7d1648:/usr/local/llvm-project-main# mkdir build
root@e7f35d7d1648:/usr/local/llvm-project-main# cd build

root@e7f35d7d1648:/usr/local/llvm-project-main/build# cmake -DLLVM_ENABLE_PROJECTS="clang;lldb" -DCMAKE_BUILD_TYPE="Debu
g" -DCMAKE_INSTALL_PREFIX="/usr/local/llvm" ../llvm
root@e7f35d7d1648:/usr/local/llvm-project-main/build# make

      在Debug模式出现错误:

....
[ 68%] Building CXX object tools/clang/tools/driver/CMakeFiles/clang.dir/cc1as_main.cpp.o
[ 68%] Building CXX object tools/clang/tools/driver/CMakeFiles/clang.dir/cc1gen_reproducer_main.cpp.o
[ 68%] Linking CXX executable ../../../../bin/clang
collect2: fatal error: ld terminated with signal 9 [Killed]
compilation terminated.
make[2]: *** [tools/clang/tools/driver/CMakeFiles/clang.dir/build.make:333: bin/clang-15] Error 1
make[2]: *** Deleting file 'bin/clang-15'
make[1]: *** [CMakeFiles/Makefile2:48665: tools/clang/tools/driver/CMakeFiles/clang.dir/all] Error 2
make: *** [Makefile:152: all] Error 2

      多次尝试修改无果,好像是因为 swap 分区的问题,但是在Docker容器中不好修改,还有说是不要采用 make jN,但是自己也没有采用这种做法。所以采用Realse模式试试,需要先将cmake中的文件清空修改之前的 cake 命令如下:

root@e7f35d7d1648:/usr/local/llvm-project-main/build# rm -rf *
root@e7f35d7d1648:/usr/local/llvm-project-main/build# cmake -DLLVM_ENABLE_PROJECTS="clang;lldb" -DCMAKE_BUILD_TYPE="Release" -DCMAKE_INSTALL_PREFIX="/usr/local/llvm" ../llvm
root@e7f35d7d1648:/usr/local/llvm-project-main/build# make
...大概4个小时左右吧,在自己电脑上
root@e7f35d7d1648:/usr/local/llvm-project-main/build# make install

      成功!可执行文件保存在 /usr/local/llvm 中,其中内容和直接下载的官方二进制包中内容一样。
      设置环境变量:

root@e7f35d7d1648:/usr/local/llvm-project-main/build# export PATH=$PATH:/usr/local/llvm/bin
root@e7f35d7d1648:/usr/local/llvm-project-main/build# clang -v

      补充:其实之前在编译Release中的源代码(llvm-14.0.0.src.tar.xz、clang-14.0.0.src.tar.xz 和 clang-tools-extra-14.0.0.src.tar.xz)时在 cmake 阶段会出现错误,不清楚所造成的原因。如下:

CMake Error at CMakeLists.txt:1256 (add_subdirectory):
  add_subdirectory given source "/usr/local/llvm/../third-party/benchmark"
  which is not an existing directory.
总结

      完。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/914152.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号