系统相关
首页 > 系统相关> > linux – 如何通过configure生成libtool自定义脚本?

linux – 如何通过configure生成libtool自定义脚本?

作者:互联网

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

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

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

谢谢,
维亚切斯拉夫

解决方法:

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

$./configure LIBTOOL=/usr/local/bin/libtool ...

但是如果你使用古老的libtool,你也可能使用古老的autoconf,在这种情况下你必须这样做:

$LIBTOOL=/usr/local/bin/libtool ./configure ...

或者,如果您使用csh或其变体:

$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的副本.

标签:linux,build,configure,libtool,auto-generate
来源: https://codeday.me/bug/20190613/1235255.html