平台:smart210 coretex A8 、Redhat6
这里举我的列子,其实不管你运行什么可执行文件遇到这种问题都是一样的方法去解决的。
1、错误提示
问题所在:这种问题是挂载开发板的根文件系统中缺少相应的库,路径(看自己的根文件系统挂载到哪里)如:
解决方法的步骤:
1、 可到你配置、编译的文件运行:arm-linux-readelf –d+执行文件名,去查找这个文件运行需要哪些库的支持。如
1、 查找到了需要的库之后:
1) 、如果缺少标准库,一般标准库可以到如下路径查找并复制你需要的库到根文件系统挂载的库中。
2)、如果不是标准库可以到配置编译的文件中的lib库里面查找或者通过
$which +要查找的命令或者文件 或如果which没有找到要找的命令,可以试试whereis,该命令搜索更大的范围的系统目录。
有些系统上的which命令不显示用户没有执行权限的文件($whereis +要查找的命令)
1、 如果查找不到,则只有自己去下载了。
这里讲解缺少libjeg.so.0库。
可以到这里下载http://www.ijg.org/files/ 请下载libjpegsr6.tar.bz2。(如果下载zip的可能会在配置的时候配置不成功)。
解压:tar –xzvf libjpegsr6.tar.bz2
cd 进入解压出来的文件的
创建目录:mkdir _install 目录
配置:
./configure --host=arm-linux--prefix=/${PWD}/_install ARCH=arm-linux-gcc --enable-shared --enable-static
编译: make 再运行make install(这里可能会提示这么一些如下的错误),这个时候你看缺什么目录你就给他创建一个就ok了,然后重新makr install。
编译成功之后,可以在_install/lib目录下看到你需要的文件。
4、将这个你需要的库复制到你的根文件系统中的lib目录下
5、再去运行motion 应该就不会再提示错误了。