自制libtool安装卡在`rm -rf`

时间:2013-09-26 18:25:09

标签: makefile install homebrew libtool

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

这是详细的输出,它永远挂起,运行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"

有什么想法吗?

3 个答案:

答案 0 :(得分:6)

我有同样的问题,做了一些跟踪,发现实际上是等待输出从“lipo”命令中插入。

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

/usr/bin/lipo 

下面有一个

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

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

MrWHO

答案 1 :(得分:3)

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

export LIPO=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/lipo 
./configure
make

答案 2 :(得分:0)

其他解决方案都没有对我有用,而且,不可否认,我的错误消息并不相同,但确实包含rm -rf,所以对于任何人都可以提供帮助:

对我来说摆脱这个错误的是在调用make之前立即添加这一行(在我的情况下确实是gmake):

ENV.deparallelize

导致我注意到这一点是注意到日志输出中有另一行具有完全相同的内容,但是成功了,所以我认为这可能是一个时间/排序问题,所以ENV.deparallelize是第一个要尝试的东西。

P.S。如果有人能够阐明为什么内部并行化可能会导致这种情况,那么我很欣赏 - 非并行make会慢得多!

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