Linux 配置如何生成libtool自定义脚本?

Linux 配置如何生成libtool自定义脚本?,linux,build,configure,auto-generate,libtool,Linux,Build,Configure,Auto Generate,Libtool,我对libtool的东西很陌生。我有一个问题,构建我的项目需要libtool 1.5,但我的系统(debian,Squence)上的默认libtool是2.2。 我所做的是从源代码安装了libtool 1.5,并将其放入/usr/local。我的路径变量首先选择/usr/local/bin路径 运行autogen时,我可以看到它“看到”了libtool 1.5。但是,当我运行configure脚本时,版本2.2的libtool脚本会出现在我的构建目录中。我不知道它来自哪里,因为我使用包管理器卸载

我对libtool的东西很陌生。我有一个问题,构建我的项目需要libtool 1.5,但我的系统(debian,Squence)上的默认libtool是2.2。 我所做的是从源代码安装了libtool 1.5,并将其放入/usr/local。我的路径变量首先选择/usr/local/bin路径

运行autogen时,我可以看到它“看到”了libtool 1.5。但是,当我运行configure脚本时,版本2.2的libtool脚本会出现在我的构建目录中。我不知道它来自哪里,因为我使用包管理器卸载了libtool2.2

你能建议如何解决这个问题吗?如何在我的构建文件夹中生成libtool脚本?与ltmain.sh的关系是什么

谢谢,
Vyacheslav

一个简单的解决方案可能是:

$ ./configure LIBTOOL=/usr/local/bin/libtool ... $./configure LIBTOOL=/usr/local/bin/LIBTOOL。。。 但是如果您使用的是一个古老的libtool,那么您可能也在使用古老的autoconf,在这种情况下,您必须执行以下操作:

$ LIBTOOL=/usr/local/bin/libtool ./configure ... $LIBTOOL=/usr/local/bin/LIBTOOL./configure。。。 或者,如果您正在使用csh或其变体:

$ env LIBTOOL=/usr/local/bin/libtool ./configure ... $env LIBTOOL=/usr/local/bin/LIBTOOL./configure。。。
构建目录中的libtool是从ltmain.sh生成的。文件config.status(由configure生成)运行一个sed脚本,该脚本使用ltmain.sh作为生成libtool的输入。通过autoreconf运行libtoolize时,libtoolize会将ltmain.sh复制到源目录中。如果autoreconf确实在/usr/local/bin中看到了libtool 1.5,那么源目录中的ltmain.sh应该是/usr/local/share/libtool/ltmain.sh的副本。

您的第一个问题是需要使用1.5!说真的,你最好弄清楚为什么现代libtool不能工作并解决这个问题。顺便说一句,我用另一种方法解决了这个问题:运行“autoeconf--force--install--symlink”