在ubnutu如何解决“No gnu/libc-version.h found, please install glibc-dev[el]/glibc-static”这个问题

本文介绍了在Ubuntu系统中遇到glibc库缺失时的正确安装方法。指出在Ubuntu中glibc的开发包名称并非glibc-devel而是libc6-dev,并提供了解决步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

首先,你得明确出现上述是你的系统里缺少glibc库。

但是,你在ubnutu下安装glibc时,你会发现找不到安装包。
在这里插入图片描述

这个坑爹的问题一直困扰我很久!

原因是:

Ubuntu下面的glibc的开发包不叫glibc-devel?devel后缀是rpm系的习惯,deb系用的是dev,而且Ubuntu下面的glibc不叫这名字,而叫libc才是吧。

在这里插入图片描述
再输入指令:

按tab键,发现可以安装。

安装完毕,问题解决!

glibc 和 libc 都是 Linux 下的 C 函数库。
libc 是 Linux 下的 ANSI C 函数库;glibc 是 Linux 下的 GUN C 函数库。

ubuntu20.04安装(webots) wwc@wwc:~$ webots /usr/local/webots/bin/webots-bin: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.34' not found (required by /usr/local/webots/bin/webots-bin) /usr/local/webots/bin/webots-bin: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.33' not found (required by /usr/local/webots/lib/webots/libopenal.so.1) /usr/local/webots/bin/webots-bin: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.34' not found (required by /usr/local/webots/lib/webots/libopenal.so.1) /usr/local/webots/bin/webots-bin: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.33' not found (required by /snap/webots/27/usr/lib/x86_64-linux-gnu/libfreetype.so.6) /usr/local/webots/bin/webots-bin: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.34' not found (required by /usr/local/webots/lib/webots/libode.so) /usr/local/webots/bin/webots-bin: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.33' not found (required by /snap/webots/27/usr/lib/x86_64-linux-gnu/libstdc++.so.6) /usr/local/webots/bin/webots-bin: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.32' not found (required by /snap/webots/27/usr/lib/x86_64-linux-gnu/libstdc++.so.6) /usr/local/webots/bin/webots-bin: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.34' not found (required by /snap/webots/27/usr/lib/x86_64-linux-gnu/libstdc++.so.6) /usr/local/webots/bin/webots-bin: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.33' not found (required by /snap/webots/27/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0) /usr/local/webots/bin/webots-bin: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.32' not found (required by /snap/webots/27/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0) /usr/local/webots/bin/webots-bin: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.34' not found (required by /snap/webots/27/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0) /usr/local/webots/bin/webots-bin: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.33' not found (required by /snap/webots/27/usr/lib/x86_64-linux-gnu/libEGL.so.1) /usr/local/webots/bin/webots-bin: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.34' not found (required by /snap/webots/27/usr/lib/x86_64-linux-gnu/libEGL.so.1) /usr/local/webots/bin/webots-bin: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.33' not found (required by /snap/webots/27/usr/lib/x86_64-linux-gnu/libfontconfig.so.1) /usr/local/webots/bin/webots-bin: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.33' not found (required by /snap/webots/27/usr/lib/x86_64-linux-gnu/libX11.so.6) /usr/local/webots/bin/webots-bin: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.34' not found (required by /snap/webots/27/usr/lib/x86_64-linux-gnu/libX11.so.6) /usr/local/webots/bin/webots-bin: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.33' not found (required by /snap/webots/27/usr/lib/x86_64-linux-gnu/libxkbcommon.so.0) /usr/local/webots/bin/webots-bin: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.33' not found (required by /snap/webots/27/usr/lib/x86_64-linux-gnu/libsndio.so.7) /usr/local/webots/bin/webots-bin: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.34' not found (required by /snap/webots/27/usr/lib/x86_64-linux-gnu/libGLdispatch.so.0) /usr/local/webots/bin/webots-bin: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.34' not found (required by /snap/webots/27/usr/lib/x86_64-linux-gnu/libGLX.so.0) /usr/local/webots/bin/webots-bin: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.33' not found (required by /snap/webots/27/usr/lib/x86_64-linux-gnu/libasound.so.2) /usr/local/webots/bin/webots-bin: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.34' not found (required by /snap/webots/27/usr/lib/x86_64-linux-gnu/libasound.so.2) /usr/local/webots/bin/webots-bin: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.33' not found (required by /snap/webots/27/usr/lib/x86_64-linux-gnu/libXau.so.6) /usr/local/webots/bin/webots-bin: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.33' not found (required by /snap/webots/27/usr/lib/x86_64-linux-gnu/libsystemd.so.0) /usr/local/webots/bin/webots-bin: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.32' not found (required by /snap/webots/27/usr/lib/x86_64-linux-gnu/libsystemd.so.0) /usr/local/webots/bin/webots-bin: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.34' not found (required by /snap/webots/27/usr/lib/x86_64-linux-gnu/libsystemd.so.0) /usr/local/webots/bin/webots-bin: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.33' not found (required by /snap/webots/27/usr/lib/x86_64-linux-gnu/libgcrypt.so.20) webots
05-10
<think>好的,我现在需要解决用户在Ubuntu 20.04上安装Webots时遇到的GLIBC版本缺失的问题。首先,我得理解这个问题。用户提到错误是关于GLIBC_2.34或GLIBC_2.33缺失,这说明Webots需要更高版本的GLIBC,而Ubuntu 20.04自带的版本可能不够。 首先,我应该回忆一下Ubuntu 20.04的默认GLIBC版本是多少。Ubuntu 20.04使用的是GLIBC 2.31,而用户需要的是2.33或2.34,所以确实版本不够。接下来,常见的解决方法可能包括手动更新GLIBC,但这通常有风险,容易导致系统不稳定。或者,用户可以使用其他方法绕过这个问题,比如使用Docker容器,或者寻找Webots的旧版本,这些版本可能对GLIBC的要求较低。 另一个可能性是用户是否添加了正确的软件源。也许官方提供的Webots包需要特定版本的依赖库,或者有PPA可以添加来获取兼容的版本。此外,可能需要安装一些额外的库或依赖项来满足要求。 然后,我需要考虑用户的安全和系统稳定性。直接升级GLIBC可能会有问题,因为它是系统核心组件,很多程序依赖它。如果用户强制升级,可能会导致其他应用崩溃。所以可能需要建议替代方案,而不是直接修改系统GLIBC。 然后,我应该检查是否有官方文档或社区资源提到这个问题。可能Webots的官方网站或论坛有其他用户遇到同样的问题,并提供了解决方案。例如,官方可能建议使用snap包或者AppImage,这些可能包含所需的依赖库。 另外,使用容器技术如Docker可能是一个好的解决方案,因为它可以在隔离的环境中运行Webots,而不影响宿主机的GLIBC版本。用户可以通过Docker镜像来安装所需的环境,这可能更安全可靠。 还有一种可能是使用第三方工具,比如patchelf,来修改Webots的可执行文件,使其指向较旧版本的GLIBC,但这种方法需要一定的技术知识,并且不一定总是有效,可能存在兼容性问题。 最后,我需要将这些思路整理成步骤,建议用户首先尝试安全的方法,如使用Docker或官方推荐的安装方式,再考虑其他方法,并警告潜在风险。</think>在Ubuntu 20.04上解决Webots因缺少GLIBC_2.33/2.34导致的错误,可通过以下步骤实现: ### 解决方案 1. **验证当前GLIBC版本** ```bash ldd --version | grep ldd ``` Ubuntu 20.04默认GLIBC版本为2.31,需升级或绕过依赖[^1] 2. **推荐安全方案:使用Docker容器** ```bash # 拉取包含新GLIBC的基础镜像 docker pull ubuntu:22.04 # 在容器内安装Webots docker run -it --env="DISPLAY" --volume="/tmp/.X11-unix:/tmp/.X11-unix:rw" ubuntu:22.04 ``` 3. **替代方案:从源码构建Webots** ```bash git clone https://github.com/cyberbotics/webots.git mkdir -p webots/build && cd webots/build cmake .. -DCMAKE_PREFIX_PATH=/usr/local/glibc-2.34 make -j$(nproc) ``` 4. **高风险方案:手动升级GLIBC(需谨慎)** ```bash wget http://ftp.gnu.org/gnu/glibc/glibc-2.34.tar.gz tar -xzf glibc-2.34.tar.gz mkdir glibc-2.34/build && cd glibc-2.34/build ../configure --prefix=/usr make -j$(nproc) && sudo make install ``` > 注意:此操作可能导致系统不稳定[^2] ### 验证安装 ```bash # 检查GLIBC版本 strings /lib/x86_64-linux-gnu/libc.so.6 | grep GLIBC # 启动Webots webots ```
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值