linux - 错误/lib/x86_64-linux-gnu/libc.so.6 : version `GLIBC_2.34' not found

标签 linux ubuntu windows-subsystem-for-linux elf glibc

首先,我用谷歌搜索了很多,但没有找到与我的案例相关的内容,我有一个 ELF 可执行文件,我试图在我的 Ubuntu WSL 中运行它,我更改了权限( chmod +x file ),当我运行时它,这个错误出现了

/lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.34' not found (required by myFile)
当我使用 ld 命令时,这显示给我
myFile(.eh_frame); no .eh_frame_hdr table will be created
当我尝试升级 GLIBC 时,它说它是最新的
Reading package lists... Done
Building dependency tree
Reading state information... Done
libc6 is already the newest version (2.31-0ubuntu9.7).
libc6 set to manually installed.
0 upgraded, 0 newly installed, 0 to remove and 215 not upgraded.
然后我尝试从 https://packages.ubuntu.com/impish/amd64/libc6/download 手动安装 deb 文件但这对我来说是:
dpkg: regarding libc6_2.34-0ubuntu3.2_amd64.deb containing libc6:amd64:
 libc6:amd64 breaks fakeroot (<< 1.25.3-1.1ubuntu2~)
  fakeroot (version 1.24-1) is present and installed.

dpkg: error processing archive libc6_2.34-0ubuntu3.2_amd64.deb (--install):
 installing libc6:amd64 would break fakeroot, and
 deconfiguration is not permitted (--auto-deconfigure might help)
Errors were encountered while processing:
 libc6_2.34-0ubuntu3.2_amd64.deb

最佳答案

免责声明:我不是 linux 专业人士,只是找到了解决我自己的 glibc 问题的方法,未找到错误消息:
也许你不能使用二进制文件,因为它是用 gcc-11 编译的,你的 gcc 版本的 linux 发行版和版本只有 gcc-9,因此只提供 glibc_2.31(我猜)。
您可以尝试自己从源代码编译程序。我必须使用新的 stockfish 版本 15 来执行此操作,它还使用更新的 glibc_2.32/2.33/2.34,而我的 linux-mint 没有提供。
但是从源代码编译就像一个魅力。也许这是您的选择。

关于linux - 错误/lib/x86_64-linux-gnu/libc.so.6 : version `GLIBC_2.34' not found,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71940179/

相关文章:

linux - 在用户空间模拟文件描述符

linux - 如何linux命令找到多种类型

linux - 无法在 ubuntu 18.04 中为各种串行传感器读取 USB 到串行输入

ubuntu - 如何等待多个远程进程(通过 ssh)完成?

tomcat - 在不同的ubuntu系统中部署一个用netbeans制作的servlet/jsp项目

Linux: journalctl

python - 在 Crontab 中连续运行 python 脚本

适用于 Linux 的 Windows 子系统上的 Laravel Sail (wsl)

java - 我需要进行哪些更改/设置才能通过 WSL(windows-subsystem-for-linux)在 docker 中运行 java?

windows-subsystem-for-linux - 如何在 WSL2 上的 Ubuntu 20.04 中提高打开文件的限制?