実行可能ファイルがありますが、実行すると、次のメッセージが表示されます。「該当するファイルやディレクトリはありません。」
$ chmod a+x bin
$ file bin
bin: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib/ld64.so.1, not stripped
$ ./bin
bash: ./bin: No such file or directory
実行可能ファイルは、オペレーティングシステムと同様に、実際にはELF 64ビットです。
答え1
-dynamic-linker
通話にオプションを含めることを忘れてしまったからです。ld
-dynamic-linker /lib/x86_64-linux-gnu/ld-linux-x86-64.so.2
そう呼んで、
ld -m elf_x86_64 -dynamic-linker /lib/x86_64-linux-gnu/ld-linux-x86-64.so.2 -o bin
正しく機能するようにしてください。
32ビット/64ビットの不一致に関連する同様の問題の詳細については、以下を参照してください。この問題