linux - 从源代码构建包时如何在 ./configure 或 make 中指定位置?

标签 linux installation package autotools

假设我想在/opt下安装一个包,三个中的哪个应该附加“prefix”?我看了一些资料,仍然很困惑。谢谢。

我应该在哪个命令中添加位置?

./configure prefix=/opt<br/> make prefix=/opt<br/> make prefix=/opt install

最佳答案

基于 Autotools 的构建系统为您提供两种主要选择:您可以在配置时或构建时指定安装前缀(和其他安装位置)。

要在配置时指定,您可以使用 configure 脚本的 --prefix 选项,如 ./configure - -help 将向您描述。例如,

./configure --prefix=/opt/mypackage

通常情况下,人们会毫不费力地继续

make
sudo make install

要在构建时指定,您可以在没有--prefix 选项的情况下进行配置,也许只是

./configure

然后您通过相应的 make 变量 指定前缀。在某些情况下,仅将它指定给 make install 可能就足够了,但在其他情况下,您需要将它指定给两个 make 运行,因此最明智的做法是将其作为一般规则:

make prefix=/opt/mypackage
sudo make install prefix=/opt/mypackage

我还注意到,不应直接在 /opt 中安装任何内容——即 /opt/bin/opt/lib , 等等。它应该安装在 /opt 的每个包子目录中,甚至可能分组在与提供商相关的子目录下。

关于linux - 从源代码构建包时如何在 ./configure 或 make 中指定位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58157373/

相关文章:

linux - 如何在 Linux 中操作窗口

reactjs - 如何安装节点sass?

windows-8 - 尝试重新打包 APPX 包时出现 SignTool 内部错误?

linux - ssh cronjob with while 仅执行 1 次

linux - Grep 使用帮助

linux - Vim + Airline + Linux 草率退出

linux - install4j 安装第三方rpm

web-applications - 通过javascript/html将网络应用程序安装到主屏幕

node.js - .bowerrc 选项使 Bower 安装假设 --save

android - 如何在android中安装具有相同包名的应用程序?