当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 12 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : 为什么在ubuntu编译下uboot时总是出错?
帖子发表于 : 2007-02-07 21:06 

注册: 2005-11-24 1:26
帖子: 43
送出感谢: 0 次
接收感谢: 0 次
本人用的是6.06的ubuntu。
经多次试验确认,在ubuntu编译下uboot时总是出现以下错误:

img2srec.c:56:19: error: stdio.h: No such file or directory
img2srec.c:57:20: error: stdlib.h: No such file or directory
img2srec.c:58:19: error: ctype.h: No such file or directory
img2srec.c:59:20: error: string.h: No such file or directory
In file included from img2srec.c:60:
../include/elf.h:43:20: error: stdint.h: No such file or directory
In file included from img2srec.c:60:
../include/elf.h:58: error: syntax error before 'Elf32_Addr'
../include/elf.h:59: error: syntax error before 'Elf32_Off'
../include/elf.h:60: error: syntax error before 'Elf32_Sword'
。。。。。。。

我使用公司的redhat服务器编译相同的代码,可以顺利完成编译。编译链也是一样的,真搞不懂为什么了。
请指教,谢谢!


页首
 用户资料  
 
2 楼 
 文章标题 :
帖子发表于 : 2007-02-07 21:50 

注册: 2006-07-13 0:26
帖子: 22
地址: Shenzhen
送出感谢: 0 次
接收感谢: 0 次
这个img2srec.c是tools目录下面的吧,看看这个目录下面的Makefile就知道了:
这个目录下面的程序都是用HOSTCC编译的,也就是你的6.06上的GCC编译器,跟交叉编译环境没有关系。
你首先检查一下你的6.06上面有没有安装GCC,没有的话就用sudo apt-get install build-essential安装一下。
我用的是6.10,编译u-boot基本没什么问题。
Good luck!


_________________
Only the paranoid survive.


页首
 用户资料  
 
3 楼 
 文章标题 : 感谢你的回复!!!
帖子发表于 : 2007-02-08 0:43 

注册: 2005-11-24 1:26
帖子: 43
送出感谢: 0 次
接收感谢: 0 次
说得有理有据,感谢!!!
我按照你说的安装了GCC后,
发现还出现了一下错误:
/usr/local/arm/2.95.3/bin/arm-linux-ar crv libstubs.a stubs.o
a - stubs.o
make[1]: *** No rule to make target `hello_world.srec', needed by `all'. Stop.
make[1]: Leaving directory `/home/aaron/share/u-boot-20060523/examples'
make: *** [examples] Error 2


呵呵,很晚了我脑袋已经不转了。。。


页首
 用户资料  
 
4 楼 
 文章标题 :
帖子发表于 : 2007-02-08 9:05 
头像

注册: 2006-11-15 14:28
帖子: 67
地址: Beijing
送出感谢: 0 次
接收感谢: 3
hello_world是一个例子,我记得可以在某个makefile里面把编译examples这个干掉,他根本没什么用。
具体的未知我不太清除了,你找找看……


页首
 用户资料  
 
5 楼 
 文章标题 : 谢谢提醒!
帖子发表于 : 2007-02-08 9:16 

注册: 2005-11-24 1:26
帖子: 43
送出感谢: 0 次
接收感谢: 0 次
我试试看,我还有下面一个问题。

我现在用3.4.1的编译链编译u-boot时还是会出现以下错误;
lib_arm/libarm.a(_udivsi3.o)(.text+0x8c):/home/aaron/share/u-boot-1.1.6/lib_arm/_udivsi3.S:67: relocation truncated to fit: R_ARM_PLT32 __div0
lib_arm/libarm.a(_umodsi3.o)(.text+0xa8):/home/aaron/share/u-boot-1.1.6/lib_arm/_umodsi3.S:79: relocation truncated to fit: R_ARM_PLT32 __div0
make: *** [u-boot] Error 1

这是怎么回事呢?谢谢回复!!


页首
 用户资料  
 
6 楼 
 文章标题 : 感谢jarodwang和volans。
帖子发表于 : 2007-02-08 9:23 

注册: 2005-11-24 1:26
帖子: 43
送出感谢: 0 次
接收感谢: 0 次
感谢两位3楼的问题也解决了,在顶层Makefile中把example前加上“#”,如下:

SUBDIRS = tools \
#examples \
post \
post/cpu
.PHONY : $(SUBDIRS)

还请大家看看我5楼的问题。


页首
 用户资料  
 
7 楼 
 文章标题 :
帖子发表于 : 2007-02-08 11:11 

注册: 2006-07-13 0:26
帖子: 22
地址: Shenzhen
送出感谢: 0 次
接收感谢: 0 次
呵呵,不客气,其实3楼的问题我也遇到过,在Makefile把examples从对SUBDIRS的赋值中去掉就好了。

5楼的问题我没遇见过,不过说了半天楼主也没有说编译的是哪个版本的u-boot?

我个人是用cross-2.95.3编译的u-boot-1.1.4,cross-2.95.3的工具链是从arm.linux.org.uk的FTP下载的。


_________________
Only the paranoid survive.


页首
 用户资料  
 
8 楼 
 文章标题 : 感谢关注!
帖子发表于 : 2007-02-08 12:17 

注册: 2005-11-24 1:26
帖子: 43
送出感谢: 0 次
接收感谢: 0 次
我是个新手,所以很多问题都描述不清楚。不好意思。
我现在用3.3.2的编译链编译u-boot-1.2.0,基本没什么问题了。谢谢


5楼那个问题是软浮点的问题,解决办法见下:
http://blog.tianya.cn/blogger/post_show ... 9149&Key=0
当然也是和编译链的版本有关。

最后,推荐大家用3.3.2来编译u-boot-1.2.0,不会出现以上问题。


页首
 用户资料  
 
9 楼 
 文章标题 :
帖子发表于 : 2007-02-08 17:10 
头像

注册: 2006-11-15 14:28
帖子: 67
地址: Beijing
送出感谢: 0 次
接收感谢: 3
楼主客气了,每天来看看,就是为了和大家分享问题的。很高兴可以帮上忙。


这里人气比较弱,有问题一定要拿来分享啊……


页首
 用户资料  
 
10 楼 
 文章标题 :
帖子发表于 : 2007-02-10 22:08 

注册: 2006-05-16 12:36
帖子: 10
送出感谢: 0 次
接收感谢: 0 次
装 3.80 的 make ,就可以编译通过了。
我试过了。


页首
 用户资料  
 
11 楼 
 文章标题 :
帖子发表于 : 2007-05-17 10:35 

注册: 2007-05-17 10:29
帖子: 1
送出感谢: 0 次
接收感谢: 0 次
我也是装的6.1,其gcc 是 4.1.2, make 是 3.8.1,但make u-boot1.1.6时与3楼现象一样。有遇到这样问题的吗?谢谢


页首
 用户资料  
 
12 楼 
 文章标题 :
帖子发表于 : 2007-07-31 22:41 

注册: 2007-05-15 19:03
帖子: 1
送出感谢: 0 次
接收感谢: 0 次
我也在编译1.1.6时出错了,错误描述如下:
make[1]: Entering directory `/home/gflfof/Desktop/uboot/SourceCode/u-boot-1.1.6/post'
arm-linux-gcc -D__ASSEMBLY__ -g -Os -fno-strict-aliasing -fno-common -ffixed-r8 -msoft-float -malignment-traps -D__KERNEL__ -DTEXT_BASE=0xc0f80000 -I/home/gflfof/Desktop/uboot/SourceCode/u-boot-1.1.6/include -fno-builtin -ffreestanding -nostdinc -isystem /usr/local/lib/gcc/arm-linux/3.4.4/include -pipe -DCONFIG_ARM -D__ARM__ -march=armv4 -mtune=arm7tdmi -mapcs-32 -c -o cache_8xx.o cache_8xx.S
Assembler messages:
Fatal error: Invalid -march= option: `armv4'
make[1]: *** [cache_8xx.o] 错误 2
make[1]: Leaving directory `/home/gflfof/Desktop/uboot/SourceCode/u-boot-1.1.6/post'
make: *** [post] 错误 2

谁给给我解释一下这个规则是从哪里来的?


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 12 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 2 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译