Данный файл или каталог отсутствует? Но файл существует!

Я загрузил игру (Shank), но файл bin не запускается. Ошибка, которая появляется при попытке запуска исполняемого файла:

bash: ./shank-linux-120720110-1-bin: No such file or directory
151
задан 8 May 2012 в 17:56

2 ответа

64-битные системы Ubuntu Multiarch

Выполните этот ответ только в том случае, если на выходе file file-name отображается

file-name: ELF 32-bit LSB  executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.8, not stripped

Для запуска 32-битного исполняемого файла в 64-битном многоэкранном режиме Ubuntu, вам нужно добавить архитектуру i386, а также установить libc6:i386, libncurses5:i386, libstdc++6:i386 эти три пакета библиотеки.

sudo dpkg --add-architecture i386
sudo apt-get update
sudo apt-get install libc6:i386 libncurses5:i386 libstdc++6:i386
./file-name
38
ответ дан 31 July 2018 в 10:25

Чтобы расширить ответ на @Gilles, существует по крайней мере три сценария, приводящих к этой ошибке:

  1. Файл не существует.
  2. Файл существует, но есть
  3. Файл существует (например, команда file работает), что вызывает недоумение сообщения об ошибке. Это может означать, что с загрузчиком существует проблема.

Категории проблем загрузчика:

  1. Загрузочный исполняемый файл не существует. Вы можете проверить это с помощью команды file и посмотреть, существует ли загрузчик. Например.
    file lmgrd
    lmgrd: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-lsb-x86-64.so.3, for GNU/Linux 2.6.18, stripped
    
    Обратите внимание на interpreter /lib64/ld-lsb-x86-64.so.3; если этот файл не существует, вам необходимо его установить. Для этого конкретного загрузчика 16.04 ответ оказался sudo apt-get install lsb .
  2. Проблемы с загрузчиком скрипта (см. этот ответ ).
  3. Отсутствие разделяемых библиотек - используйте ldd <file-name> для проверки наличия каких-либо «не найденных» библиотек. Дополнительную информацию см. В в этом ответе .

Не удалось загрузить загрузчик из-за несоответствия 32/64 бит или по какой-либо другой причине. Могут быть и другие ошибки загрузчика, о которых я не знаю.

1
ответ дан 15 August 2018 в 19:27

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

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