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

执行CMake构建ClickHouse时找不到LLVM LLD链接器的解决咨询

构建ClickHouse时LLD链接器缺失的解决办法

问题详情

构建ClickHouse时触发CMake错误,核心提示为:

CMake Error at cmake/tools.cmake:79 (message):
The only supported linker is LLVM's LLD, but we cannot find it.
Call Stack (most recent call first):
CMakeLists.txt:18 (include)

完整执行日志如下:

[work@xxx gluten]$ bash ./ep/build-clickhouse/src/build_clickhouse.sh
/home/work/zjh/git_code/gluten
/home/work/zjh/env/clang/16.0.0/clang+llvm-16.0.0/bin/clang
/home/work/zjh/env/clang/16.0.0/clang+llvm-16.0.0/bin/clang++
CH_ORG=Kyligence
CH_BRANCH=rebase_ch/20240120
CH_COMMIT=377f89518a6
-- The C compiler identification is Clang 16.0.0
-- The CXX compiler identification is Clang 16.0.0
-- The ASM compiler identification is Clang
-- Found assembler: /home/work/zjh/env/clang/16.0.0/clang+llvm-16.0.0/bin/clang
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /home/work/zjh/env/clang/16.0.0/clang+llvm-16.0.0/bin/clang - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /home/work/zjh/env/clang/16.0.0/clang+llvm-16.0.0/bin/clang++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
/home/work/zjh/env/clang/16.0.0/clang+llvm-16.0.0/bin/clang
/home/work/zjh/env/clang/16.0.0/clang+llvm-16.0.0/bin/clang++
-- Configuring done
-- Generating done
-- Build files have been written to: /home/work/zjh/git_code/gluten/cpp-ch/build_ch
[0/1] Generating _build_ch
-- The C compiler identification is Clang 16.0.0
-- The CXX compiler identification is Clang 16.0.0
-- The ASM compiler identification is Clang
-- Found assembler: /home/work/zjh/env/clang/16.0.0/clang+llvm-16.0.0/bin/clang
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /home/work/zjh/env/clang/16.0.0/clang+llvm-16.0.0/bin/clang - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /home/work/zjh/env/clang/16.0.0/clang+llvm-16.0.0/bin/clang++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
/home/work/zjh/env/clang/16.0.0/clang+llvm-16.0.0/bin/clang++: /lib64/libtinfo.so.5: no version information available (required by /home/work/zjh/env/clang/16.0.0/clang+llvm-16.0.0/bin/clang++)
-- Using compiler:
clang version 16.0.0
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /home/work/zjh/env/clang/16.0.0/clang+llvm-16.0.0/bin
CMake Error at cmake/tools.cmake:79 (message):
  The only supported linker is LLVM's LLD, but we cannot find it.
Call Stack (most recent call first):
  CMakeLists.txt:18 (include)


-- Configuring incomplete, errors occurred!
See also "/home/work/zjh/git_code/gluten/cpp-ch/build/CMakeFiles/CMakeOutput.log".
See also "/home/work/zjh/git_code/gluten/cpp-ch/build/CMakeFiles/CMakeError.log".
FAILED: _build_ch 
cd /home/work/zjh/git_code/gluten/cpp-ch/build_ch && bash -c "cmake -DCMAKE_C_COMPILER=/home/work/zjh/env/clang/16.0.0/clang+llvm-16.0.0/bin/clang -DCMAKE_CXX_COMPILER=/home/work/zjh/env/clang/16.0.0/clang+llvm-16.0.0/bin/clang++ -DCMAKE_BUILD_TYPE=RelWithDebInfo -DENABLE_PROTOBUF=ON -DENABLE_TESTS=OFF -DENABLE_JEMALLOC=ON -DENABLE_MULTITARGET_CODE=ON -DENABLE_EXTERN_LOCAL_ENGINE=ON -DENABLE_ODBC=OFF -DENABLE_CAPNP=OFF -DENABLE_ROCKSDB=OFF -DENABLE_GRPC=OFF -DENABLE_RUST=OFF -DENABLE_H3=OFF -DENABLE_AMQPCPP=OFF -DENABLE_CASSANDRA=OFF -DENABLE_KAFKA=OFF -DENABLE_NATS=OFF -DENABLE_LIBPQXX=OFF -DENABLE_NURAFT=OFF -DENABLE_DATASKETCHES=OFF -DENABLE_SQLITE=OFF -DENABLE_S2_GEOMETRY=OFF -DENABLE_ANNOY=OFF -DENABLE_ULID=OFF -DENABLE_MYSQL=OFF -DENABLE_BCRYPT=OFF -DENABLE_LDAP=OFF -DENABLE_MSGPACK=OFF -DUSE_REPLXX=OFF -DENABLE_CLICKHOUSE_ALL=OFF -DCOMPILER_FLAGS='-fvisibility=hidden -fvisibility-inlines-hidden' -S /home/work/zjh/git_code/gluten/cpp-ch/ClickHouse -G Ninja -B /home/work/zjh/git_code/gluten/cpp-ch/build && cmake --build /home/work/zjh/git_code/gluten/cpp-ch/build --target ch"
ninja: build stopped: subcommand failed.

解决步骤

  • 检查LLD是否存在:终端执行lld --version,若提示命令不存在,说明需要安装或指定路径。
  • 若使用预编译LLVM包(如当前的clang 16.0.0),先确认LLD是否在clang安装目录下:
    查看/home/work/zjh/env/clang/16.0.0/clang+llvm-16.0.0/bin/目录,若存在lld或ld.lld,可在CMake命令中添加参数指定链接器:
    -DCMAKE_LINKER=/home/work/zjh/env/clang/16.0.0/clang+llvm-16.0.0/bin/lld
    
    或者将该目录加入系统PATH:
    export PATH=/home/work/zjh/env/clang/16.0.0/clang+llvm-16.0.0/bin:$PATH
    
  • 若预编译包不含LLD,通过系统包管理器安装:
    • CentOS/RHEL:sudo yum install lld
    • Ubuntu/Debian:sudo apt install lld
  • 处理日志中的libtinfo.so.5警告(可选但推荐):
    CentOS/RHEL执行sudo yum install ncurses-compat-libs,Ubuntu/Debian执行sudo apt install libtinfo5,避免后续潜在问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.30 22:00:55