Mavericks上缺少/ usr / bin / gnutar(MacPorts)


26

MacPorts抱怨/usr/bin/gnutar小牛失踪

:info:extract sh: /usr/bin/gnutar: No such file or directory

gnutar 确实不存在了。

如此处建议的那样我尝试在中更改tar命令/opt/local/etc/macports/macports.conf

tar_command=/usr/bin/tar -0

没有任何效果。

有什么建议吗?我tar_command在错误的文件中配置了吗?还有其他解决方法吗?


1
您是否升级了Xcode?如果是这样,您是否添加了命令行工具?
2013年

命令行工具升级没有帮助,但crysaz肮脏的hack帮助了。

Answers:


25

问题是您的MacPorts版本不是在Mavericks上构建的,并且假定安装该工具时仍然可用。由于不再是这种情况,您应该重新安装MacPorts,它将自动解决此问题。

由于目前没有针对Mavericks的二进制安装程序,因此您将不得不从源代码进行构建。xcode-select --install在尝试./configure在MacPorts源代码树中运行之前,请确保已安装了使用的命令行工具。有关操作方法,请参见http://guide.macports.org/#installing.macports.subversion

如果您不想从源代码构建开发版本,那么在接下来的几天中将提供二进制安装程序。

编辑:现在可以使用Mavericks的二进制安装程序(对于2.2.1错误修正版本):https : //distfiles.macports.org/MacPorts/MacPorts-2.2.1-10.9-Mavericks.pkg

请注意xcode-select --install即使您确实已安装Xcode并使用二进制安装程序,无论如何仍应运行。

由于这一直得到引用:如果您刚刚更新到Mavericks,则还应该遵循https://trac.macports.org/wiki/Migration


您还需要poitconfigure到提供的Xcode tcl
user151019

重新安装解决了该问题(以及其他几个问题:-)
Matteo

3
@Mark:不,如果您运行过,则不要xcode-select --install。这样做将安装tclConfig.sh在中/usr/lib,这是MacPorts配置脚本​​默认情况下寻找它的位置。请注意,仅安装Xcode 而不运行xcode-select --install还不够!
Neverpanic 2013年

@neverpanic-+1我认为您刚刚保存了我的一天。
Cyclonecode 2014年


4

我从以下位置下载了源代码:

http://www.gnu.org/software/tar/

编译常用的GNU方式:

./configure
make

之后,我手动将生成的二进制文件复制为/ usr / bin / gnutar。我不确定它是否已构建,但我相信它是./src/tar

当然,这只是安装新端口的快速技巧。在没有支持Mavericks的正式MacPorts版本之前,我不会升级所有端口(如对OS升级所建议)。

另外,请记住在下一个MacPorts版本之前删除该文件。只是为了保持清洁。


2

编辑:

不是永久的解决方案!仍然建议重新安装MacPorts。

快速解决方案:

编辑:

/opt/local/share/macports/Tcl/macports1.0/macports_autoconf.tcl
/opt/local/share/macports/Tcl/port1.0/port_autoconf.tcl

更改:

variable tar_command "/usr/bin/gnutar --no-same-owner"

variable tar_command "/usr/bin/tar -o"

这可能就是为什么在其中编辑相应条目/opt/local/etc/macports/macports.conf不能解决原始海报的问题的原因
Andre Holzner 2014年

1

“问题在于您的MacPorts版本不是基于Mavericks构建的”

完整的说明可以在这里找到:https : //trac.macports.org/wiki/Migration


欢迎询问不同!尽管此链接可以回答问题,但最好在此处包括答案的基本部分,并提供链接以供参考。如果链接的页面发生更改,仅链接的答案可能会失效。
grg

这与@neverpanic的答案有何不同?
user151019 2014年

我最初遵循他的回答,后来又收到新的错误,最终导致我找到此“迁移”页面。现在一切都为我工作。
bazz 2014年

他是对的,应该参考迁移说明。我已经编辑了答案,将它们包括在内。
neverpanic 2014年

0

您也可以从Macports安装gnutar。那帮助我编译了octave-devel,尤其是它的依赖项之一-地图集。

sudo port install gnutar

这是递归的:MacPorts抱怨缺少gnutar。要使用MacPort安装gnutar,我应该能够使用MacPorts。
Matteo,

它为我工作。MacPorts在安装时不会抱怨gnu tar。它仅在安装图集时抱怨。因此,在安装地图集之前,您可以毫无问题地安装gnu tar!
丹尼斯

1
它对我不起作用。我在安装gnutar时收到错误消息...
Matteo

-3

使用Terminal.app(下的/Applications/Utilities)并运行命令:

sudo ln -s /usr/bin/bsdtar /usr/bin/gnutar

1
MacPorts不鼓励黑客入侵:twitter.com/macports/status/393296788062355456
Matteo,
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.