我尝试在一个没有根访问权限的系统上构建llvm。所以,我遇到了一些问题:我不得不在我的
我成功地安装了
$HOME
路径中安装gcc
和cmake
,因为系统自带的gcc
和cmake
版本过旧,而我不能用sudo
来更新它们。我成功地安装了
gcc
和cmake
,并将新路径添加到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
,但我不知道如何强制cmake
或make
只考虑这些路径而不是/lib64
。我需要传递什么选项给cmake
还是需要添加一些环境变量来解决问题?