바이너리 파일을 실행할 수 없습니다

바이너리 파일을 실행할 수 없습니다

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 우분투와 관련이 있습니까?


다음은 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달려가서 무슨 일이 일어나고 있는지 볼 수 있습니다 .

관련 정보