【问题标题】:How to force llvm cmake to use only given path to libs?如何强制 llvm cmake 仅使用给定的库路径?
【发布时间】:2021-12-05 01:26:35
【问题描述】:

我尝试在我没有 root 访问权限的系统上构建 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-file。当我运行时,它会抛出:

../../../../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 还是需要添加一些环境变量来解决问题?

【问题讨论】:

    标签: c++ gcc cmake llvm


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-07-24
      • 2016-04-26
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多