バイナリの実行中にエラーが発生したため、見つかりませんでした。他のコマンドを使用して表示できます。
>> ls -alh
total 1.3M
drwxr-xr-x 3 igor 4.0K Sep 28 15:53 .
drwxr-xr-x 3 igor 4.0K Sep 28 15:53 ..
drwxr-xr-x 2 igor 4.0K Jun 4 09:24 autocomplete
-rw-r--r-- 1 igor 13K Jun 4 09:24 CHANGELOG.md
-rwxr-xr-x 1 igor 1.2M Jun 4 09:24 hyperfine
-rw-r--r-- 1 igor 9.8K Jun 4 09:24 hyperfine.1
-rw-r--r-- 1 igor 12K Jun 4 09:24 LICENSE-APACHE
-rw-r--r-- 1 igor 1.1K Jun 4 09:24 LICENSE-MIT
-rw-r--r-- 1 igor 9.8K Jun 4 09:24 README.md
ただし、コマンドを実行すると、次のエラーが発生します。
>> ./hyperfine --version
zsh: no such file or directory: ./hyperfine
どちらのコマンドも同じディレクトリで実行されます。私はRHEL8を使用しており、bash / zshで試しましたが、成功しませんでした。cat
とvi
。バイナリを見つけて開くようですが、実行は失敗します。
ここに何が間違っているのか教えてくれる人はいますか?私は何を見逃していますか?
非常にありがとう
答え1
GNU / Linux x86_64システムからダウンロードしたように、間違ったアーキテクチャのハイパーパインをダウンロードしたようです。https://github.com/sharkdp/hyperfine/releases/download/v1.17.0/hyperfine-v1.17.0-i686-unknown-linux-gnu.tar.gz変えるhttps://github.com/sharkdp/hyperfine/releases/download/v1.17.0/hyperfine-v1.17.0-x86_64-unknown-linux-gnu.tar.gzあるいはその逆も。
それから:
$ file hyperfine
hyperfine: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux.so.2, for GNU/Linux 2.6.32, BuildID[sha1]=07cbf2d0f0cec091ae460dc287bbacdc9f158849, stripped
$ objdump -s -j .interp hyperfine
hyperfine: file format elf32-i386
Contents of section .interp:
0174 2f6c6962 2f6c642d 6c696e75 782e736f /lib/ld-linux.so
0184 2e3200 .2.
x86_64システムでi686実行可能ファイルを実行できますが、ここでは32ビット動的リンカー(およびソフトウェアがリンクされている32ビットライブラリである可能性が高い)がありません。
execve()
zsh から返され、変換された ENOENT エラーは、no such file or directory
システムで見つからなかったエラーに関連しています。/lib/ld-linux.so.2
32ビット版のlibcをインストールできますが、正しいアーキテクチャに合ったソフトウェアを購入する方が良いでしょう。