相关疑难解决方法(0)

在 64 位系统上运行 32 位二进制文​​件时收到“未找到”消息

我目前在 debian (wheezy/amd64) 上有一个奇怪的问题。

我创建了一个 chroot 来安装服务器(抱歉,我无法提供更多详细信息)。让我们称其为 path /chr_path/。为方便起见,我使用 debootstrap(也是 wheezy/amd64)初始化了这个 chroot。

在 chroot 中一切似乎都运行良好,但是当我启动服务器的安装程序脚本时,我得到了 :( zsh: Not found /some_path/perl由于某些原因,安装程序包含一个 perl 二进制文件)

当然,我检查了/some_path/位置并找到了“perl”二进制文件。file在 chroot 环境中返回:

/some_path/perl ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.2.5, not stripped
Run Code Online (Sandbox Code Playgroud)

该文件存在,似乎没问题,具有正确的权限。我可以在它上面使用file, lsvim但是一旦我尝试执行它 -./perl例如 - 我得到 : zsh: Not found ./perl

这种情况对我来说是可以理解的。而且 :

  • 我可以在 chroot 中执行其他基本二进制文件 (/bin/ls,...) 而不会出错
  • 我对项目附带的其他二进制文件也有同样的问题
  • 当我尝试从主根 ( /chr_path/some_path/perl …

executable linker dynamic-linking ld

77
推荐指数
2
解决办法
6万
查看次数

标签 统计

dynamic-linking ×1

executable ×1

ld ×1

linker ×1