【问题标题】:No such file or directory when run executable file on Embedded Linux在嵌入式 Linux 上运行可执行文件时没有这样的文件或目录
【发布时间】:2017-06-14 15:36:40
【问题描述】:

我正在使用使用微控制器 MCIMX6DP6AVT8AA - i.MX 6 系列 32 位 MPU、双 ARM Cortex-A9 内核、850MHz、FCBGA 624 的目标板 (参考http://www.nxp.com/webapp/search.partparamdetail.framework?PART_NUMBER=MCIMX6DP6AVT8AA)。我的主板运行 Linux 内核 3.1.1

我使用交叉编译工具链 arm-poky-linux-gnueabi,在主机 Ubuntu14.04 上运行,为目标板构建应用程序。构建成功后,我检查了输出文件如下

~$ 文件我的应用程序

MyApp:ELF 32 位 LSB 可执行文件,ARM,EABI5 版本 1 (SYSV),动态链接(使用共享库),适用于 GNU/Linux 3.1.1, BuildID[sha1]=a800b4033343517d3368a3f3ca0c87eb98f6c1ba,未剥离

但是当我在 Target board 上运行它时,出现了错误

~$ ./MyApp

-sh: ./MyApp: 没有这样的文件或目录

我不知道我做错了什么?

【问题讨论】:

  • 您是否将二进制文件MyApp 复制到板上?
  • @snoopy:是的,我做到了。我远程登机并运行命令以执行 MyApp
  • 你检查过二进制文件的权限吗?这有执行权限吗?
  • @rk1825:是的,我做到了。我使用 root 帐户

标签: linux embedded-linux imx6


【解决方案1】:

消息很可能来自动态链接器。看看输出:

ldd MyApp

它将告诉您所有的库依赖项以及它们在系统上的位置。安装那些没有找到的。

【讨论】:

  • ldd 不适用于 arm-poky-linux-gnueabi 构建的二进制文件。您还有其他建议吗?
  • 很好的通用解决方案,“为什么我可以看到这个可执行文件‘不存在’!!!”非常感谢。
猜你喜欢
  • 2018-06-12
  • 1970-01-01
  • 2016-08-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-12-29
  • 2013-12-28
  • 2021-09-07
相关资源
最近更新 更多