我在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 命令存在问题,但我不确定如何修复它。 我看到某个地方可能我应该重新安装我的开发人员工具,所以我做了但它没有帮助..
答案 0 :(得分:0)
首先是明显的操作:确保您拥有最新的libev
版本,并且Xcode是最新的。配置系统似乎已过时,因为它将(我的)主机系统检测为i386-apple-darwin12.4.0
而不是x86_64-apple-darwin12.4.0
。虽然它似乎仍然存在。
如果安装了自动工具,例如autoconf-2.69
,automake-1.13.3
和libtool-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。