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