Libtool - 不匹配的版本

Posted

技术标签:

【中文标题】Libtool - 不匹配的版本【英文标题】:Libtool - Mismatch version 【发布时间】:2016-05-25 06:29:08 【问题描述】:

我尝试在 Centos 5.11(内核 2.6.18-409.el5)上安装 USBIP,但是当我输入“make”时总是出现这个错误:

make[1]: Entering directory "/root/Downloads/usbip-0.1.7/src"
Making all in lib
make[2]: Entering directory "/root/Downloads/usbip-0.1.7/src/lib"
if /bin/sh ../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I. -I..    -Wall -W -Wstrict-prototypes -std=gnu99  -DUSBIDS_FILE='"/usr/local/share/usbip/usb.ids"' -g -O2 -MT libusbip_la-names.lo -MD -MP -MF ".deps/libusbip_la-names.Tpo" -c -o libusbip_la-names.lo "test -f "names.c" || echo './'"names.c; \
        then mv -f ".deps/libusbip_la-names.Tpo" ".deps/libusbip_la-names.Plo"; else rm -f ".deps/libusbip_la-names.Tpo"; exit 1; fi   


libtool: Version mismatch error.  This is libtool 1.9b, but the
 libtool: definition of this LT_INIT comes from an older release.
    libtool: You should recreate aclocal.m4 with macros from libtool 1.9b
    libtool: and run autoconf again.
    make[2]: [libusbip_la-names.lo] Error 1
    make[2]: Leaving directory "/root/Downloads/usbip-0.1.7/src/lib"
    make[1]: [all-recursive] Error 1
    make[1]: Leaving directory "/root/Downloads/usbip-0.1.7/src"
    make: *** [all] Error 2

我在论坛上看到了几个解决方案,例如“autoreconf -vfi”,但它对我不起作用。

我目前尝试重新安装 libtool 以获得最新版本,但我不能。当我输入“yum remove libtool”时,我总是可以输入“libtool --version”:

[tuk@VM01 Downloads]# libtool --version
ltmain.sh (GNU libtool) 1.9b
Written by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996

Copyright (C) 2004 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

二进制文件总是在这里:

[tuk@VM01 Downloads]# find / -name "libtool*"
/opt/share/man/man1/libtoolize.1
/opt/share/man/man1/libtool.1
/opt/share/aclocal/libtool.m4
/opt/share/info/libtool.info-1
/opt/share/info/libtool.info-2
/opt/share/info/libtool.info
/opt/share/libtool
/opt/bin/libtool
/opt/bin/libtoolize
/usr/local/share/man/man1/libtoolize.1
/usr/local/share/man/man1/libtool.1
/usr/local/share/aclocal/libtool.m4
/usr/local/share/info/libtool.info-1
/usr/local/share/info/libtool.info-2
/usr/local/share/info/libtool.info
/usr/local/share/libtool
/usr/local/bin/libtool
/usr/local/bin/libtoolize
/usr/share/automake-1.9/am/libtool.am

我有什么解决方案来安装 USBIP 吗?谢谢你

【问题讨论】:

【参考方案1】:

解决了!

我有几个 libtool 的二进制文件:

[root@SVSLOFLEX2 ~]# which -a libtool
/usr/local/bin/libtool
/usr/bin/libtool

/usr/local/bin 的版本是 1.9b (不工作)

我添加了这一行以使用另一个版本的 libtool(默认情况下):

export PATH=/usr/bin:$PATH

/usr/bin 的版本是 1.5.22,可以用,USBIP 已经安装好了。

【讨论】:

以上是关于Libtool - 不匹配的版本的主要内容,如果未能解决你的问题,请参考以下文章

Libtool 在 make install 期间未创建版本信息符号链接

Cordova iOS 构建 Libtool 失败错误

为 android 编译 vlc 时出错,是关于 libtool 版本的吗?

./libtool --mode=compile gcc -O2 -I. -c ./jcapimin.c make: ./libtool: Command not found

如何从 automake/libtool 库中获取符号列表?

无法识别 libtool 和 autoconf 的 LT_VERSION