在linux arm目标上运行app时“没有这样的文件或目录”

时间:2013-12-10 16:47:04

标签: linux gcc intel-fpga

我有一个开发套件(Altera Cyclon V,Cortex A9),我正在尝试运行一个简单的应用程序。 我正在使用cygwin来交叉编译ARM Linux的代码(使用适用于Linux的soureforge工具链)。

步骤:

  1. 在cygwin中构建:arm-linux-gcc dd.c -s -mcpu = cortex-a9 -s -o ddb
  2. 将ddb复制到target并chmod a + x
  3. 运行它给了我“./ddb:没有这样的文件或目录”。 可能是lib \ tools之间的不匹配,但我是Linux新手(来自QNX)。
  4. 目标正在运行:

       root@socfpga:~/altera# cat /proc/version 
       Linux version 3.9.0 (jdasilva@sj-interactive3) (gcc version 4.7.3 20121106 (prerelease) (crosstool-NG linaro-1.13.1-4.7-2012.1
       1-20121123 - Linaro GCC 2012.11) ) #1 SMP Fri Sep 27 22:55:43 PDT 2013
    

    我的应用的文件数据:

     ddb: ELF 32-bit LSB executable, ARM, version 1, dynamically linked (uses shared
     libs), for GNU/Linux 2.6.33, stripped
    

    在目标上运行的示例hello_world的文件数据:

     hello: ELF 32-bit LSB executable, ARM, version 1 (SYSV), dynamically linked (use
     s shared libs), for GNU/Linux 2.6.31, BuildID[sha1]=0x2e8fbebd0bdab5897c0c65fb6b
     563f3c34a16eb1, stripped
    

    我可以看到正在使用不同的DLL(2.6.31 vs 2.6.33)。

    我该如何解决这个问题?

2 个答案:

答案 0 :(得分:1)

在我尝试将ARM二进制文件复制到ARM安卓设备之前,我遇到了这个问题。

你解决了它,但无论哪种方式,这都是我发现的。问题是共享库。它正在尝试加载目标上不存在的库。 “找不到文件”错误是非常误导的。

相关问答:

"No such file or directory" but it exists

答案 1 :(得分:0)

可能是64<> 32bit的问题。 见this