【问题标题】:How to fix ranlib/libtool error when running make运行 make 时如何修复 ranlib/libtool 错误
【发布时间】:2023-04-09 17:48:01
【问题描述】:

我在 Mac OS Mountain Lion v10.8.4 上使用 make 时经常出现错误。

我尝试安装 libev,运行 ./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 时遇到了问题,但我不确定如何解决。 我在某个地方看到我应该重新安装我的开发人员工具,所以我做了,但没有帮助。

【问题讨论】:

    标签: macos libtool-xcode


    【解决方案1】:

    首先是显而易见的操作:确保您拥有最新的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:

    如果您还没有安装“命令行工具”,请检查并安装,这可能就足够了。如果您在整个过程中仍有一个终端打开,请输入rehash 命令。可能您已经完成了所有这些,但有些Mac 开发人员永远不会离开 IDE。

    【讨论】:

    • 我不确定 libev 是否​​安装在我的系统上,但是当我尝试安装它时,我收到与我在第一条消息中发布的相同错误 (make[1]: *** [ libev.la] 错误 1) 等等。我的 Xcode 是最新的,并且我已经安装了命令行工具。关于自动工具,我有 libtool 但没有其他的..
    • @Brett Hale 首先感谢!但不幸的是,当我运行 sudo make 命令时,我仍然得到与上一条消息相同的错误。我已经安装了 glibtools 并尝试运行 sh authogen.sh 然后 ./configure CC="clang" .... 但是我收到编译器无法工作的错误...如果我运行 . /configure 没有任何标志然后就可以了,但是当我再次运行 make 命令时出现同样的错误(make[1]: *** [libev.la] Error 1)
    猜你喜欢
    • 2015-10-31
    • 1970-01-01
    • 2021-01-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多