首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >DESTDIR和make前缀

DESTDIR和make前缀
EN

Stack Overflow用户
提问于 2012-07-03 16:49:48
回答 3查看 92.8K关注 0票数 145

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

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

我对这三个的功能感到困惑。它们是否实现了相同的目标?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-07-03 17:09:20

./configure --prefix=***

编号1决定了安装包时包的位置,以及包运行时查找相关文件的位置。如果你只是在一台主机上编译要使用的东西,它就是你应该使用的。

make install DESTDIR=***

# 2用于安装到临时目录,而不是从该目录运行包。例如,这是在构建deb包时使用的。构建包的人实际上不会将所有东西安装到他自己系统上的最终位置。他可能已经安装了一个不同的版本,并且不想打扰它,或者他甚至可能不是root用户。所以他用

代码语言:javascript
复制
./configure --prefix=/usr

因此,该程序在运行时预计会安装在/usr中,然后

代码语言:javascript
复制
make install DESTDIR=debian/tmp

来实际创建目录结构。

make install prefix=***

3号将把它安装到一个不同的位置,但不会像DESTDIR=/foo/bar/baz那样创建所有目录。它通常与GNU stow via一起使用

代码语言:javascript
复制
./configure --prefix=/usr/local && make && sudo make install prefix=/usr/local/stow/foo

,它将在/usr/local/stow/foo/bin中安装二进制文件。相比之下,

代码语言:javascript
复制
make install DESTDIR=/usr/local/stow/foo

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

票数 217
EN

Stack Overflow用户

发布于 2018-04-27 22:31:14

这有助于说明DESTDIR--prefix (来自here)的用法:

使用--前缀和DESTDIR:多次安装

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

/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

票数 1
EN

Stack Overflow用户

发布于 2019-04-17 00:42:06

来自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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11307465

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档