zsh:ファイルが存在しても、そのファイルやディレクトリエラーはありません。

zsh:ファイルが存在しても、そのファイルやディレクトリエラーはありません。

バイナリの実行中にエラーが発生したため、見つかりませんでした。他のコマンドを使用して表示できます。

>> 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で試しましたが、成功しませんでした。catvi。バイナリを見つけて開くようですが、実行は失敗します。

ここに何が間違っているのか教えてくれる人はいますか?私は何を見逃していますか?

非常にありがとう

ベストアンサー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をインストールできますが、正しいアーキテクチャに合ったソフトウェアを購入する方が良いでしょう。

おすすめ記事