微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Ubuntu14.04编译Allwinner lichee 两个出错解决方法

1.host-m4-1.4.15

In file includedfrom clean-temp.h:22:0,

from clean-temp.c:23:

./stdio.h:456:1:error: 'gets' undeclared here (not in a function)

_GL_WARN_ON_USE(gets,"gets is a security hole - use fgets instead");

解决方法

参考链接

http://www.civilnet.cn/talk/browse.php?topicno=78555,2楼.

找到:host-m4-1.4.15/lib/stdio.h,然后对stdio.h文件做出如下改动,必要时连同stdio.in.h一起修改

[plain] view plain copy
  1. <spanstyle="font-family:Arial;font-size:12px;">#Beginpatch
  2. ===modifiedfile'grub-core/gnulib/stdio.in.h'
  3. ---grub-core/gnulib/stdio.in.h2010-09-2010:35:33+0000
  4. +++grub-core/gnulib/stdio.in.h2012-07-0415:18:15+0000
  5. @@-140,8+140,10@@
  6. /*Itisveryrarethatthedevelopereverhasfullcontrolofstdin,
  7. soanyuSEOfgetswarrantsanunconditionalwarning.Assumeitis
  8. alwaysdeclared,sinceitisrequiredbyC89.*/
  9. +#ifdefinedgets
  10. #undefgets
  11. _GL_WARN_ON_USE(gets,"getsisasecurityhole-usefgetsinstead");
  12. +#endif



2.host-autoconf-2.65

conftest.c:14625:must be after `@defmac' to use `@defmacx'

make[3]: ***[autoconf.info] Error 1

make[3]: Leavingdirectory`//opt/Android/a23androidSRC/lichee/out/linux/common/buildroot/build/host-autoconf-2.65/doc'

make[2]: ***[install-recursive] Error 1

make[2]: Leavingdirectory`/opt/Android/a23androidSRC/lichee/out/linux/common/buildroot/build/host-autoconf-2.65'

make[1]: ***[install] Error 2

make[1]: Leavingdirectory`/opt/Android/a23androidSRC/lichee/out/linux/common/buildroot/build/host-autoconf-2.65'

make: ***[/opt/Android/a23androidSRC/lichee/out/linux/common/buildroot/build/host-autoconf-2.65/.stamp_host_installed]Error 2

解决方法如下:

参考链接

http://gnu-autoconf.7623.n7.nabble.com/compile-error-conftest-c-14625-must-be-after-defmac-to-use-defmacx-td18843.html

2楼有个补丁文件

[plain] view plain copy
  1. ---autoconf-2.65/doc/autoconf.texi2009-11-0510:42:15.000000000+0800
  2. +++autoconf-2.65/doc/autoconf.texi.new2013-05-2805:41:09.243770263+0800
  3. @@-15,7+15,7@@
  4. @cTheARGisanoptionalargument.Tobeusedformacroargumentsin
  5. @ctheirdocumentation(@defmac).
  6. @macroovar{varname}
  7. -@r{[}@var{\varname\}@r{]}@c
  8. +@r{[}@var{\varname\}@r{]}
  9. @endmacro
  10. @c@dvar(ARG,DEFAULT)
  11. @@-23,7+23,7@@
  12. @cTheARGisanoptionalargument,defaultingtoDEFAULT.Tobeused
  13. @cformacroargumentsintheirdocumentation(@defmac).
  14. @macrodvar{varname,default}
  15. -@r{[}@var{\varname\}=@samp{\default\}@r{]}@c
  16. +@r{[}@var{\varname\}=@samp{\default\}@r{]}
  17. @endmacro
  18. @cHandlingtheindexeswithTexinfoyieldsseveraldifferentproblems.

根据这个补丁文件修改即可,直接修改代码包,下次编译就不会再提示这个错误了。

3.host-makedevs

/opt/Android/a23androidSRC/lichee/out/linux/common/buildroot/build/host-makedevs/makedevs.c:374:6: error: variable ‘ret’ set but not used [-Werror=unused-but-set-variable]
int ret = EXIT_SUCCESS;
^
cc1: all warnings being treated as errors

直接修改makedevs.c文件

最后一行,return 0;

修改为:return ret;

代码位置:./buildroot/package/makedevs/makedevs.c

原文地址:https://www.jb51.cc/ubuntu/349330.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐