clangd安装

背景

vscode依赖clangd服务做代码解析、跳转, 然而centos7上对预编译的二进制clangd支持不友好,提示GLIBC_2.18 not found

解决方式

  1. 升级glibc
    但是可能导致程序移植以及机器上可能的致命的问题。毕竟一般程序都是动态链接glibc库,重装之后可能导致程序崩溃,或者移植之后发现移植的机器缺少该动态库,因此不建议
  2. 源码安装
    参考这个兄弟的文章:https://zhuanlan.zhihu.com/p/441171224,发现是个体力活,并且最终还是绕不开glibc,因此只好放弃
  3. yum安装
    由于clangd是包含在llvm-toolset-7-clang-tools-extra这个软件中,通过yum search并没发现这个包,想从扩展包里面看看有没有,参考了https://www.cnblogs.com/alog9/p/12097724.html 安装了epel-release ,然而该库里面也没有。参考了https://stackoverflow.com/questions/54488821/i-would-like-to-install-clang-tidy-as-a-linter-for-cpp-on-centos-7-but-cannot-lo 发现了scl,可以通过scl安装,命令如下:
yum install centos-release-scl
yum install llvm-toolset-7-clang-tools-extra
scl enable llvm-toolset-7 bash

通过ldd查看所依赖的glibc也并没升级,还是老版本

ldd /opt/rh/llvm-toolset-7/root/usr/bin/clangd
ll /lib64/libc.so.6

这样就达到了不用升级glibc而使用clangd

劝君别折腾:
然而然而这个clangd版本太古老了,vscode甚至用不起来,最终还是搞了个centos8的docker来专门支持最新的clangd

你可能感兴趣的:(clangd安装)