即使添加 i386 后也无法在 x86_x64 服务器上运行 ELF 32 位

即使添加 i386 后也无法在 x86_x64 服务器上运行 ELF 32 位

我正在尝试在 64 位服务器上运行 32 位应用程序。以下是我为实现该目标所遵循的步骤:

sudo dpkg --add-architecture i386

sudo apt-get update
sudo apt-get install libc6:i386 libncurses5:i386 libstdc++6:i386

即使在此之后我仍得到以下信息:

./steamcmd.sh: line 29: /home/steam/steamcmd/linux32/steamcmd: cannot execute binary file: Exec format error

一些信息:

uname -i 

给我吗:

x86_64

文件 linux32/steamcmd 给我:

linux32/steamcmd: ELF 32-bit LSB  executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.34, BuildID[sha1]=17188c02dec11be2af104afd625f39a2c89b54c7, not stripped

答案1

您缺少 32 位加载器,这会导致 ldd 错误地声明“不是动态可执行文件”,而不是正确的“错误架构”。32 位 ld 位于软件包 libc6-i386 中。我会在 ldd 报告中记录这个错误,但一直没来得及记录。

相关内容