当前位置: 技术问答>linux和unix
交叉编译的 app 放到目标板上 运行 -/bin/sh: XXX: not found
来源: 互联网 发布时间:2017-01-27
本文导语: 用 arm-linux-readelf 查看了程序依赖的库是 libc.so.6 我把库及其链接都复制到了 目标板的 /usr/lib 目录下了 并且把vim /etc/ld.so.config,在其中加入了新的libs的目录 也用“ldconfig -f etc/ld.so.conf -C etc/ld.so.cache"生成一个...
用 arm-linux-readelf 查看了程序依赖的库是 libc.so.6 我把库及其链接都复制到了 目标板的 /usr/lib
目录下了
并且把vim /etc/ld.so.config,在其中加入了新的libs的目录
也用“ldconfig -f etc/ld.so.conf -C etc/ld.so.cache"生成一个新的ld.so.cache
并且应用程序和内核编译用的是同一套工具链
我也chmod 了
但是一运行就提示-/bin/sh: XXX: not found 这应该连运行都没法运行,
这个应该不是库的问题,是一个不能识别的二进制文件吧?
但是我用静态编译 -static 就能执行了
这个问题改怎么解决呢?
目录下了
并且把vim /etc/ld.so.config,在其中加入了新的libs的目录
也用“ldconfig -f etc/ld.so.conf -C etc/ld.so.cache"生成一个新的ld.so.cache
并且应用程序和内核编译用的是同一套工具链
我也chmod 了
但是一运行就提示-/bin/sh: XXX: not found 这应该连运行都没法运行,
这个应该不是库的问题,是一个不能识别的二进制文件吧?
但是我用静态编译 -static 就能执行了
这个问题改怎么解决呢?
|
没有找到可执行程序,不是库的问题。
比如ls写错成llss,找不到命令来执行。
比如ls写错成llss,找不到命令来执行。
|
会不会是你执行程序的脚本写的有问题,比如在windows上编辑的,有时候会带换行符之类的。你手动执行试试?或者你在linux下,再查看一遍脚本?