バイナリファイルを実行できません

バイナリファイルを実行できません

Linux ubunto(バージョン11.04)にJasperReports Server 4.1をインストールしようとすると、次のメッセージが表示されます。

-bash: ./jasperreports-server-cp-4.1.0-linux-x64-installer.run: cannot execute binary file

Jasperをインストールするにはどうすればいいですか?

以前は、問題なくLinux Red HatにJasperReports Server 4.0をインストールしていました。特にLinux Ubuntuに関連していますか?


以下はunameコマンドの出力ですls -al

uname -a

Linux 64-cncrclinrpts 2.6.38-11-generic-pae #48-Ubuntu SMP Fri Jul 29 20:51:21 UTC 2011 i686 i686 i386 GNU/Linux

ls -al jasperreports-server-cp-4.1.0-linux-x64-installer.run

-rwxr-xr-x 1 root root 329844862 2011-09-09 09:11 jasperreports-server-cp-4.1.0-linux-x64-installer.run

答え1

32ビットシステムで64ビットバイナリを実行しようとしています。

あなたのuname -a表示は、32ビットカーネルを実行しており、実行したいファイル名が「x64」という手がかりを提供していることです。このファイルを実行すると、ストーリーfile全体が提供されます。

欲しいかもしれませんjasperreports-server-cp-4.1.0-linux-x86-installer.run

または、64ビットLinuxシステムでインストーラを実行できます。

答え2

これは通訳者が存在しないことを意味するかもしれません。私のシステムでは、bash追加する必要があるいくつかの追加の魔法を含む他の(より便利な)エラーメッセージが表示されていますが、

$ cat > test.sh <<EOF
#!/bin/nonexistent/sh
echo "Hi."
EOF
$ chmod u+x test.sh
$ ./test.sh
-bash: ./test.sh: /bin/nonexistent/sh: bad interpreter: No such file or directory

この記事についてもっと知っていれば役に立ちます。何を言うかfile jasperreports-server-cp-4.1.0-linux-x64-installer.run。ダイナミックエルフバイナリだと言ったらldd jasperreports-server-cp-4.1.0-linux-x64-installer.runどういう意味ですか?

答え3

chmod +x jasperreports-server-cp-4.1.0-linux-x64-installer.run

その後、再実行してもまだ機能しない場合は、ファイルのls -alとは何ですか?

答え4

strace ./jasperreports-server-cp-4.1.0-linux-x64-installer.run走り、何が起こっているのか見ることができます。

関連情報