记一次 nvim clangd 配置问题

注意
本文最后更新于 2024-05-15,文中内容可能已过时。

最近在迁移开发环境(本质上是这家公司太抠门了,舍不得给开发狗购买机器),需要重新配置我的 nvim。由于我使用 clangd 进行c++ 代码的实时编译、检测以及语法高度,所以要求机器能够支持 clangd 的编译环境。

遇到的问题

打开 nvim 编辑 c++ 代码文件,会出现报错

1
Client 1 quit with exit code 1 and signal 0

无法在代码之间进行跳转。因此大概可以猜测 lsp 出问题了。

node 版本过低

node 版本在 10.0 以下不支持 lua,因此需要升级一下。

clangd 无法启动

可以先试着在终端执行 clangd 命令,看看环境是否支持

1
2
3
/home/lfang/.config/nvim/lazy/mason/bin/clangd

/home/lfang/.confkzig/nvim/lazy/mason/bin/clangd: /lib64/libc.so.6: version `GLIBC_2.18' not found (required by /home/lfang/.config/nvim/lazy/mason/bin/clangd)

尴尬的是,这家公司实在拉跨,程序常年不更新,所以找不到 GLIBC_2.18 的版本号。

解决方案

升级 node

升级 glibc_2.18

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
export GLIBC_VERSION=2.18
cd /tmp && wget --no-check-certificate http://mirrors.ustc.edu.cn/gnu/libc/glibc-${GLIBC_VERSION}.tar.gz && \
    tar -xvf glibc-${GLIBC_VERSION}.tar.gz && \
    cd glibc-${GLIBC_VERSION} && \
    mkdir build && cd build && \
    ../configure --prefix=/usr \
        --disable-profile \
        --enable-add-ons \
        --with-headers=/usr/include \
        --with-binutils=/usr/bin && \
    make && make install && \
    rm -rf /tmp/glibc*

glibc
glibc

william 支付宝支付宝
william 微信微信
0%