我正在尝试在 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 报告中记录这个错误,但一直没来得及记录。