Ubuntu 9.10サーバーがあります。実行ファイルを入れようとしていますが、最新のflashplayer(デバッガバージョン)が出てきますね。
どういうわけかファイルが存在し、実行可能に見えますが、ファイルを実行すると、コンソールにファイルが存在しないと表示されます。
$ pwd
/home/rodrigo/t_fplayer
$ ls -lh
total 12M
-rwxr-xr-x 1 rodrigo rodrigo 12M 2011-07-09 11:35 flashplayerdebugger
$ ./flashplayerdebugger
-bash: ./flashplayerdebugger: No such file or directory
$ ldd flashplayerdebugger
not a dynamic executable
私のローカルコンピュータ(ssh経由でコピー)で同じ実行可能ファイルを使用すると正常に動作します。
何が起こったのか知っていますか?この行動を何で説明できますか?この問題を解決する方法を知っていますか?
答え1
この問題は、64ビット<-> 32ビット互換性の問題のようです。
~/t_fplayer$ file flashplayerdebugger
flashplayerdebugger: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), stripped
解決策はia32-libsをインストールすることです。
答え2
私の考えでは、/home/rodrigo/t_fplayer/flashplayerdebuggerの形式が正しくないようです。実際、ldd出力にも同じ内容が表示されます。
実行:file /home/rodrigo/t_fplayer/flashplayerdebugger
ファイルコマンドがその形式について知っている内容を確認します。
これはおそらくASCIIでエンコードされたファイルを解凍してインストールする素晴らしい「シェルスクリプト」の1つです。独自のソフトウェアベンダーはこの種の愚かさを愛しています。