Я не смог выполнить скомпилированный код на Фортране в Ubuntu 11.10 32 бит.
Сообщение об ошибке
bash: ./filename : Cannot execute binary file.
Я также установил библиотеки gcc и gfortran.
Может ли кто-нибудь помочь?
$ file um
um: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.9, not stripped
files
executable
binary
fortran
user87654
источник
источник
file filename
и сообщите результаты.file um.exe
илиfile um
(в зависимости от того, какое имя вашего двоичного файла). Тем не менее, вероятно, сгенерированные двоичные файлы по одной причине или другие двоичные файлы Windows. Также, если программа общедоступна, вы можете опубликовать ссылку на источники. Или просто разместите make-файл здесь.Ответы:
Как видно из вывода,
file um
который вы опубликовали в комментарии, ваш двоичный файл является 64-разрядным двоичным файлом.32-битные системы не могут запускать 64-битные двоичные файлы, это работает только наоборот.
источник
file
идентифицирует это довольно быстро.Попробуйте сделать файл исполняемым
Тогда попробуйте запустить его
Но если это исполняемый файл, скомпилированный для Windows, вам, вероятно, нужно установить Wine.
источник
Другое решение для людей, у которых возникла эта проблема, за исключением части о несоответствующих битах, - это запуск файла без команды "bash".
Просто используйте
chmod +x 'path to the file'
и запустите'the path to the file'
в терминале. Так я решил свою проблему.источник
Другой возможный источник этой ошибки: попытка запустить двоичный исполняемый файл Linux на Mac или наоборот.
Например, пытаясь запустить
true
двоичный файл с моего Mac на компьютере с Ubuntu, на который я его отправил:Если вы загрузили двоичный файл и выполнить его не удалось с этой ошибкой, проверьте, загрузили ли вы версию для неправильной ОС.
источник
Для меня, копирование двоичного файла в Приложения на моем Mac, а затем в мой путь испортило его на моем Mac. Я почти уверен, что папка «Приложения» превратила двоичный файл в псевдоним вместо реального двоичного файла.
Я снова разархивировал бинарный файл из моих загрузок и просто
mv
отредактировал его на свой путь, и он работал нормально.источник
Для гуглеров:
file yourbinary
chmod +x yourbinary
./yourbinary
источник