运行make命令时出现ranlib \ libtool错误

时间:2013-06-23 17:53:41

标签: macos libtool-xcode

我在Mac上使用make命令时遇到反复出现的错误(使用MacOS Mountain lion 10.8.4)。

我试着安装ev库,运行后./configure我运行make命令并得到:

libtool: link: gcc -dynamiclib -Wl,-undefined -Wl,dynamic_lookup -o .libs/libev.4.dylib  .libs/ev.o .libs/event.o    -O3   -install_name  /usr/local/lib/libev.4.dylib -compatibility_version 5 -current_version 5.0 -Wl,-single_module
libtool: link: dsymutil .libs/libev.4.dylib || :
libtool: link: (cd ".libs" && rm -f "libev.dylib" && ln -s "libev.4.dylib" "libev.dylib")
libtool: link: ar cru .libs/libev.a  ev.o event.o
ranlib: unrecognized option `-q'
ranlib: Try `ranlib --help' for more information.
ar: internal ranlib command failed
make[1]: *** [libev.la] Error 1
make: *** [all] Error 2

我看到一个模式,因为我在尝试安装httpd时运行make命令 我收到这个错误:

libtool: link: rm -fr  .libs/libev.4.dylib .libs/libev.4.dylib.dSYM .libs/libev.a .libs/libev.dylib
libtool: link: gcc -dynamiclib -Wl,-undefined -Wl,dynamic_lookup -o .libs/libev.4.dylib  .libs/ev.o .libs/event.o    -O3   -install_name  /usr/local/lib/libev.4.dylib -compatibility_version 5 -current_version 5.0 -Wl,-single_module
libtool: link: dsymutil .libs/libev.4.dylib || :
libtool: link: (cd ".libs" && rm -f "libev.dylib" && ln -s "libev.4.dylib" "libev.dylib")
libtool: link: ar cru .libs/libev.a  ev.o event.o
ranlib: unrecognized option `-q'
ranlib: Try `ranlib --help' for more information.
ar: internal ranlib command failed
make[1]: *** [libev.la] Error 1
make: *** [all] Error 2

看起来我的 ranlib 命令存在问题,但我不确定如何修复它。 我看到某个地方可能我应该重新安装我的开发人员工具,所以我做了但它没有帮助..

1 个答案:

答案 0 :(得分:0)

首先是明显的操作:确保您拥有最新的libev版本,并且Xcode是最新的。配置系统似乎已过时,因为它将(我的)主机系统检测为i386-apple-darwin12.4.0而不是x86_64-apple-darwin12.4.0。虽然它似乎仍然存在。

如果安装了自动工具,例如autoconf-2.69automake-1.13.3libtool-2.4.2(通常在OS X上安装为glibtool),则可以运行包含autoreconf命令:sh autogen.sh以刷新配置系统。它会发出一些可以忽略的警告。

./configure CC="clang" CFLAGS="-pipe -W -Wall -O2 [-march=core2]"


Xcode -> Preferences -> Downloads -> Components

检查并安装Command Line Tools(如果您还没有)。这可能就足够了。如果您仍然在整个过程中打开终端,请键入rehash命令。可能你已经完成了所有这些 - 但是一些Mac开发人员从未离开IDE。