我使用以下autotool步骤来安装我的pacakges:
./configure
make
make install prefix=/my/path
但是我得到了以下libtool警告“ libtool:警告:记得运行'libtool --finish / usr / local / lib '和” libtool:警告:'lib / my当使用autotool安装我的软件包时,.la'尚未安装在'/ usr / local / lib'中。如果我更改为以下命令,问题就会消失:
./configure
make prefix=/my/path
make install prefix=/my/path
看起来第一种方法不能正确地将prefix
替换为libtool。我该如何避免这个问题?
答案 0 :(得分:11)
libtool
档案记录有关他们描述的库的信息是预期的安装位置。创建库时会记录该信息。然后,您可以安装到其他位置,但libtool
会抱怨。通常,libtool
的警告是无害的。
为了避免出现此类警告,您需要在安装时告诉libtool
与构建时相同的安装位置。您在问题中提出了一种方法,但如果您使用的是标准的Autotools构建系统,那么最好将安装前缀指定为configure
:
./configure --prefix=/my/path
make
make install
或者,如果要安装到临时区域(例如构建RPM),请在安装时使用DESTDIR
。 libtool
仍然会发出警告,但你会避免弄乱别的东西:
./configure
make
make install DESTDIR=/staging/area