Doxygen:找不到共享库 'libclang.so.6'

Doxygen: cannot find the shared library(s) 'libclang.so.6'

虽然 运行 doxygen 我得到以下错误:

doxygen: error while loading shared libraries: libclang.so.6: cannot open shared object file: No such file or directory

我在 Ubuntu 17 上使用 sudo apt install doxygen 安装了 doxygen。在 /usr/lib/x86_64-linux-gnu 我有 libclang-4.0.so.1libclang-5.0.so.1 但没有 libclang.so.6

我试过重新安装 doxygen 和 clang,但没有用。

我也试过为现有文件 libclang-5.0.so.1 创建一个名为 libclang.so.6 的符号 link,如前所述 here 但它会导致此错误:

doxygen: /usr/lib/x86_64-linux-gnu/libclang.so.6: version `LLVM_6.0' not found (required by doxygen)

如何解决此错误并使 doxygen 正常工作?

问题已通过使用 this 替代安装方法解决。请按照以下步骤操作:

  1. 获取存储库副本

    git clone https://github.com/doxygen/doxygen.git
    cd doxygen
    
  2. 建造

    mkdir build
    cd build
    cmake -G "Unix Makefiles" ..
    make
    
  3. 安装

    sudo make install
    

首先将其添加到您的存储库

deb http://apt.llvm.org/artful/ llvm-toolchain-artful-6.0 main
deb-src http://apt.llvm.org/artful/ llvm-toolchain-artful-6.0 main

现在运行以下

wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key|sudo apt-key add -
apt-get install clang-6.0 lldb-6.0 lld-6.0

--来源http://apt.llvm.org/

您还可以使用以下方式安装 doxygen:

sudo apt install doxygen

它将自行安装所有依赖项。

在 Ubuntu 20.04 上,我从 https://www.doxygen.nl/download.html#srcbin 成功安装了二进制分发包(doxygen-1.9.1.linux.bin.tar.gz 这是“使用 Ubuntu 20.04 编译并动态链接到 libclang 版本 9”)。然后通过使用 apt-file 程序,我能够找到并安装每个缺少的库,如下所示:

$ doxygen --version
doxygen: error while loading shared libraries: libclang-9.so.1: cannot open shared object file: No such file or directory

$ apt-file search libclang-9.so.1
libclang1-9: /usr/lib/llvm-9/lib/libclang-9.so.1
libclang1-9: /usr/lib/x86_64-linux-gnu/libclang-9.so.1

$ sudo apt install libclang1-9
(...)

$ doxygen --version
doxygen: error while loading shared libraries: libclang-cpp.so.9: cannot open shared object file: No such file or directory

$ apt-file search libclang-cpp.so.9
libclang-cpp9: /usr/lib/llvm-9/lib/libclang-cpp.so.9
libclang-cpp9: /usr/lib/x86_64-linux-gnu/libclang-cpp.so.9

$ sudo apt install libclang-cpp9
(...)

$ doxygen --version
1.9.1 (ef9b20ac7f8a8621fcfc299f8bd0b80422390f4b)