YouCompleteMe在低版本Linux系统上的安装

基本问题

YouCompleteMe在低版本Linux上安装有以下问题:

  1. 编译YCM本身需要高版本的编译器
  2. YCM需要的 clangd是下载的二进制,clangd依赖较高版本的 glibc,低版本Linux上的glibc无法满足clangd 二进制的运行要求

解决方法

  1. third_pardy/ycmd/build.py修改,直接给cmake指定编译器路径,使用高版本的编译器

      compiler_args = ['-DCMAKE_C_COMPILER=/xxxx/gcc-10.3.0/bin/gcc', '-DCMAKE_CXX_COMPILER=/xxx/gcc-10.3.0/bin/c++']
      cmake_args.extend(compiler_args)
    
    
  2. 源码编译一个clangd,替换掉YCM自己下载的二进制

编译过程

git clone https://github.com/llvm/llvm-project.git
cd llvm-project/llvm/
mkdir build
cd build

cmake -G "Unix Makefiles" \
  -DCMAKE_EXPORT_COMPILE_COMMANDS=ON \
  -DCMAKE_C_COMPILER=/data/soft/distcc/gcc-10.3.0/bin/gcc \
  -DCMAKE_CXX_COMPILER=/data/soft/distcc/gcc-10.3.0/bin/c++ \
  -DLLVM_ENABLE_PROJECTS="clang;clang-tools-extra" \
  -DCMAKE_INSTALL_PREFIX=/home/like12/opt/llvm \
  -DCMAKE_BUILD_TYPE=Release \
  ../
make install

Leave a Comment