Angstrom Linux에서 실행 파일을 실행하려고 하는데 Ash가 알려줍니다.
-sh: ./myEx: not found
나는 readelf 프로그램 인터프리터를 확인했고 그것은
root@beagleboard:~# readelf -l myEx | grep interpreter
[Requesting program interpreter: /lib/ld-uClibc.so.0]
프로그램 인터프리터가 없습니다. 심볼릭 링크를 시도했지만 잘못된 것 같아서 좋은 결과가 없습니다 ld-linux.so.3
. ld-uClibc.so.0
어디에 설치해야 하는지, 소스에서 크로스 컴파일해야 하는지 모르겠습니다.
답변1
내 시스템이 어떤 libc를 사용하고 있는지 알아냈습니다. 내 경우에는 eglibc
openembedded를 사용한 Angstrom 2012.05 크로스 컴파일이 기본 선택입니다. 크로스 컴파일을 통해 eglibc
이 문제가 해결되었습니다.
나는 bitbake 메일링 리스트에 문의했지만 Google에서 이에 대해 아무것도 찾지 못했기 때문에 참고용으로 이 부분을 작성하고 있습니다. uclibc
Cross compiling set ANGSTROMLIBC="uclibc" in the conf file (위에서 언급한 대로)이 FAQ). uclibc
직접 컴파일해서는 안 되지만, 소스에서 bitbake 레시피를 실행하면 /tmp/deploy/ 하위 디렉터리, 일반적으로 패키지와 동일한 디렉터리에 빌드되고 패키징됩니다.