3

libtool不会通过 HomebrewMacPorts 安装在我的 Mac 上(RVM 需要)。

这是它永远挂起的详细输出,运行 OS X 10.9 和 Xcode 4.3

    libtool: link: ( cd "libltdl/.libs" && rm -f "dlopen.la" && ln -s "../dlopen.la" "dlopen.la" )
/bin/sh ./libtool --tag=CC   --mode=link cc  -g -O2 -no-undefined -version-info 10:0:3 -dlpreopen libltdl/dlopen.la   -o libltdl/libltdl.la -rpath /usr/local/Cellar/libtool/2.4.2/lib libltdl/loaders/libltdl_libltdl_la-preopen.lo libltdl/libltdl_libltdl_la-lt__alloc.lo libltdl/libltdl_libltdl_la-lt_dlloader.lo libltdl/libltdl_libltdl_la-lt_error.lo libltdl/libltdl_libltdl_la-ltdl.lo libltdl/libltdl_libltdl_la-slist.lo libltdl/argz.lo
libtool: link: rm -f libltdl/.libs/libltdl.nm libltdl/.libs/libltdl.nmS libltdl/.libs/libltdl.nmT
libtool: link: (cd libltdl/.libs && cc -g -O2 -c -fno-builtin -fno-rtti -fno-exceptions  -fno-common -DPIC "libltdlS.c")
brew: superenv removed: -g -O2
libtool: link: rm -f "libltdl/.libs/libltdlS.c" "libltdl/.libs/libltdl.nm" "libltdl/.libs/libltdl.nmS" "libltdl/.libs/libltdl.nmT"

有任何想法吗?

4

3 回答 3

6

我有同样的问题,做了一些跟踪,发现它实际上被卡住了,等待从“lipo”命令中提取输出。

环顾了一下,找到了以下解决方案:替换

/usr/bin/lipo 

下一个

/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin

并且编译将起作用。您需要安装开发环境。

世界卫生组织先生

于 2013-10-21T10:54:22.773 回答
3

大多数配置脚本不会替换您的系统文件,而是将接受 lipo 作为环境变量:

export LIPO=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/lipo 
./configure
make
于 2014-07-30T14:45:13.887 回答
0

其他解决方案都不适合我,而且,诚然,我的错误消息并不相同,但确实包含 a rm -rf,所以这对谁可能有帮助:

对我来说摆脱这个错误的是在调用之前添加这一行makegmake在我的情况下确实如此):

ENV.deparallelize

导致我出现这种情况的原因是注意到日志输出中有另一行内容完全相同,但成功了,所以我认为这可能是时间/排序问题,所以ENV.deparallelize首先尝试的是。


PS如果有人能解释为什么make内部的并行化可能会导致这种情况,我会很感激——非并行make慢得多!

更新:添加env :std为我解决了这个问题,而不需要ENV.deparallelize;感谢ilovezfs#machomebrew 的提示!

于 2015-12-10T16:24:22.013 回答