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