Linux中“./configure”的各种选项/参数是啥
Posted
技术标签:
【中文标题】Linux中“./configure”的各种选项/参数是啥【英文标题】:What are various options / arguments for "./configure" in LinuxLinux中“./configure”的各种选项/参数是什么 【发布时间】:2011-09-07 20:16:10 【问题描述】:我看到在 Linux 中安装新软件时,我总是要先使用configure
。
但有时我们需要像我今天所做的那样传递各种选项来安装lxml
:
./configure --with-python=/opt/python27/bin/python
--prefix=/usr/local
--with-libxml-prefix=/usr/local
--with-libxml-include-prefix=/usr/local/include
--with-libxml-libs-prefix=/usr/local/lib
现在我想知道这个人怎么知道可以使用像--with-python
这样的参数类型?
我的意思是:
这些参数在所有软件包中是否相同,或者它们因软件而异?
我什至还尝试阅读文档,但没有人提及这些参数。
【问题讨论】:
看脚本:less configure
对此我只能用通俗的话来说——但是编写 ./configure 然后访问自动完成(选项卡)你会得到一个可能的选项列表。这些绝对是独一无二的,具体取决于实际的软件。
@Mikaveli:认真的吗?它是一个自动生成的脚本,被创建为尽可能便携和健壮(而不是可读),因此非常不可读(就像它生成的 makefile 一样),不适合手动检查。 ./configure --help
是要走的路。只需按照 abritary autotools 教程,从其超级简单的 configure.in
生成配置脚本并尝试阅读。
@delnan:我也看到了很多手动创建的配置脚本,所以我总是先快速浏览一遍。 :)
【参考方案1】:
configure --help
总是有帮助的。但请注意:在许多包中,不仅***源目录 有一个configure
脚本,而且每个子目录 都可能有其配置脚本。因此,要了解可以传递给 ***源目录 中 configure
脚本的所有可能参数,您还应该查看每个 子目录 中的 configure
脚本。
例如,在binutils-2.34
tarball 的***源目录 中有--with-sysroot
和--with-lib-path
参数。如果您在顶部源目录中键入./configure --help
,则它们都没有文档项,因为它们记录在子目录下的configure
脚本中@987654330 @。所以你应该输入./ld/configure --help
。
【讨论】:
【参考方案2】:我知道configure --help
,但提供的信息很“简单”。以下 GNU 资源包含有用的附加信息:
Installation directory variables
Release process
【讨论】:
【参考方案3】:Autoconf 生成的所有配置脚本中有些是相同的(大部分是,但不是全部);例如--prefix
基本上是通用的。其他是特定配置脚本所特有的。
【讨论】:
【参考方案4】:./configure --help
这将显示该特定 configure
脚本的所有选项。
【讨论】:
从来不知道这是一种标准做法......哇。我喜欢 CLI 中的应用程序和命令,很高兴知道可以列出./configure [OPTION]
s。感谢您的回答
这似乎并不详尽。例如:“--disable-shared”未列出,但“--disable-FEATURE”已列出,但必须在别处查找可用的“FEATURE[s]”。这就是我正在寻找的东西,并带我到这里。所以现在我必须自己进行 RTFM。以上是关于Linux中“./configure”的各种选项/参数是啥的主要内容,如果未能解决你的问题,请参考以下文章
Linux ./configure --prefix 命令是什么意思?