最近在移植opencv2.0的时候遇到该问题,工作环境如下:
宿主机:ubuntu9.04 kernel 2.6.28 arm-none-linux-4.3.2
开发板:OMAP4 ubuntu12.04 桌面版 gcc version 4.6.3 (Ubuntu/Linaro 4.6.3-1ubuntu5)
当把在宿主机编译好的程序移植到另一个开发板(ubuntu core, kernel 3.0)时能正常运行,但把所有编译的库和程移植到新的开发板时,出现上述问题。
注意:如下命令都是在开发板的系统上执行的!可能有些开发板所安装的系统无如下一些命令,可以通过apt-get install binutils 安装试试
执行程序命令: ./test 出现错误:
bash: test : No such file or directory
确定执行的命令没有错,路径没有问题,另外通过 ls -l 查看,权限足够。
执行: ldd test 返回:not a dynamic executable
执行:file test 返回如下:
test: ELF 32-bit LSB executable, ARM, version 1 (SYSV), dynamically linked (use shared libs), for GNU/Linux 2.6.14, not stripped
我所装的是32的系统而不是64位的,所以不是64位的系统没有32位的库造成的,根据网上的资料继续执行:
readelf -l test | grep interpreter #查看该程序的加载程序