Ubuntu 14.04最新的tar版本是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的tar功能(http://lists.openembedded.org/pipermail/openembedded-core/2013-October/085105.html)。或者,我从GNU网站下载tar 1.26,编译时出现以下错误:
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时,有没有人有任何解决方法?
答案 0 :(得分:0)
最后我克服了这个问题。这不是tar 1.27.1的错误,只是它破坏了许多使用旧tar功能的现有系统。
我从GNU获取了1.26版本的tar,在stdio.h中的第479行注释掉了创建错误的注释,并生成了一个忽略gets()警告的新tar。不是长期解决方案,但现在至少我可以成功编译Yocto。
答案 1 :(得分:0)
我不知道这在技术上是否可以视为错误,但是可以肯定的是,该错误也存在于1.29版中,并且无声地破坏了我的amanda-zdm备份。 不好笑。 对我来说,解决方案是降级到1.26版