Python xcrun/lipo与OSXMavericks和XCode 4.X一起冻结

Python xcrun/lipo与OSXMavericks和XCode 4.X一起冻结,python,xcode,psycopg2,osx-mavericks,lipo,Python,Xcode,Psycopg2,Osx Mavericks,Lipo,一直试图用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 matc

一直试图用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,最新版本。

我也遇到了同样的问题,通过将/usr/bin/lipo替换为Max OS 10.7中的旧版本来修复

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

更合适的修复方法是:

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工具的实际位置(try
cat/usr/bin/lipo
——看起来像一个大二进制文件)。在Mavericks/Xcode 5.x中,lipo被移动到XcodeDefault.xToolchain,位于
/usr/bin/lipo
的二进制文件是一个薄包装,似乎只是调用
xcrun-lipo
(请参见
nm/usr/bin/lipo
),然后根据
Xcode-select
查找lipo的位置

很可能,新版本的
xcode-select
和/或Mavericks将/usr/bin/lipo替换为包装器版本。如果您随后尝试将lipo与4.x工具链
xcode select
'd一起使用,它将不起作用,因为旧版本的xcode中不包含该工具。幸运的是,由于某些原因,它仍然包含在iPhoneOS.platform中,否则您可能必须从一个未损坏的5交换机中拔出它-如果其他不太常用的命令行工具也存在类似问题,我也不会感到惊讶

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

这一个对我来说很有用:

xcode-select -–install
sudo mv /usr/bin/lipo /usr/bin/lipo.orig
sudo ln -s /Library/Developer/CommandLineTools/usr/bin/lipo /usr/bin

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

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

想知道这会产生什么样的影响?这个q应该用mavericks/XCode/lipo/xcrun标记,可能不是python/etc,因为这是一个构建工具链问题,而不是python问题。另外一个注意事项——如果lipo仍然挂在上面,
xcrun-k lipo
将清除缓存的(不正确的)位置。而且,令人敬畏的是,如果你在你的构建挂起的时候这样做,它会立即解除伤害。只是要和我们的客户合作。他们安装了最新和最棒的命令行工具,但是在升级XCode之后,我们不再有这个问题,而是安装了旧版本的XCode 4.1.x。非常非常奇怪。我是小牛队的,有这个问题。升级到XCode 6修复了它。