DESTDIR和PRE的PRE

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了DESTDIR和PRE的PRE相关的知识,希望对你有一定的参考价值。

我正在尝试将软件安装到特定目录。我找到了几种方法,但不确定它们之间有什么区别。

  1. ./configure --prefix=***
  2. make install DESTDIR=***
  3. make install prefix=***

我对这三者的功能感到困惑。他们实现了同样的目标吗?

答案

./configure --prefix=***

数字1确定程序包安装时的位置,以及程序运行时查找其关联文件的位置。如果您只是编译在单个主机上使用的东西,那么您应该使用它。


make install DESTDIR=***

数字2用于安装到临时目录,该目录不是运行包的位置。例如,在构建deb包时使用它。构建软件包的人实际上并没有将所有内容安装到自己系统的最终位置。他可能已经安装了不同的版本并且不想打扰它,或者他甚至可能不是root用户。所以他用

./configure --prefix=/usr

因此,该程序将在运行时安装在/usr

make install DESTDIR=debian/tmp

实际创建目录结构。


make install prefix=***

3号将安装到不同的地方,但不会像DESTDIR=/foo/bar/baz那样创建所有目录。它通常用于GNU stow via

./configure --prefix=/usr/local && make && sudo make install prefix=/usr/local/stow/foo

,这将在/usr/local/stow/foo/bin安装二进制文件。通过比较,

make install DESTDIR=/usr/local/stow/foo

会在/usr/local/stow/foo/usr/local/bin安装二进制文件。

另一答案

这可以帮助说明使用DESTDIR--prefix(来自here):

使用--prefix和DESTDIR进行多次安装:

在配置时为每个构建指定不同的--prefix location /选项。例如:

untar petsc tar ball
./configure --prefix=/opt/petsc/petsc-3.9.0-mpich --with-mpi-dir=/opt/mpich
make
make install DESTDIR=/tmp/petsc-pkg
untar petsc tar ball
./configure --prefix=/opt/petsc/petsc-3.9.0-openmpi --with-mpi-dir=/opt/openmpi
make
make install DESTDIR=/tmp/petsc-pkg
另一答案

来自openssl/INSTALL

希望为标准位置配置库但是将软件包安装在其他位置以便可以轻松打包的软件包构建器可以使用

$ make INSTALL_PREFIX=/tmp/package-root install

(或指定“--install_prefix = / tmp / package-root”作为配置选项)。指定的前缀将添加到所有安装目标文件名之前。

这是非标准的,但INSTALL_PREFIX用于其他一些程序。

这适用于1.1.x之前的OpenSSL版本。 OpenSSL 1.1.x及更高版本能够识别通常的DESTDIR

以上是关于DESTDIR和PRE的PRE的主要内容,如果未能解决你的问题,请参考以下文章

<code> vs <pre> vs <samp> 用于内联和块代码片段

Vue3官网-高级指南(十七)响应式计算`computed`和侦听`watchEffect`(onTrackonTriggeronInvalidate副作用的刷新时机`watch` pre)(代码片段

KDoc:插入代码片段

崇高片段:消亡

如何在 Javadoc 中使用 @ 和 符号格式化代码片段?

在 React 和 JSX 中使用 <pre> 标记格式化代码