我使用以下autotool步骤来安装我的pacakges:
./configure
make
make install prefix=/my/path
Run Code Online (Sandbox Code Playgroud)
但是我收到了以下libtool警告" libtool:警告:记得运行'libtool --finish/usr/local/lib '和" libtool:warning:'lib/my.la'尚未安装在'/ usr/local/lib' "使用autotool安装我的软件包.如果我更改为以下命令,问题就会消失:
./configure
make prefix=/my/path
make install prefix=/my/path
Run Code Online (Sandbox Code Playgroud)
看起来第一种方法不能prefix正确地替换为libtool.我该如何避免这个问题?
Joh*_*ger 11
libtool存档记录有关它们描述的库的信息是预期的安装位置.创建库时会记录该信息.然后,您可以安装到其他位置,但libtool会抱怨.通常,libtool警告是无害的.
为了避免这种警告,您需要libtool在安装时告知构建时的相同安装位置.您在问题中提出了一种方法,但如果您使用的是标准的Autotools构建系统,那么最好将安装前缀指定为configure:
./configure --prefix=/my/path
make
make install
Run Code Online (Sandbox Code Playgroud)
或者,如果要安装到临时区域(例如构建RPM),则DESTDIR在安装时使用. libtool仍然会警告,但你会避免弄乱别的东西:
./configure
make
make install DESTDIR=/staging/area
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4461 次 |
| 最近记录: |