2015-09-23 85 views
6

在使用autoreconf & automake & libtool编译和安装我的申请,我总是警告“的libtool:警告:xxx.la还没有已安装在/ user/local/lib“和”libtool:警告:记得运行'libtool --finish/usr/local/lib“。我已经尝试了很多方法,例如,清理项目,并重新配置以保持清洁,但仍然无法摆脱警告。这里是我的尝试:Libtool程序安装警告:xxx.la尚未安装在/用户/ local/lib目录

./configure 
make clean 
make 
make install prefix=~/Software/ 

这里是我的configure.ac的一部分,涉及到automakelibtool

AM_INIT_AUTOMAKE([subdir-objects -Wall -Werror]) 
LT_INIT([dlopen]) 

为什么这些警告被省略以及如何摆脱它们?

回答

1

这可能有点晚,但我遇到了同样的问题。它在我做了make clean之后就消失了,然后用autoreconf重新生成我的“配置”脚本。之后,执行标准./configure --prefix=...,然后makemake install不再显示错误。祝你好运!

+2

它看起来像'libtool'根本不支持'DESTDIR'的安装时重定位或任何(通过[这个答案](http://stackoverflow.com/a/32766842/1879042)确认),并将永远尝试查看配置时指定的'--libdir',无论您运行多少次'autoreconf'。 –

+1

关于我以前的评论,它看起来像是可以通过在'libfile =“$ libdir /”.........'行中插入'$ DESTDIR'来修补'libtool'脚本,这在整个文件中是幸运的。这需要在脚本生成(或更新)后执行一次,并且可以通过运行'perl -p -i -e's#^(\ s * libfile =“)(\ $ libdir /)来自动完成。 #$ 1 \ $ DESTDIR $ 2#'libtool'。 –

+1

上一个补丁可以防止警告“* $ lib没有安装在$ libdir *中。”还要去掉警告“*记得运行libtool --finish $ libdir \'*“,可以运行'perl -p -i -e's#^(\ s * if test”X \ $ destdir“=”X)(\ $ libdir“)#$ 1 \ $ DESTDIR $ 2 #'libtool'。但是,请注意,我不知道这些补丁在最常见的情况下会产生哪些副作用。 –