Bash:./filename:バイナリファイルを実行できません


37

ubuntu 11.10 32ビットでfortranコンパイルされたコードを実行できませんでした。

エラーメッセージは

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 

6
file filename結果を入力して報告してください。

ファイル名はum.exe、結果はbash:./umはバイナリファイルを実行できません
-user87654

2
それはネイティブLinuxプログラムのようには見えません。ワインを使用してみてください。
レーケンシュタイン

この実行可能ファイルは、Fortranコードのセットをコンパイルするmakeファイルを使用してコンパイルされます。このexeは
fedora

1
入力してくださいfile um.exeまたはfile um(バイナリファイルの名前である方)。ただし、生成されたバイナリは1つの理由または他のWindowsバイナリである可能性があります。また、プログラムが公開されている場合は、ソースへのリンクを投稿できます。または、ここにメークファイルを投稿してください。

回答:


38

file umコメントに投稿した出力からわかるように、バイナリは64ビットバイナリです。

32ビットシステムは64ビットバイナリを実行できません。逆にしか機能しません。


3
これは、この問題で私が見た最も一般的な理由fileです。
ミケバブコック

だからこれに対する解決策はありませんか?
JohnMerlino

@JohnMerlinoハードウェアに正しい命令セットとそれを有効にするOS(AMD64ハードウェアおよびAMD64プログラムのOS)を提供します。または、シミュレート/エミュレート/仮想化(Virtual Box / JVM / ...)するか、命令セットのバージョンを取得します。他の命令セットのソフトウェアをネイティブプログラムとして実行することはできません。
-12431234123412341234123

3

ファイルを実行可能にしてみてください

chmod +x um.exe

その後、実行してみてください

./um.exe

ただし、これがWindows用にコンパイルされたexeファイルである場合は、おそらくWineをインストールする必要があります。


3

一致しないビットに関する部分を除いてこの問題を抱えている人々のための別の解決策は、コマンド「bash」なしでファイルを実行することです。

使用してchmod +x 'path to the file'から'the path to the file'ターミナルで実行するだけです。これが問題の解決方法です。


0

このエラーの別の考えられる原因:Linuxバイナリ実行可能ファイルをMacで実行しようとした、またはその逆。

たとえばtrue、MacからUbuntuボックスでバイナリを実行して、次のようにSCPを実行しました。

$ ./mactrue 
-bash: ./mactrue: cannot execute binary file: Exec format error

バイナリをダウンロードし、このエラーで実行に失敗した場合、間違ったOSのバージョンをダウンロードしたかどうかを確認してください。


0

私にとっては、バイナリをMacのアプリケーションにコピーしてから、Pathにコピーして、Macでそれを台無しにしました。Applicationsフォルダーがバイナリを実際のバイナリではなくエイリアスに変えたと確信しています。

-bash: /usr/local/bin/terraform: cannot execute binary file
mike$ file /usr/local/bin/terraform 
/usr/local/bin/terraform: MacOS Alias file

私はダウンロードからバイナリを再び解凍し、mvそれをパスに編集しただけでうまくいきました。

mike$ file /usr/local/bin/terraform
/usr/local/bin/terraform: Mach-O 64-bit executable x86_64
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.