バイナリを実行しようとしていますこのクロスコンパイラツールチェーン(.tar.bz2 ファイルへのリンク)。
バイナリを実行しようとすると、ファイル$PATH
が存在し実行可能であるにもかかわらず、 にファイルが存在しないという驚くべきメッセージが表示されます。
$ cross-compiler-armv4l/bin/armv4l-gcc
can't find cross-compiler-armv4l/bin/armv4l-gcc in $PATH
$ ls -l cross-compiler-armv4l/bin/armv4l-gcc
-rwxr-xr-x 1 rzg rzg 31964 Apr 5 2009 cross-compiler-armv4l/bin/armv4l-gcc
私はx86_64でUbuntu 18.04を実行しており、実行しているファイルのアーキテクチャは32ビットなので、この答えi386 libc をインストールしようとしましたが、それだけでは不十分でした。
$ file cross-compiler-armv4l/bin/armv4l-gcc
cross-compiler-armv4l/bin/armv4l-gcc: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), statically linked, stripped
を実行するとstrace
、stat
ファイルの が失敗します。
access("/home/user/busybox-1.32.0/cross-compiler-armv4l/bin/armv4l-gcc", X_OK) = 0
stat("/home/user/busybox-1.32.0/cross-compiler-armv4l/bin/armv4l-gcc", 0xffe4d108) = -1 EOVERFLOW (Value too large for defined data type)