私は最近、ARMv8サーバーでx86_64バイナリを実行するために動的バイナリコンバータをインストールしました。 DBTツールを削除した後、非常に混乱しているいくつかの奇妙なエラーメッセージが見つかりました。
いくつかの背景情報、DBTツールを使用してbash(x86_64用にコンパイル済み)を入力し、x86_64システムと同様にテストを実行できます。
テストを完了し、プログラムを削除することを決定した後に問題が発生しました。
時々ARMサーバーで(rpmパッケージを使用する前にDBTをインストールしました)、x86_64静的にリンクされたバイナリを実行すると、helloworld
出力メッセージは次のようになります。
-bash: ./helloworld: No such file or directory
file
しかし、私が使用するときにls
バイナリがあります。
file ./helloworld
./helloworld: ELF 64-bit LSB executable, x86-64, version 1 (GNU/Linux), statically linked, for GNU/Linux 3.2.0, BuildID[sha1]=465941947d84d055552ea628720b94096516c3a7, with debug_info, not stripped
ただし、以前に DBT ツールがインストールされていない他の ARM サーバーで同じバイナリを実行する場合。出力メッセージは次のとおりです。
-bash: ./helloworld: cannot execute binary file: Exec format error
このエラーメッセージは、バイナリファイルの不一致の問題を明確に指摘しているので、私が受け取りたいメッセージです。
私が気にするのは
DBTツールを完全に削除していない可能性がありますが、rpmパッケージで追加したファイルを2回確認した後に残りのファイルが見つかりません。
私は次の投稿を読みました。https://askubuntu.com/questions/133389/no-such-file-or-directory-but-the-file-exists、他の人。彼らも同じ問題を抱えているようですが、その情報は私には役に立ちません。
どんな助けでも大変感謝します。