Ubuntu的14.04最新版本的焦油是1.27.1:
tar --version
tar (GNU tar) 1.27.1
但是编译Yocto(如Altera提供:http://download.altera.com/akdlm/software/acdsinst/13.0/156/ib_installers/linux-socfpga-13.02-RC10-src.bsx,这里作出批示:http://rocketboards.org/foswiki/view/Documentation/AlteraSoCDevelopmentBoardYoctoGettingStarted)已经给这个错误:
| tar: --same-order option cannot be used with -c
| Try 'tar --help' or 'tar --usage' for more information.
归因于1.27的焦油功能(http://lists.openembedded.org/pipermail/openembedded-core/2013-October/085105.html)。另外我下载的tar 1.26 GNU从网站和编辑提供了以下错误:
CC argp-eexst.o
In file included from argp.h:24:0,
from argp-eexst.c:27:
./stdio.h:479:1: error: ‘gets’ undeclared here (not in a function)
_GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");
^
因此,没有在最新的补丁的的Ubuntu 14.04编译Yocto当任何人有什么解决方法吗?
最后我得到了解决这个问题。它不是用tar 1.27.1中的错误,只是它打破了使用旧焦油特征现有的许多系统。
我花了1.26版本的tar从GNU,注释掉在stdio.h创建了错误479线的评论,并生成新的焦油是忽略得到()的警告。不是一个长期的解决方案,但至少现在我可以编译成功Yocto。
我不知道这是否可以被认为是技术上的错误或没有,但可以肯定它也存在于1.29版本和默默打破了我的阿曼达 - ZDM备份。不好笑。对我来说,解决办法是降级到1.26版本