如何在Arch Linux(Manjaro)上顺利编译安装LLVM?
Arch Linux(Manjaro)系统 LLVM 安装指南
优先使用预编译版本(无需自行编译,首选方案)
除非你有自定义补丁、修改LLVM源码的特殊需求,否则不要自行编译LLVM,官方提供的预编译版本已覆盖绝大多数编译场景
1. 官方源安装默认版本
执行以下命令直接安装最新稳定版LLVM全家桶:
sudo pacman -S llvm clang lld compiler-rt
如果需要特定历史版本,官方源提供带版本号的独立包,可通过pacman -Ss llvm搜索对应版本,例如安装LLVM 16:
sudo pacman -S llvm16 clang16 lld16
2. AUR预编译包安装特殊版本
如果官方源没有你需要的定制版本,优先选择AUR中带-bin后缀的LLVM包,均为预编译好的二进制版本,无需本地编译,使用AUR助手安装即可,例如:
yay -S llvm18-bin
必须自行编译的优化方案
如果确实需要本地编译自定义版本,按以下配置优化,可避免CPU过载、大幅降低编译耗时:
- 限制并行编译任务数:并行数设置为「CPU逻辑核心数-2」,预留资源供系统正常运行,避免满载崩溃。例如16线程CPU使用ninja编译时命令为:
cmake --build build -j14
使用make编译时命令为:make -j14 - 裁剪编译组件:添加cmake参数砍掉非必要编译目标,可减少70%以上编译任务量:
-DLLVM_TARGETS_TO_BUILD="X86" \ # 仅编译X86架构目标,无需编译ARM、RISC-V等其他架构组件 -DLLVM_BUILD_TESTS=OFF \ # 关闭测试用例编译 -DLLVM_BUILD_EXAMPLES=OFF \ # 关闭示例代码编译 -DLLVM_INCLUDE_DOCS=OFF # 关闭文档编译 - 优化编译链接速度:安装
lld链接器,添加cmake参数-DLLVM_USE_LINKER=lld,链接速度比默认ld快2~3倍;安装ccache开启编译缓存,可大幅降低重复编译耗时。 - 存储优化:将编译目录放在高速SSD上,避免机械硬盘读写瓶颈拖慢编译速度。
内容的提问来源于stack exchange,提问作者Bebel
相关产品推荐
相关产品推荐

