make
내 친구는 나와 두 번째 친구가 이전에 성공적으로 컴파일한 응용 프로그램을 호출하는 데 문제가 있습니다.
arm-arago-linux-gnueabi-
이 파일은 기본적으로 실행 파일(예: arm-arago-linux-gnueabi-gcc
기본적으로 GCC 컴파일러) 이라고 불리는 여러 파일이 포함된 /bin 하위 디렉터리가 있는 "linux-devkit" 패키지를 사용합니다 .
컴파일 프로세스의 일부에는 프로젝트의 Makefile 디렉토리를 호출할 때 make install
"linux-devkit 파일"에 대한 호출이 포함됩니다 . 나 또는 두 번째 친구가 Linux 터미널에서 이 명령을 호출하면 모든 것이 잘 작동합니다. 하지만 내 친구가 이렇게 하면 다음과 같은 오류 메시지가 나타납니다.
arm-arago-linux-gnueabi-gcc: No such command found
(참고: 포르투갈어 우분투에서 번역됨)
~/linux-devkit/bin
수많은 테스트 후에 우리는 흥미로운 차이점을 발견했습니다. 터미널을 통해 폴더 로 이동하여 arm-arago-linux-gnueabi-gcc
두 작업 시스템 중 하나를 호출하면 기본적으로 파일을 찾았지만 명령 사양이 누락되었다고 대답합니다.
arm-arago-linux-gnueabi-gcc: no input files
이는 예상되는 오류 메시지입니다. 하지만 문제의 친구가 동일한 명령을 실행하면 오류 메시지는 다음과 같습니다.
bash: ./arm-arago-linux-gnueabi-gcc: File or directory not found
(참고: 포르투갈어 우분투에서 번역됨)
ls
Nautilus를 호출하고 사용할 때에도 터미널이 이를 사용하여 파일을 찾을 수 없는 것과 같습니다 !
아니면 해당 파일에 대한 사용자 권한이 100% 동일하므로 문제가 없을 것입니다. 무슨 일이 일어났는지 추측하는 사람 있나요?
편집하다:
Volker Siegel로부터 얻은 답변은 다음과 같습니다.
분명 파일은 있을텐데...
도움을 주셔서 감사합니다.
~/re8k/linux-devkit/bin$ export LC_ALL=C
~/re8k/linux-devkit/bin$ command -v arm-arago-linux-gnueabi-gcc
~/re8k/linux-devkit/bin$ ls -ld ~/re8k/linux-devkit ~/re8k/linux-devkit/bin ./arm-arago-linux-gnueabi-gcc
-rwxr-xr-x 1 diogenes diogenes 448843 Jul 1 2011 ./arm-arago-linux-gnueabi-gcc
drwxr-xr-x 12 diogenes diogenes 4096 Apr 15 17:28 /home/diogenes/re8k/linux-devkit
drwxr-xr-x 2 diogenes diogenes 4096 Sep 3 10:59 /home/diogenes/re8k/linux-devkit/bin
~/re8k/linux-devkit/bin$ head -1 ./arm-arago-linux-gnueabi-gcc
ELF��4�g4('$44�4�44�4������������HH�H�DDQ�tdR�td���/l!��ԟX-linux.so.2GNUGNUI������,�_�_b�
diogenes@diogenes-VirtualBox:~/re8k/linux-devkit/bin$ mount | grep "\s$(stat -c%m .)\s"
/dev/sda1 on / type ext4 (rw,errors=remount-ro)
편집 2:
diogenes@diogenes-VirtualBox:~/re8k/linux-devkit/bin$ ./arm-arago-linux-gnueabi-gcc
bash: ./arm-arago-linux-gnueabi-gcc: No such file or directory
보완할 인쇄 화면:
답변1
Volker Siegel이 라이브러리 문제를 제기했을 때, Linux를 사용하는 한 기자도 일부 라이브러리가 없어서 같은 문제에 직면했다고 말했습니다.
Volker가 제안한 대로 이를 터미널에서 실행했지만 sudo apt-get install ia32-libs
시스템에서 해당 라이브러리를 더 이상 사용할 수 없다고 보고하여 다른 라이브러리를 설치해야 한다고 제안했습니다.
lib32z1
lib32ncurses5
lib32bz2-1.0
설치 후 문제가 해결되었습니다.
답변2
이 문서 보기 arm-arago-linux-gnueabi-gcc
:
첫 번째 줄에 인터프리터가 필요한 스크립트 파일인 것 같지만 찾을 수 없습니다. (또는 통역사가 요구하는 파일조차 찾을 수 없습니다...)
인터프리터는 파일의 첫 번째 줄에 정의됩니다.
#!/bin/bash
스크립트를 보는 것만으로는 문제가 명확하지 않은 경우 자세한 내용을 제공해 주세요.
질문에 다음 명령의 출력을 몇 줄만 추가하는 것이 가장 좋습니다.
$ export LC_ALL=C
$ cd ~/linux-devkit/bin
$ command -v arm-arago-linux-gnueabi-gcc
$ ls -ld ~/linux-devkit ~/linux-devkit/bin ./arm-arago-linux-gnueabi-gcc
$ head -1 ./arm-arago-linux-gnueabi-gcc
$ mount | grep "\s$(stat -c%m .)\s"
(첫 번째 줄은 이 셸에서 영어 오류 메시지를 받고, 마지막 명령은 디렉터리가 포함된 파티션에 대한 파일 시스템과 마운트 옵션을 표시합니다.)