Не может выполнить ELF, 32-разрядный на x86_x64 сервере даже после добавления i386

Я пытаюсь запустить приложение на 32 бита на сервере на 64 бита. Вот шаги, которые я выполнил, чтобы заставить это работать:

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
0
задан 3 August 2016 в 22:39

1 ответ

Вы пропускаете загрузчик на 32 бита, который заставляет ldd ложно требовать "не динамический исполняемый файл", вместо корректной "неправильной архитектуры" ошибка. 32 бита ld находятся в пакете libc6-i386. Я зарегистрирую ошибку на отчете о ldd, никогда не находил время для файла это.

0
ответ дан 28 September 2019 в 17:56

Другие вопросы по тегам:

Похожие вопросы: