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

编译安装CMake时提示'cannot find /usr/lib/libc_nonshared.a'错误

解决CMake编译时找不到libc_nonshared.a的问题

问题本质

编译CMake时出现/usr/bin/ld: cannot find /usr/lib/libc_nonshared.a错误,核心原因是系统缺少glibc静态库组件,或者静态库的默认路径不在链接器的搜索范围内。

解决方案

  • 安装glibc静态库包
    根据服务器发行版执行对应命令:

    • Debian/Ubuntu 系列:
      sudo apt-get install libc6-dev
      
      注:这个包会把libc_nonshared.a安装在/usr/lib/x86_64-linux-gnu/而非/usr/lib/,这是64位系统的标准路径。
    • RHEL/CentOS 系列:
      sudo yum install glibc-static
      # 新版系统可替换为
      sudo dnf install glibc-static
      
  • 手动指定静态库路径(安装后仍报错时)
    执行bootstrap命令时,通过LDFLAGS参数指定库的实际路径:

    ./bootstrap LDFLAGS="-L/usr/lib/x86_64-linux-gnu"
    

    之后正常运行make和sudo make install即可。

  • 更高效的替代方案:用预编译二进制包安装
    跳过编译步骤,直接使用官方预编译包:

    1. 下载对应版本的二进制包(以3.29.0为例):
      wget https://github.com/Kitware/CMake/releases/download/v3.29.0/cmake-3.29.0-linux-x86_64.tar.gz
      
    2. 解压到/usr/local目录:
      sudo tar -zxvf cmake-3.29.0-linux-x86_64.tar.gz -C /usr/local/
      
    3. 将CMake路径加入环境变量:
      echo 'export PATH=/usr/local/cmake-3.29.0-linux-x86_64/bin:$PATH' >> ~/.bashrc
      source ~/.bashrc
      

    验证安装:执行cmake --version确认版本是否正确。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.27 07:18:24