You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu17.10下Doxygen启动报错:缺失libclang.so.6(LLVM_6.0版本)共享库

解决Doxygen启动时找不到libclang.so.6的问题

看起来你踩了Ubuntu 17.10+Doxygen依赖匹配的坑——这个版本的Ubuntu默认软件源里的clang版本和你安装的Doxygen要求的LLVM 6.0不兼容,而且LLVM的版本符号是强绑定的,高版本库没法通过简单符号链接替代低版本。试试下面几个针对性的解决方案:

方案一:安装LLVM 6.0官方库

Ubuntu 17.10默认源里没有LLVM 6.0的包,你需要手动添加对应源并安装:

  1. 先导入LLVM的GPG密钥:
    wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | sudo apt-key add -
    
  2. 添加适配Ubuntu 17.10(代号artful)的LLVM 6.0源:
    echo "deb http://apt.llvm.org/artful/ llvm-toolchain-artful-6.0 main" | sudo tee /etc/apt/sources.list.d/llvm.list
    
  3. 更新源并安装所需库:
    sudo apt update && sudo apt install libclang-6.0-dev
    

安装完成后再启动Doxygen,应该就能正常加载依赖了。

方案二:手动指定已有libclang的路径

如果你已经通过其他渠道(比如手动下载LLVM 6.0二进制包)拿到了libclang.so.6,可以直接告诉系统这个库的位置:

  1. 临时生效:假设库文件在/path/to/llvm6/lib目录下,用以下命令启动Doxygen:
    LD_LIBRARY_PATH=/path/to/llvm6/lib doxygen
    
  2. 永久生效:把库路径写入系统配置文件:
    echo "/path/to/llvm6/lib" | sudo tee /etc/ld.so.conf.d/llvm6.conf
    sudo ldconfig
    

之后正常启动Doxygen即可。

方案三:使用静态编译版Doxygen

如果不想折腾系统依赖,可以直接下载静态编译版本的Doxygen——这类版本会把所有依赖库打包进去,完全不需要系统提供libclang:

  1. 前往Doxygen官方下载页面,找到对应x86-64架构的静态编译包(文件名通常包含static标识)
  2. 解压包后直接运行里面的doxygen二进制文件即可。

为什么之前的符号链接方法没用?

你尝试的2017年的符号链接方案,本质是把高版本libclang伪装成低版本,但LLVM的版本符号是严格绑定的,高版本库(比如clang 7.0)里并没有LLVM_6.0这个特定版本的符号,所以链接后仍然会触发报错,必须使用对应版本的库才能解决。

内容的提问来源于stack exchange,提问作者Sreyam

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 09:29:57