바이너리를 실행하려고합니다.이 크로스 컴파일러 툴체인(.tar.bz2 파일 링크).
바이너리를 실행하려고 하면 파일이 $PATH
존재하고 실행 가능함에도 불구하고 해당 파일이 my 에 없다는 놀라운 메시지가 표시됩니다.
$ cross-compiler-armv4l/bin/armv4l-gcc
can't find cross-compiler-armv4l/bin/armv4l-gcc in $PATH
$ ls -l cross-compiler-armv4l/bin/armv4l-gcc
-rwxr-xr-x 1 rzg rzg 31964 Apr 5 2009 cross-compiler-armv4l/bin/armv4l-gcc
저는 x86_64에서 Ubuntu 18.04를 실행하고 있고, 제가 실행하고 있는 파일의 아키텍처가 32비트이므로 다음을 따랐습니다.이 답변i386 libc를 설치하려고 했지만 충분하지 않았습니다.
$ file cross-compiler-armv4l/bin/armv4l-gcc
cross-compiler-armv4l/bin/armv4l-gcc: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), statically linked, stripped
을 실행하면 strace
파일 stat
이 실패합니다.
access("/home/user/busybox-1.32.0/cross-compiler-armv4l/bin/armv4l-gcc", X_OK) = 0
stat("/home/user/busybox-1.32.0/cross-compiler-armv4l/bin/armv4l-gcc", 0xffe4d108) = -1 EOVERFLOW (Value too large for defined data type)