我正在尝试在 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
,Angstrom 2012.05 与 openembedded 交叉编译是默认选择。交叉编译eglibc
解决了这个问题。
我写下一部分仅供参考,因为我询问了 bitbake 邮件列表,但在 Google 上没有找到任何有关此内容的信息:uclibc
在conf文件中交叉编译 set ANGSTROMLIBC =“uclibc”(如上所述这个常见问题解答)。uclibc
不应直接编译,但当您在源上运行 bitbake Recipe 时,它将构建,并打包在 /tmp/deploy/ 子目录下,通常位于包的同一目录中。