【问题标题】:Solving GLIBC errors while trying to compile a ROS package在尝试编译 ROS 包时解决 GLIBC 错误
【发布时间】:2021-10-06 22:05:36
【问题描述】:

我在我的 anaconda 环境中安装了 ROS-noetic。为此,我正在使用 robostack 提供的 ROS 系统。我正在尝试构建一个 ros 包 (https://github.com/johnkok/ros_odrive)。但是,当我尝试构建包时,出现以下错误:

/home/anaconda3/envs/rosenv2/bin/../lib/gcc/x86_64-conda-linux-gnu/9.4.0/../../../../x86_64-conda-linux-gnu/bin/ld: /home/anaconda3/envs/rosenv2/lib/libudev.so.1: undefined reference to 'name_to_handle_at@GLIBC_2.14'
/home/anaconda3/envs/rosenv2/bin/../lib/gcc/x86_64-conda-linux-gnu/9.4.0/../../../../x86_64-conda-linux-gnu/bin/ld: /home/anaconda3/envs/rosenv2/lib/libusb-1.0.so: undefined reference to 'memcpy@GLIBC_2.14'
/home/anaconda3/envs/rosenv2/bin/../lib/gcc/x86_64-conda-linux-gnu/9.4.0/../../../../x86_64-conda-linux-gnu/bin/ld: /home/anaconda3/envs/rosenv2/lib/libudev.so.1: undefined reference to 'secure_getenv@GLIBC_2.17'
/home/anaconda3/envs/rosenv2/bin/../lib/gcc/x86_64-conda-linux-gnu/9.4.0/../../../../x86_64-conda-linux-gnu/bin/ld: /home/anaconda3/envs/rosenv2/lib/libudev.so.1: undefined reference to 'getauxval@GLIBC_2.16'
/home/anaconda3/envs/rosenv2/bin/../lib/gcc/x86_64-conda-linux-gnu/9.4.0/../../../../x86_64-conda-linux-gnu/bin/ld: /home/anaconda3/envs/rosenv2/lib/libusb-1.0.so: undefined reference to 'clock_gettime@GLIBC_2.17'
collect2: error: ld returned 1 exit status

当我执行ldd --version 时,我得到ldd (GNU libc) 2.12

关于如何解决此问题的任何建议?谢谢!

【问题讨论】:

    标签: ros glibc anaconda3


    【解决方案1】:

    为此,我正在使用 robostack 提供的 ROS 系统。

    ROS 包是针对 GLIBC 2.17(或更高版本)编译和链接的。它在 GLIBC 2.17(或更高版本)的系统上工作。

    我收到ldd (GNU libc) 2.12

    您正在尝试在具有 GLIBC 的系统上使用 ROS,该系统太旧了。

    如何解决这个问题?

    您有多种选择:

    • 将您的操作系统升级到不那么古老的系统(GLIBC-2.17 大约在 10 年前发布)
    • 找到与您的操作系统兼容的 ROS 包
    • 在您的系统上从源代码重新构建 ROS 包(如果 ROS 依赖于更新的 GLBC 功能或更新的编译器,这可能很重要)
    • 在具有较新 GLIBC 的 docker 容器中运行

    【讨论】:

    • 我已经尝试更新我的 glibc。我认为它现在已更新。我有 2.27 版(使用 ldd --version)。但是,当我尝试构建我的包时,我仍然会遇到这个奇怪的错误。有什么想法或建议吗?谢谢!
    • @math_seeker 请使用新信息更新您的问题(或提出新问题)。如果您使用 GLIBC-2.27,exact 应该不会发生相同的错误。
    猜你喜欢
    • 1970-01-01
    • 2015-07-20
    • 2017-06-14
    • 2019-01-05
    • 2018-06-19
    • 2012-11-23
    • 2013-03-25
    • 2017-12-02
    • 1970-01-01
    相关资源
    最近更新 更多