Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1399972
  • 博文数量: 828
  • 博客积分: 10000
  • 博客等级: 上将
  • 技术积分: 5030
  • 用 户 组: 普通用户
  • 注册时间: 2008-08-29 13:29
文章分类

全部博文(828)

文章存档

2011年(1)

2008年(827)

我的朋友

分类: LINUX

2008-08-29 13:36:46

 
最近从澳门入手了部MotorolaROKRE6(OS内核是Linux的),就顺便研究了下该手机的交叉编译。
途中,编译busybox的时候遇到了怪异的错误:

GEN.depend
/home/xxx/busybox-1.1.3/include/bbconfigopts.h:28hmm,unterminated
make[1]:***[.depend]Erreur1
make:***[_all]Erreur2

在网上查了一番资料,说是与ubuntu的兼容问题。并且有人提供了一种解决方案:

Apaprentlyit''sduetomyubuntuawk/sedversion,herethesolutionincasesomeone
elsefallontheproblem:

inthefilebusybox-1.2.0/scripts/config/mkconfigs,Ireplaced
echo"`sed''s/\"/\\\\\"/g''$config|grep"^#\?\?CONFIG_"|awk
''{print"\\""$0"\\\\n\\"";}''`"
by
echo"`sed''s/\"/\\\\\"/g''$config|grep"^#\?\?CONFIG_"|awk
''{print"\\""$0"\\"";}''`"

我不清楚是1.1.3和1.2.0版本不同还是别的什么问题,以上方法在我的机器上依然不奏效。我只好大致看了下scripts/config/mkconfigs、include/bbconfigopts.h和该工程的若干个Makefile,终于明白其实bbconfigopts.h是在makebusybox的时候(在makeconfig之后)由shell脚本mkconfigs自动生成的,那么问题就变得明白了。

用vi打开mkconfigs,找到第63行的:

echo"staticcharconstbbconfig_config[]="
echo"\"CONFIG_BEGIN=n\\n\\"
echo"`sed''s/\"/\\\\\"/g''$config|grep"^#\?\?CONFIG_"|awk''{print$0"\\\\n\\\\"}''`"
echo"CONFIG_END=n\\n\";"
echo"#endif/*_BBCONFIG_H*/"

改为:

echo"staticcharconstbbconfig_config[]="
echo"\"CONFIG_BEGIN=n\\\n\""
echo"`sed''s/\"/\\\\\"/g''$config|grep"^#\?\?CONFIG_"|awk''{print"\\""$0"\\""}''`"
echo"\"CONFIG_END=n\\\n\";"
echo"#endif/*_BBCONFIG_H*/"

编译通过!
记住,make之前要先makeclean!

解决ubuntu下编译busybox失败的方法解决ubuntu下编译busybox失败的方法解决ubuntu下编译busybox失败的方法解决ubuntu下编译busybox失败的方法解决ubuntu下编译busybox失败的方法解决ubuntu下编译busybox失败的方法解决ubuntu下编译busybox失败的方法解决ubuntu下编译busybox失败的方法解决ubuntu下编译busybox失败的方法解决ubuntu下编译busybox失败的方法
阅读(1229) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~