2

LLVM 框架提供多种下载方式:

LLVM Download Page (官方网站): https://releases.llvm.org/

LLVM GitHub Release (GitHub 发行版): https://github.com/llvm/llvm-project/releases

LLVM For Debian (Debian 下载链接): https://apt.llvm.org/

本文将使用 LLVM Debian 自动下载安装脚本, 如下图所示

image.png

建议: 下载安装时应该指定具体的 LLVM 版本号, 不要使用最新版本.

示例: 对于 LLVM-18, 应该使用如下 Bash 命令进行下载安装.

wget https://apt.llvm.org/llvm.sh
chmod +x llvm.sh
sudo ./llvm.sh 18 all

安装完成后, 应该在 /usr/bin 目录下见到类似的文件名:

ls /usr/bin

image.png

这些带有 -18 后缀的可执行文件都是 LLVM 框架的一部分, 也许某个时候你会用到它们, 但也许永远都不会用到.

为了使用方便, 我们可以给这些文件添加硬连接:

ln /usr/bin/FileCheck-18 /usr/bin/FileCheck
ln /usr/bin/clang-18 /usr/bin/clang
ln /usr/bin/clang++-18 /usr/bin/clang++
ln /usr/bin/llvm-as-18 /usr/bin/llvm-as
ln /usr/bin/llvm-dis-18 /usr/bin/llvm-dis
ln /usr/bin/llvm-link-18 /usr/bin/llvm-link
ln /usr/bin/llc-18 /usr/bin/llc
ln /usr/bin/lli-18 /usr/bin/lli

这样就可以通过 clang example.c 的方式运行名为 example.c 的 C 语言文件了.

LLVM 并不会主动安装它需要依赖的所有软件包, 因此我们需要手动安装一些东西, 下面是我遇到过的一些报错:

Lit

Lit 是 LLVM 用于测试的组件, 但是它居然并不集成在 LLVM 框架里面, 所以需要通过 Python 单独下载.

apt install -y pipx
pipx install lit

ZSTD

Could NOT find ZSTD (missing: ZSTD_LIBRARY ZSTD_INCLUDE_DIR)

解决方案:

apt install -y libzstd-dev libdwarf-dev

ZLIB

[cmake] CMake Error at /usr/lib/llvm-18/lib/cmake/llvm/LLVMExports.cmake:73 (set_target_properties):
[cmake]   The link interface of target "LLVMSupport" contains:
[cmake] 
[cmake]     ZLIB::ZLIB
[cmake] 
[cmake]   but the target was not found.  Possible reasons include:
[cmake] 
[cmake]     * There is a typo in the target name.
[cmake]     * A find_package call is missing for an IMPORTED target.
[cmake]     * An ALIAS target is missing.
[cmake] 
[cmake] Call Stack (most recent call first):
[cmake]   /usr/lib/llvm-18/cmake/LLVMConfig.cmake:369 (include)
[cmake]   CMakeLists.txt:25 (find_package)

解决方案:

apt install -y zlib1g-dev

libedit

解决方案:

apt install -y libedit-dev

unka_malloc
7 声望3 粉丝