2

Запуск Debian/Crunchbang, и я получаю странную ошибку, когда пытаюсь запустить сценарии. Например

exec: 392: ./firefox-bin: not found

Я никогда не сталкивался с этим раньше, и я не мог найти никакой хорошей информации по этому вопросу. Есть ли кто-нибудь, кто хочет объяснить, что это значит и почему это происходит?

Файл, который явно "не найден", существует по этому пути и принадлежит мне и исполняемому файлу. Я также пытался выполнить его из разных мест, но без удачи.

3 ответа3

5

Если вы уверены, что рассматриваемый файл существует, то это, вероятно, означает, что «интерпретатор» для файла не найден. Поскольку firefox-bin должен быть исполняемым файлом ELF, интерпретатор для него, вероятно, будет что-то вроде /lib/ld-linux.so.2 и именно этот файл, вероятно, отсутствует.

Попробуйте запустить readelf -l ./firefox-bin чтобы узнать, что такое интерпретатор - найдите строку «[Запрос интерпретатора программы: /lib/ld-linux.so.2]» в выходных данных.

2

Как сказал TomH, это вероятно потому, что файл firefox-bin имеет неверный двоичный формат (сообщение "not found" вводит в заблуждение). Вы, вероятно, загрузили 32-разрядную версию Firefox (страница загрузки Firefox предлагает только 32-разрядную версию) и попытались запустить ее в 64-разрядной системе, в которой нет обратно совместимых библиотек. Если это так, есть два решения:

0

Из вашего примера это выглядит так, как будто скрипт говорит "./firefox-bin". то есть, он хочет, чтобы исполняемый файл firefox находился в том же каталоге, что и скрипт, что не гарантируется. Что, если вы замените это полным путем к файлу?

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .