重複の可能性:
Optwareがインストールされているバイナリに、「該当するファイルやディレクトリはありません」と表示されます。
現在、組み込みデバイスで一部のハードウェアが動作するよう努めています。ドライバ部分は、ハードウェアが正常に動作するために起動する必要がある実行可能ファイルです。しかし、実行しようとすると
bash: no such file or directory
確認してみるとファイルが確かに存在し実行可能です。オンラインで調べてみると、これはファイルがコンパイルされたアーキテクチャと私が使用するアーキテクチャの間の問題にも関連している可能性があることを発見しました。しかし、何の問題も見つかりません。私が実行したいくつかの診断は次のとおりです。
root@desktop:~# /usr/local/eGTouchARMwithX/eGTouchD
bash: /usr/local/eGTouchARMwithX/eGTouchD: No such file or directory
root@desktop:~# ls -l /usr/local/eGTouchARMwithX/eGTouchD
-rwxr-xr-x 1 root root 198870 Jul 19 14:11 /usr/local/eGTouchARMwithX/eGTouchD
root@desktop:~# file /usr/local/eGTouchARMwithX/eGTouchD
/usr/local/eGTouchARMwithX/eGTouchD: ELF 32-bit LSB executable, ARM, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.16, not stripped
root@desktop:~# uname -a
Linux desktop 3.2.0-1415-omap4 #20-Ubuntu SMP PREEMPT Mon Jun 18 19:03:59 UTC 2012 armv7l armv7l armv7l GNU/Linux
root@desktop:~# file /bin/bash
/bin/bash: ELF 32-bit LSB executable, ARM, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.31, BuildID[sha1]=0x1266f80916e3e59eb001459610510f5d05630297, stripped
root@desktop:~# ldd /usr/local/eGTouchARMwithX/eGTouchD
not a dynamic executable
唯一のヒントは、file
このファイルを動的にリンクされた実行可能ファイルとして報告し、動的ldd
実行可能ファイルではないと報告することです。
このファイルにどのような問題があるのか、どのように解決するのか知っていますか?
ベストアンサー1
アーキテクチャは同じであり、このメッセージは通常、バイナリが外部アーキテクチャ用であることを示しますが、このメッセージが実際に意味するのは互換性のないCランタイムライブラリにリンクされていることです。
バラより最初からLinuxへのこのメッセージウェブサイト。彼の場合、glibcをアップグレードすると、このエラーは彼のコマンドの一部(すべてではない)で発生しました。
バイナリと一致する正しいCランタイムライブラリをインストールするか、Cランタイムライブラリと一致するバイナリをインポートする必要があります。