gpt4 book ai didi

beagle board 交叉编译错误。 bash 错误是什么?

转载 作者:行者123 更新时间:2023-11-30 17:29:26 26 4
gpt4 key购买 nike

我正在尝试使我的 .c 文件在 beagle 板上可执行。因此,当我提取arm-2010q1-202-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2文件时。我正确地提取了它。提取后显示所有文件。

但是当我使用“arm-none-linux-gnueabi-gcc”时,它显示以下错误。有人可以告诉我这是什么类型的错误吗?

shilpi@shilpi:~/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
shilpi@shilpi:~/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
shilpi@shilpi:~/Desktop$

最佳答案

我在运行针对不同架构的程序时遇到过这个问题,尽管架构本身并不完全是问题所在。

示例:

我有 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

啊。因此,我没有收到“库未找到”错误的原因是,还没有达到那么远。它需要的第一件事...丢失了。

看看这些是否有助于诊断 arm-none-linux-gnueabi-gcc 问题。 :-)

关于beagle board 交叉编译错误。 bash 错误是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25629638/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com