Makefile make install的Libtool安装问题

Makefile make install的Libtool安装问题,makefile,libtool,Makefile,Libtool,我使用以下自动工具步骤安装我的软件包: ./configure make make install prefix=/my/path 但是我得到了以下libtool警告“libtool:warning:记住运行'libtool--finish/usr/local/lib”和“libtool:warning:'lib/my.la'在使用autotool安装软件包时没有安装在'/usr/local/lib'”中。如果我更改为以下命令,问题就会消失: ./configure make prefix=/

我使用以下自动工具步骤安装我的软件包:

./configure
make
make install prefix=/my/path
但是我得到了以下libtool警告“libtool:warning:记住运行'libtool--finish/usr/local/lib”和“libtool:warning:'lib/my.la'在使用autotool安装软件包时没有安装在'/usr/local/lib'”中。如果我更改为以下命令,问题就会消失:

./configure
make prefix=/my/path
make install prefix=/my/path

第一种方法似乎无法正确地将
前缀替换为libtool。如何避免此问题?

libtool
存档的信息中,有关它们所描述的库的记录是预期的安装位置。创建库时会记录该信息。然后,您可以在所有这些都被转移到不同的位置,但是
libtool
会抱怨。通常,
libtool
的警告是无害的

为了避免此类警告,您需要在生成时告诉
libtool
与在安装时相同的安装位置。您在问题中给出了一种方法,但如果您使用的是标准的Autotools生成系统,则最好将安装前缀指定为
configure

./configure --prefix=/my/path
make
make install
或者,如果要安装到暂存区域,例如用于构建RPM,则在安装时使用
DESTDIR
libtool
仍将发出警告,但可以避免弄乱任何其他内容:

./configure
make
make install DESTDIR=/staging/area

当我有一个指向安装目录的符号链接时,出现了此警告。即使前缀和实际安装目录相同(在符号链接解析后),libtool认为它们是不同的目录,所以它打印了警告。我通过更改前缀来修复它。我之所以这样做,是因为我有一个自定义构建脚本,它使用$cwd并手动将cd放入不同的目录来运行make,因为它要快得多(>30秒)而不是在我正在构建的软件上使用make-j安装。make-j安装没有这个问题。