编译Darling时CMake路径错误:无法找到LLVM配置文件
解决Darling编译时CMake查找LLVM路径重复的问题
问题分析
编译Darling执行cmake ..时,CMake错误地在/usr/lib/lib/cmake/llvm/路径下查找LLVM配置文件,但实际文件位于/usr/lib/cmake/llvm/,这是由于系统中LLVM相关的CMake变量被错误覆盖或计算异常导致的,全新Arch/Manjaro环境无此问题,说明是本地已安装包的冲突或环境变量异常。
修复与调试方案
清理CMake缓存
构建目录的缓存文件可能保存了错误的路径配置,先彻底清理后重新构建:rm -rf build && mkdir build && cd build或者仅清理当前构建目录的缓存:
rm CMakeCache.txt CMakeFiles -rf手动指定LLVM配置路径
执行cmake时直接通过LLVM_DIR变量指定正确的LLVM CMake配置目录,强制覆盖错误的路径计算:cmake .. -DLLVM_DIR=/usr/lib/cmake/llvm针对x86_64 Debian/Ubuntu系系统,也可以尝试指定架构对应的路径:
cmake .. -DLLVM_DIR=/usr/lib/x86_64-linux-gnu/cmake/llvm检查并修正环境变量
查看是否有错误设置的LLVM相关环境变量:printenv | grep LLVM如果发现
LLVM_DIR或CMAKE_PREFIX_PATH包含异常路径,临时取消或修正:unset LLVM_DIR # 若CMAKE_PREFIX_PATH存在错误,重置为系统标准路径 export CMAKE_PREFIX_PATH=/usr/lib/x86_64-linux-gnu:/usr/lib排查多版本LLVM冲突
检查系统中是否安装了多个LLVM版本,导致路径混淆:which llvm-config llvm-config --version若存在多个版本,通过
update-alternatives切换到系统默认的LLVM版本:sudo update-alternatives --config llvm-config调试CMake变量值
开启CMake的详细输出,查看相关变量的实际取值,定位错误来源:cmake .. -DCMAKE_VERBOSE_MAKEFILE=ON -LA在输出中搜索
LLVM_DIR、LLVM_CONFIG_PATH等关键词,确认变量值是否异常,再针对性调整。
内容的提问来源于stack exchange,提问作者Pepper Gray
相关产品推荐
相关产品推荐

