如何强制 LLVM CMake 只使用给定路径中的库?

3
我尝试在一个没有根访问权限的系统上构建llvm。所以,我遇到了一些问题:我不得不在我的$HOME路径中安装gcccmake,因为系统自带的gcccmake版本过旧,而我不能用sudo来更新它们。
我成功地安装了gcccmake,并将新路径添加到PATH环境变量中。我使用以下命令在llvm上运行cmake:
cmake -S llvm -DCMAKE_BUILD_TYPE=Debug -DBUILD_SHARED_LIBS=ON -DLLVM_TARGETS_TO_BUILD=all -DLLVM_ENABLE_PROJECTS="clang;lld" -DCMAKE_INSTALL_PREFIX=/home/my_user/local  -DCMAKE_C_COMPILER=/home/my_user/local/bin/gcc -DCMAKE_LIBRARY_PATH=/home/my_user/local/lib ../llvm

它成功生成了 make 文件。但当我运行时,它会抛出以下错误:

../../../../bin/clang-tblgen: /lib64/libstdc++.so.6: version `CXXABI_1.3.9' not found (required by ../../../../bin/clang-tblgen)
../../../../bin/clang-tblgen: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by ../../../../bin/clang-tblgen)
...

但是当我安装了新的gcc时,我已经在/home/my_user/local/lib64/home/my_user/local/lib中有了方便的 libstdc++.so.6,但我不知道如何强制cmakemake只考虑这些路径而不是/lib64。我需要传递什么选项给cmake还是需要添加一些环境变量来解决问题?

1个回答

0

我找到了一个适合我的解决方案。 找出路径包含所需库(在我的情况下是/home/my_user/local/lib64),然后运行 LD_LIBRARY_PATH=/home/my_user/local/lib64 make


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接