【问题标题】:How do I install clang-format without root privileges and without installing LLVM?如何在没有 root 权限且不安装 LLVM 的情况下安装 clang-format?
【发布时间】:2018-05-29 14:00:24
【问题描述】:

我在没有 root 权限的 Fedora 机器上的 ~/bin 文件夹中有 clang-format version 3.8.0 (tags/RELEASE_380/final)。它可以工作,但它很旧,我想升级。我只想要 clang-format 工具,所以如果可以避免的话,我想避免完成 LLVM 或 clang 的完整安装过程。我想我可以避免它,因为我的旧clang-format 在没有安装任何一个的情况下工作。我不记得 clang-format 是如何进入我的~/bin 目录的,我不知道如何更新它。

我尝试的第一件事是关注this post,它说我应该能够从this page(我试过http://releases.llvm.org/6.0.0/clang+llvm-6.0.0-x86_64-linux-gnu-Fedora27.tar.xz)下载一个预构建的二进制文件,然后只需设置一个指向bin/clang-format 的符号链接。这对我不起作用。当我输入 /path/to/bin/clang-format --help 时,我收到错误 error while loading shared libraries: libtinfo.so.6: cannot open shared object file: No such file or directory

接下来我尝试下载 clang 源代码并使用它进行编译

mkdir build && cd build && CC=$(which gcc) CXX=$(which g++) cmake ..

但是当我这样做时,我得到了错误

CMake Error at CMakeLists.txt:36 (message):
  llvm-config not found -- LLVM_CONFIG-NOTFOUND

我猜这意味着我需要安装 LLVM 才能走这条路?

任何帮助获得更新的 clang 格式(至少 5.0 版)而无需 root 访问权限将不胜感激。最小安装的奖励积分(即没有 clang 或 llvm)。

=== 编辑 ===

通过下载一堆不同版本的预构建二进制文件,我发现旧版本 (clang-formats,但在 4.0 及更高版本中,libtinfo 出现相同的错误.我想这意味着除非我想经历痛苦的​​安装过程,否则我将不得不使用旧版本。

【问题讨论】:

    标签: clang-format


    【解决方案1】:

    下载llvm 6.0时,确保目录结构如下:

    llvm |-->工具 |----->铿锵声 |----> 工具 |----> 额外的

    如果你只是想构建clang-format,那么你可以cd

    llvm-build-dir/tools/clang/tools/extra/clang-format然后执行make -j8 all

    稍后您可以在 /bin 文件夹中创建符号链接

    【讨论】:

    • 谢谢!但是,当我下载 llvm 或 clang 源代码时,我看不到这样的目录结构。在llvm-6.0.0.src 中,find . -name '*clang-format*' 的结果是./test/.clang-format./.clang-format。 clang 源代码中的相同命令显示了一个tools/clang-format 目录,但make 在那里不起作用,因为没有makefile。您看到该目录结构的源文件的链接是什么?
    • @BenLindsay:你在你的 llvm 构建目录中做 grep 吗?而 llvm、clang 和 clang-extra 是三个不同的存储库
    • 我在 3 个不同源下载的根目录中运行了 find 命令。我尝试的 3 次下载来自 the LLVM download page。这 3 个下载是 1) 是 LLVM Source Code,2) Clang Source Code,和 3) clang-tools-extra source code。我没有在其中任何一个中找到该目录结构。我应该查看哪些源下载?
    • 我仍然很想知道您在哪个源代码中找到了该目录结构。您能否发布链接或其他内容?
    • 您必须在通过cmake创建的构建目录结构中执行find命令,而不是在源代码目录中。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-02-25
    • 2012-12-20
    • 1970-01-01
    • 2015-11-12
    • 2013-05-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多