2014-09-02 34 views
0

我想让我的.c文件在beagle板上执行。所以当我提取我的arm-2010q1-202-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2文件。我正确提取它。提取后显示所有文件。比格犬板交叉编译错误。什么是bash错误?

但是,当我使用 “武装-NONE-Linux的gnueabi-GCC”,它显示如下错误。任何人都可以让我知道这是什么样的错误?

[email protected]:~/Desktop$ file no 
no: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.24, BuildID[sha1]=98867ffb31348c9eecde7365ff33ee8a30a9eb6e, not stripped 
[email protected]:~/Desktop$ arm-none-linux-gnueabi-gcc -o hi1 no-17.c 
bash: /home/shilpi/arm-2010q1/bin/arm-none-linux-gnueabi-gcc: No such file or directory 
[email protected]:~/Desktop$ 
+3

是什么'LS /家庭/史尔皮/ ARM-2010Q1 /斌/ ARM-NONE-Linux的gnueabi-gcc'说?那么'file/home/shilpi/arm-2010q1/bin/arm-none-linux-gnueabi-gcc'? – 2014-09-02 18:10:45

+0

检查您是否已经出口的路径,或者使用绝对路径 – 2014-09-02 18:13:51

+0

尝试编译确实喜欢'臂-NONE-Linux的gnueabi-GCC --version'工作的简单的东西? – rkyser 2014-09-02 18:27:14

回答

0

运行供不同架构的程序时,我已经看到了这个问题,虽然建筑本身是不完全的问题。

例子:

我这个旧的二进制从1997年CB区游逛(不要问为什么。):

$ ls -Flas cbzone.exec 
60 -rwxr-xr-x 1 erlkonig dialout 59236 Sep 15 1997 cbzone.exec* 

当我运行它 - 即使它显然有:

$ ./cbzone.exec 
bash: ./cbzone.exec: No such file or directory 

跟踪它不照明:

$ strace -f ./cbzone.exec 
execve("./cbzone.exec", ["./cbzone.exec"], [/* 107 vars */]) = -1 ENOENT (No such file or directory) 
write(2, "strace: exec: No such file or di"..., 40strace: exec: No such file or directory 
) = 40 
exit_group(1)       = ? 
+++ exited with 1 +++ 

但是,我是一个x86_64的主机上,并将该软件是为32位,这样的东西可能是丢失:

$ file ./cbzone.exec 
./cbzone.exec: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), stripped 

LDD 不为大多数报告中的有效存储库支持 - 不是全部 - 该库的需要。一个更有用的提示是埋在这个输出:

$ readelf -a ./cbzone.exec 
... 
Program Headers: 
    Type   Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align 
    PHDR   0x000034 0x08048034 0x08048034 0x000a0 0x000a0 R E 0x4 
    INTERP   0x0000d4 0x080480d4 0x080480d4 0x00013 0x00013 R 0x1 
    [Requesting program interpreter: /lib/ld-linux.so.1] 
    LOAD   0x000000 0x08048000 0x08048000 0x0c150 0x0c150 R E 0x1000 
    LOAD   0x00c150 0x08055150 0x08055150 0x0209c 0x02d3c RW 0x1000 
    DYNAMIC  0x00e12c 0x0805712c 0x0805712c 0x000c0 0x000c0 RW 0x4 
.... 

嗯,“解释器”?

$ ls -Flas /lib/ld-linux.so.1 
ls: cannot access /lib/ld-linux.so.1: No such file or directory 

啊。所以我没有得到图书馆未发现的错误的原因是,它甚至没有得到那么多。它需要的第一件事是缺失。

看看这些帮助诊断臂无-Linux的gnueabi-gcc的问题。 :-)