出现/usr/bin/ts_calibrate: not found问题

来源:互联网 发布:网络回拨电话原理 编辑:程序博客网 时间:2024/05/18 00:31

转自http://blog.csdn.net/yx_l128125/article/details/7418882

1、关于-/bin/sh:xx(命令) not found  的几种原因

1./bin/目录下没有这个命令;

2.bin/目录有这个命令,只是执行权限不够,或者程序执行权限不够;

3.程序需要的静态库或者动态库没有;

4、没有移植触摸屏的驱动程序

2、解决办法:

原因一的解决方法:安装busy box将busy box支持的命令安装到文件系统的bin目录下;(只要安装了busy box它会自动加载命令到bin目录下。

原因二的解决方法:在/bin/目录下找到对应的命令,修改其权限为777;具体操作: chmod   777  xx(命令)  【附加:在编写执行脚本文件时不能运行也大多是没有修改脚本权限的问题(命令其实就是一个特殊的脚本)】

原因三的解决方法:

(1)最“高效”的解决方法:用命令:arm-linux-readelf   -d   xxx(目标文件/命令)    查看xxx使用的动态库

如图:我的目标文件使用的动态库是libts-0.0.so.0 ,libdl.so.2,libc.so.6

arm-linux-readelf -a ts_calibrate |grep lib 


于是我便去交叉编译器所在目录/usr/local/arm/4.3.2/arm-none-linux-gnueabi/libc/armv4t/lib下的动态库中寻找所需的上面三个库libts-0.0.so.0 ,libdl.so.2,libc.so.6  ,并复制到根文件系统的lib目录下:

原因四的解决方法


3、arm-linux-readelf工具的使用

ELF = Executable and Linkable Format,可执行连接格式,是UNIX系统实验室(USL)作为应用程序二进制接口(Application Binary Interface,ABI)而开发和发布的,扩展名为elf。

arm-linux-readelf是一个相当实用的elf文件查看工具,查看帮助

输入arm-linux-readelf -h


常用的:

arm-linux-readelf -a 应用程序 可查看文件运行架构、大小端等信息。 #arm-linux-readelf -a hello 可产看文件所用到的动态共享链接库,一般编译时加上"-static"选项。

当然,如果只看动态链接库,一般使用arm-linux-readelf -d 应用程序,可以将应用程序的动态链接库全部显示出来,这在移植应用程序到arm板时相当有用。



0 0
原创粉丝点击