プログラムを実行すると、「該当するファイルやフォルダがありません」というエラーが発生します。

プログラムを実行すると、「該当するファイルやフォルダがありません」というエラーが発生します。

単純な実行可能ファイルを実行できません。

結果ll

user@user-SATELLITE-C855-169:~/Bureau/Workspace/buildroot/buildroot/output/host/opt/ext-toolchain/bin$ ll
total 16948
drwxr-xr-x 2 user user    4096 avril 18  2014 ./
drwxr-xr-x 8 user user    4096 janv. 18 21:01 ../
-rwxr-xr-x 1 user user  565152 avril 18  2014 armv5-ctng-linux-gnueabi-addr2line*
-rwxr-xr-x 2 user user  589764 avril 18  2014 armv5-ctng-linux-gnueabi-ar*
-rwxr-xr-x 2 user user 1035780 avril 18  2014 armv5-ctng-linux-gnueabi-as*
-rwxr-xr-x 2 user user  624784 avril 18  2014 armv5-ctng-linux-gnueabi-c++*
lrwxrwxrwx 1 user user      28 avril 18  2014 armv5-ctng-linux-gnueabi-cc -> armv5-ctng-linux-gnueabi-gcc*
-rwxr-xr-x 1 user user  563424 avril 18  2014 armv5-ctng-linux-gnueabi-c++filt*

これが私が実行する方法ですarmv5-ctng-linux-gnueabi-ar

user@user-SATELLITE-C855-169:~/Bureau/Workspace/buildroot/buildroot/output/host/opt/ext-toolchain/bin$ ./armv5-ctng-linux-gnueabi-ar

これは

No such file or folder

各ファイルの末尾にある*はどういう意味ですか?特別なものはありますか?

編集する

@Arkadiusz Drabczykが提案したManip:

user@user-SATELLITE-C855-169:~/Bureau/Workspace/buildroot/buildroot/output/host/opt/ext-toolchain/bin$ readelf -a armv5-ctng-linux-gnueabi-ar | grep "Requesting program interpreter:"
  [Requesting program interpreter: /lib/ld-linux.so.2]

@steeldriverがサポートするManip:

user@user-SATELLITE-C855-169:~/Bureau/Workspace/buildroot/buildroot/output/host/opt/ext-toolchain/bin$ arch
x86_64

私は64ビットオペレーティングシステムを使用しています。

user@user-SATELLITE-C855-169:~/Bureau/Workspace/buildroot/buildroot/output/host/opt/ext-toolchain/bin$ file armv5-ctng-linux-gnueabi-ar
armv5-ctng-linux-gnueabi-ar: ELF 32-bit LSB  executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.18, BuildID[sha1]=8dac66869f5be2dbb2bee517e289901c4be80db5, stripped

バイナリは32ビットアーキテクチャ用のようですELF 32-bit

ベストアンサー1

助けてください。各ファイルの末尾にある*はどういう意味ですか?特別なものはありますか?

エイリアスには、ファイル名の後に文字を追加するオプションをll含めることができます。-Fからman ls

   -F, --classify
          append indicator (one of */=>@|) to entries

多くのシェルでbashコマンドを使用して、エイリアスがどのように拡張されるかを確認できますtype。たとえば、私のシステムでは次のようになります。

$ type ll ll is aliased to 'ls -Alhtr --color'

これで、エラーを発生させるファイルはバイナリファイルなので、間違ったローダーが原因である可能性があると言います。リクエストしたローダーを試して、そのローダーがあることを確認してください。

$ readelf -a armv5-ctng-linux-gnueabi-ar | grep "Requesting program interpreter:"

バイナリがx32システムで実行されるように指定されている場合は、x32インタプリタを要求します/lib。それ以外の場合は起動しません。したがって、現在使用しているシステムに応じて、32ビット互換性レイヤをシステムに追加する方法を見つける必要があります。たとえば、Ubuntu簡単です。以下に説明するapt-get installように、1人だけがこれを行います。Slackwarehttp://docs.slackware.com/slackware:multilib

おすすめ記事