26

一直在尝试使用 easy_install 或 pip 安装 psycopg2,但终端卡在 xcrun 和 lipo 之间的循环中。

sidwyn$ sudo easy_install psycopg2
Searching for psycopg2
Reading https://pypi.python.org/simple/psycopg2/
Reading http://initd.org/psycopg/
Reading http://initd.org/projects/psycopg2
Best match: psycopg2 2.5.1
Downloading https://pypi.python.org/packages/source/p/psycopg2/psycopg2-2.5.1.tar.gz#md5=1b433f83d50d1bc61e09026e906d84c7
Processing psycopg2-2.5.1.tar.gz
Writing /tmp/easy_install-dTk7cd/psycopg2-2.5.1/setup.cfg
Running psycopg2-2.5.1/setup.py -q bdist_egg --dist-dir /tmp/easy_install-dTk7cd/psycopg2-2.5.1/egg-dist-tmp-4jaXas
clang: warning: argument unused during compilation: '-mno-fused-madd'

它在 xcrun 和 lipo 之间反弹,并永远卡在这个循环中。希望对此有一些见解。

我在 OS X Mavericks 10.9,最新版本。

4

5 回答 5

51

更合适的解决方法是:

ln /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/lipo /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/lipo
xcrun -k lipo

原因:xfx 的修复可能会破坏在未来版本的 Xcode 中使用 xcode-select 选择工具链的能力。

在 Mavericks 和 Xcode 5.x 之前,/usr/bin/lipo 似乎是实际lipo 工具的实际位置(尝试- 看起来像一个大二进制文件)。在 Mavericks / Xcode 5.x 中,lipo 被移动到 XcodeDefault.xctoolchain,并且二进制 at是一个看起来只是调用(见)的薄包装器,它反过来根据.cat /usr/bin/lipo/usr/bin/lipoxcrun liponm /usr/bin/lipoxcode-select

可能,新版本xcode-select和/或 Mavericks 将 /usr/bin/lipo 替换为包装器版本。如果您随后尝试将 lipo 与 4.x toolchain xcode-select'd 一起使用,它将无法工作,因为该工具不包含在旧版本的 Xcode 中。幸运的是,由于某种原因,它仍然包含在 iPhoneOS.platform 中,否则您可能必须从未损坏的 <=10.8 机器中提取它。

看起来好像在 4->5 开关中的 Developer/usr/bin 和 Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin 之间有很多工具的改组 - 如果有类似的问题,我不会感到惊讶其他不太常用的命令行工具也是如此。

最后,xcrun 在找不到工具时挂起的事实看起来像一个苹果错误,简单明了。

于 2013-10-29T22:46:36.280 回答
12

这个对我有用:

xcode-select -–install
sudo mv /usr/bin/lipo /usr/bin/lipo.orig
sudo ln -s /Library/Developer/CommandLineTools/usr/bin/lipo /usr/bin
于 2013-11-19T11:42:05.547 回答
3

我遇到了同样的问题,通过用 Max OS 10.7 中的旧版本替换 /usr/bin/lipo 来解决。

更新:将 /usr/bin/lipo 替换为 /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin 即可。您需要 Xcode 应用程序或 img 文件。

于 2013-09-12T13:00:27.447 回答
3

最简单的解决方案可能是升级到 XCode 5.x。

于 2014-04-04T15:28:57.940 回答
0

/usr/bin/lipo我从TimeMachine备份中恢复(更新到 OSX 10.9 之前的时间戳)。然后XCode4.x 工作正常,归档不再挂起。

于 2014-01-15T20:38:13.463 回答