IronLSY 2023-01-07 18:33 采纳率: 0%
浏览 68
已结题

非root用户安装新版本cmake时在bootstrap步骤显示错误symbol lookup error undefined symbol

因为服务器cmake版本比较老,我非root用户尝试安装新版本cmake时在bootstrap步骤发生错误,显示symbol lookup error,我安装3.25.1或者3.24.3都有这个问题。下面是复制的错误和图片。

x-process.c.o uv-src-unix-signal.c.o uv-src-unix-stream.c.o uv-src-unix-tcp.c.o rhash-librhash-algorithms.c.o rhash-librhash-byte_order.c.o rhash-librhash-hex.c.o rhash-librhash-md5.c.o rhash-librhash-rhash.c.o rhash-librhash-sha1.c.o rhash-librhash-sha256.c.o rhash-librhash-sha3.c.o rhash-librhash-sha512.c.o -ldl -lrt -o cmake
**/public/home/syliu/work/cmake-3.24.3/Bootstrap.cmk/cmake: symbol lookup error: /public/home/syliu/work/cmake-3.24.3/Bootstrap.cmk/cmake: undefined symbol: ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EPKcRKS3


Error when bootstrapping CMake:
Problem while running initial CMake**


img

  • 写回答

6条回答 默认 最新

  • m0_54204465 2023-01-08 00:10
    关注

    尝试使用 CMake 时遇到了“Error when bootstrapping CMake”错误,可能是由于以下原因导致的:

    CMake 的源代码有损坏。这可能是由于网络故障或磁盘错误导致的。你可以尝试重新下载 CMake 的源代码并重试。
    系统环境不满足 CMake 的要求。CMake 需要某些系统库(例如 zlib 和 bzip2)才能正常工作。如果这些库没有安装或版本过旧,CMake 就可能无法启动。

    评论
  • 普通网友 2023-01-08 01:16
    关注

    需要root才能安装或读取那些相关依赖

    评论
  • yy64ll826 2023-01-08 02:04
    关注
    
    安装 libarchive
    
    dnf install libarchive 或者 yum install libarchive
    
    评论
  • heart_6662 2023-01-08 02:27
    关注

    这个问题可能是由于 C++ 库的版本冲突造成的。在运行 bootstrap 脚本时,如果使用的 C++ 库的版本与系统中已经安装的版本不同,就可能会出现这种错误。

    解决方法可以是在运行 bootstrap 脚本之前使用一些工具(如 ldconfig)来刷新库文件搜索路径,以便系统能够找到正确版本的库文件。

    如果这个问题仍然存在,可以尝试使用源代码安装 CMake,并在编译时指定 C++ 库的路径。

    例如:

    ./configure --with-libcxx=/path/to/libcxx
    make
    make install
    
    
    评论
  • Jackyin0720 2023-01-08 03:37
    关注
    **/public/home/syliu/work/cmake-3.24.3/Bootstrap.cmk/cmake: symbol lookup error: /public/home/syliu/work/cmake-3.24.3/Bootstrap.cmk/cmake: undefined symbol: ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EPKcRKS3
    报错含义:
    **/public/home/syliu/work/cmake-3.24.3/Bootstrap.cmk/make:符号查找错误:
    /public/home/slyiu/work/cmake-3.243/Bootstrap.com/cmake:未定义符号:ZNSt7_cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EPKcRKS3
    
    
    Error when bootstrapping CMake:
    Problem while running initial CMake**
    报错含义:
    引导CMake时出错:
    运行初始CMake时出现问题**
    
    从报错来看,大部分的问题原因都是动态库的版本过旧,导致应用程序找不到对应的符号而引起的
    解题思路:
    1.确定指定库链接正确。
    2.找到指定库,nm 库名 | grep ‘错误提示信息变量’
    分析:如果出现-U,说明这个变量应该在别的库中定义。
    3.ldd 库名,找到变量应该出现的库
    4.nm 指定库,查看变量名等,如果没有,有可能是版本或者编译问题。
    
    评论
  • |__WhoAmI__| 2023-01-08 05:36
    关注

    这个错误通常是由于在编译 CMake 时链接了一些动态库,但是在执行 CMake 时这些动态库却没有被找到所导致的。

    建议检查一下以下几点:

    1、确保在编译 CMake 时已经指定了所有需要的库的路径。

    2、在执行 CMake 时,确保动态库文件能被找到。可以使用 ldd 命令检查一下,如果有缺失的库文件会被标记为 not found。

    3、确保在编译 CMake 时使用的编译器和执行 CMake 时使用的编译器是同一个版本的。

    4、如果仍然无法解决问题,可以试试使用 strace 命令来跟踪一下 CMake 执行时的系统调用,从而找到问题的根本原因。
    仅供参考,望采纳,谢谢。

    评论
编辑
预览

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 1月8日
  • 创建了问题 1月7日
手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部