Requesting program interpreter: /lib/ld-linux.so.3
今天跟着野火学习交叉编译,在开发主机上编译好hello.c 为 hello-x86-arm 为可执行文件后,开发板通过nfs访问到该文件, 并执行, 报出了
我通过readelf -a hello-x86-arm | grep interpreter发现了
报了这个提示**[Requesting program interpreter: /lib/ld-linux.so.3]**
后来看到一篇文章,https://blog.youkuaiyun.com/spark550/article/details/52043792, 他和我是类似的情况,只不过报的是[Requesting program interpreter: /lib/ld-linux-armhf.so.3], 后来又有其他网站给了我灵感,我在开发板的 /lib文件下看见了lrwxrwxrwx 1 root root 30 Mar 16 2022 ld-linux-armhf.so.3 -> arm-linux-gnueabihf/ld-2.28.so, 说明是不缺少ld-linux-armhf.so.3的。既然系统报缺少ld-linux-armhf.so.3,那我就软连接到ld-linux-armhf.so.3,然后我就尝试了下,ln -sv ld-linux-armhf.so.3 ld-linux.so.3 ,继续尝试运行 hello-x86-arm,最后运行成功了。
把这个经验分享给大家