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

xcode – 为什么Homebrew报告“无法理解kern.osversion`14.0.0’”?

当我运行brew – config时,我得到了
HOMEBREW_VERSION: 0.9.5
ORIGIN: https://github.com/Homebrew/homebrew
HEAD: bc071fb5448628aea8f066bbc0f37b0ecb4f11ee
Last commit: 16 hours ago
HOMEBREW_PREFIX: /usr/local
HOMEBREW_CELLAR: /usr/local/Cellar
cpu: quad-core 64-bit haswell
OS X: 10.10.1-x86_64
Xcode: 6.1.1
CLT: 6.1.1.0.1.1416017670
Couldn't understand kern.osversion `14.0.0'
GCC-4.2: build 5666
Clang: 6.0 build 600
X11: 2.7.7 => /opt/X11
System Ruby: 2.0.0-p481
Perl: /usr/bin/perl
Python: /usr/local/bin/python => /usr/local/Cellar/python/2.7.9/Frameworks/Python.framework/Versions/2.7/bin/python2.7
Ruby: /usr/bin/ruby

即使我的Xcode(在Yosemite上)命令行工具似乎是最新的(确保我重新运行xcode-select –install)并且在正确的位置

/Applications/Xcode.app/Contents/Developer

根据xcode-select -print-path,我的(仅)gcc是

Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/usr/include/c++/4.2.1
Apple LLVM version 6.0 (clang-600.0.56) (based on LLVM 3.5svn)
Target: x86_64-apple-darwin14.0.0
Thread model: posix

根据酿酒医生的唯一问题是

Unexpected static libraries:
    /usr/local/lib/libtclstub8.6.a
    /usr/local/lib/libtkstub8.6.a

但是我有几个可疑的东西,特别是usr / bin / gcc-4.2,其中–version给出了

Couldn't understand kern.osversion `14.0.0'
i686-apple-darwin11-gcc-4.2.1 (GCC) 4.2.1 (Apple Inc. build 5666) (dot 3)
...

和/usr/bin/i686-apple-darwin11-gcc-4.2.1,其中–version也给出了

Couldn't understand kern.osversion `14.0.0'
i686-apple-darwin11-gcc-4.2.1 (GCC) 4.2.1 (Apple Inc. build 5666) (dot 3)    
...

brew-config的报告是什么?

Couldn’t understand kern.osversion `14.0.0′

意思?有什么我应该做的吗?

解决方法

你刚才在这台机器上升级OS X了吗?我猜它们来自旧版的装置.由于认情况下未安装gcc,因此操作系统升级可能无法删除或替换gcc和其他XCode命令行工具.你是否可以真正安全地删除它们,我不知道,但显而易见的是重命名它们(或将它们移动到备份子目录中),以便它们不在你的PATH中.这样,自制软件将找不到它们并使用更新的编译器(clang).很可能,您的系统(XCode,brew)将照常继续,因为他们将使用系统中的clang.

您看到的错误“无法理解kern.osversion ’14 .0.0’”,可能是因为这个gcc是针对较旧的OS X内核版本编译的,而当前的一个(Yosemite / 14.0.0)是向后与此不相容.

我不知道确切地安装了哪些编译工具,但对于有问题的gcc,您可以执行以下操作:

mv /usr/bin/gcc-4.2 /usr/bin/gcc-4.2-oldOSX10.9

(假设这是安装在10.9;可能是早期版本).

有点不幸的是,升级XCode(或者更确切地说,是一个全新的版本)不会检查旧版本的命令行工具并删除那些(*).虽然可以理解,Apple当然假设您不使用普通XCode工具之外的任何东西;他们显然不会以这种方式支持自制软件.

(*)也许它确实如此,但如果你跳过一个版本或2,它可能不会回溯到检查旧版本的时间.

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

相关推荐