실행 시 파일을 찾을 수 없지만 exec 비트가 설정되어 있고 다른 명령을 통해 액세스할 수 있습니다.

실행 시 파일을 찾을 수 없지만 exec 비트가 설정되어 있고 다른 명령을 통해 액세스할 수 있습니다.

내 시스템에서 이해할 수 없는 동작으로 인해 혼란스러워졌습니다. 이전에는 사용자 로컬 바이너리 경로에 SDK를 설치했는데 모든 파일이 거기에 있었습니다. 그러나 실행 비트가 설정되어 있음에도 불구하고 bash를 실행하려고 하면 "파일을 찾을 수 없습니다"가 반환됩니다. 이 동작의 원인이 무엇인지에 대한 힌트가 있습니까?

xterm 인용:

~/bin$ ls -l powerpc-604-linux-gnu-g++
-r-xr-xr-x 2 planetmaker planetmaker 851784  1. Mär 2018  powerpc-604-linux-gnu-g++
~/bin$ ./powerpc-604-linux-gnu-g++
bash: ./powerpc-604-linux-gnu-g++: File or directory not found
~/bin$ file ./powerpc-604-linux-gnu-g++
./powerpc-604-linux-gnu-g++: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux.so.2, for GNU/Linux 2.6.24, BuildID[sha1]=e28aa4bde5334a2e89f694c75f804fc6fe576f58, stripped

답변1

문제는 아키텍처다. 내 시스템은 64비트 시스템이고 SDK는 32비트 시스템입니다. 데비안은 다중 아키텍처 지원을 허용합니다(예: 이 답변여기). 32비트 지원을 설치하면 바이너리가 예상대로 작동합니다.

관련 정보