configure选项

OpenEuler 安装GLIBC make命令编译项目,并通过"-j 8"参数告诉make命令同时使用8个并行任务进行编译,以加快编译速度。(下午是过程随机截图) 阅读详情
 

1、
configure --prefix=/tools --disable-nls

--prefix=/tools
这个参数告诉 configure 脚本,应该把 Binutils 软件包中的程序安装到 /tools 目录中。

--disable-nls
这个参数禁止了国际化(通常简称i18n),静态程序不需要国际化的特性。


2、
configure --prefix=/tools \
    --with-local-prefix=/tools --disable-nls --enable-shared \
    --enable-languages=c

--with-local-prefix=/tools
这个参数的目的是把 /usr/local/include 目录从 gcc 的 include 搜索路径里删除。这并不是绝对必要,但我们想尽量减小宿主系统的影响,所以才这样做。

--enable-shared
这个参数咋一看有点违反直觉。但只有加上它,才能编译出 libgcc_s.so.1 和 libgcc_eh.a 。Glibc(下一个软件包)的配置脚本只有在找到 libgcc_eh.a 时才能确保产生正确的结果。

--enable-languages=c
只编译 GCC 软件包中的 C 编译器。我们在本章里不需要其它编译器。


3、
configure --prefix=/tools \
    --disable-profile --enable-add-ons \
    --enable-kernel=2.6.0 --with-binutils=/tools/bin \
    --without-gd --with-headers=/tools/include \
    --without-selinux

--disable-profile
它关掉了 profiling 信息相关的库文件编译。如果你打算做 profiling ,就省掉这个参数。

--enable-add-ons
这个指示 Glibc 使用附加的 NPTL 包作为线程库。

--enable-kernel=2.6.0
这个告诉 Glibc 编译支持 2.6.x 内核的库。

--with-binutils=/tools/bin
这个参数并不是必需的。但它们能保证在编译 Glibc 时不会用错 Binutils 程序。

--without-gd
这个参数保证不生成 memusagestat 程序,这个程序会顽固地连接到宿主系统的库文件(libgd, libpng, libz 等等)。

--with-headers=/tools/include
这个参数指示 Glibc 按照前面刚刚安装到 tools 目录中的内核头文件编译自己,从而精确的知道内核的特性以根据这些特性对自己进行最佳化编译。

--without-selinux
当从一个含有 SELinux 特性的宿主系统(如 Fedora Core 3)编译时,Glibc 将会将 SELinux 支持编译进来。由于 LFS 工具链并不包含 SELinux 支持,所以一个含有 SELinux 特性的 Glibc 将会导致许多操作失败。所以这里明确禁用它。


4、
./configure --prefix=/tools --with-tcl=/tools/lib \
  --with-tclinclude=/tools/include --with-x=no

--with-tcl=/tools/lib
这个选项确保配置脚本找到的是安装在临时工具目录下的 Tcl ,而不是宿主系统里的。

--with-tclinclude=/tools/include
这个选项告诉 Expect 到哪里寻找 Tcl 的源代码目录和头文件。使用这个选项可以避免 configure 脚本因为找不到 Tcl 的源代码目录而导致的失败。

--with-x=no
这个选项告诉 configure 脚本不要搜索 Tk(Tcl的图形界面组件)或者 X Window 系统的库,这两者都可能位于宿主系统上。


5、
configure --prefix=/tools \
    --with-local-prefix=/tools --enable-clocale=gnu \
    --enable-shared --enable-threads=posix \
    --enable-__cxa_atexit --enable-languages=c,c++ \
    --disable-libstdcxx-pch

--enable-clocale=gnu
本参数确保 C++ 库在任何情况下都使用正确的 locale 模块。如果配置脚本查找到 de_DE 这个 locale ,它就会使用正确的 gnu locale 模块。然而,如果没有安装 de_DE ,就有可能创建出应用程序二进制接口(ABI)不兼容的 C++ 库文件,这是因为选择了错误的通用(generic) locale 模块。

--enable-threads=posix
使 C++ 异常能处理多线程代码。

--enable-__cxa_atexit
用 __cxa_atexit 代替 atexit 来登记 C++ 对象的本地静态和全局析构函数,这是为了完全符合标准对析构函数的处理规定。它还会影响到 C++ ABI ,因此生成的 C++ 共享库在其他的 Linux 发行版上也能使用。

--enable-languages=c,c++
本参数编译 C 和 C++ 语言的编译器。

--disable-libstdcxx-pch
不为 libstdc++ 编译预编译头(PCH),它占用了很大空间,但是我们用不到它。


6、
configure --prefix=/tools \
    --disable-nls --with-lib-path=/tools/lib

--with-lib-path=/tools/lib
这个选项指示 configure 脚本在 Binutils 编译过程中将传递给连接器的库搜索路径设为 /tools/lib ,以防止连接器搜索宿主系统的库目录。


7、
./configure --prefix=/tools --with-shared \
    --without-debug --without-ada --enable-overwrite

--without-ada
这个选项让 Ncurses 在即使宿主系统上安装了 Ada 编译器的情况下也不要编译其 Ada 绑定。需要这样做的原因是一旦我们进入 chroot 环境,Ada 就不能使用了。

--enable-overwrite
这个选项让 Ncurses 把它的头文件安装到 /tools/include 目录,而不是 /tools/include/ncurses 目录,以确保其它软件包可以顺利找到 Ncurses 的头文件。


8、
./configure --prefix=/tools --without-bash-malloc

--without-bash-malloc
这个选项禁用了 Bash 的内存分配函数(malloc),这个函数已知会造成段错误,通过设置这个选项,Bash 将使用更为稳定的 Glibc 里的 malloc 函数。


9、
./configure --prefix=/tools --disable-shared

--disable-shared
当前我们不需要安装任何 Gettext 共享库,因此也就不需要编译它们。


10、
./configure --prefix=/tools \
    --disable-perl-regexp

--disable-perl-regexp
这个选项确保 grep 程序不连接可能在宿主系统上存在的 PCRE(Perl 兼容正则表达式)库,因为进入 chroot 环境后,它就不能使用了。


11、
./configure.gnu --prefix=/tools -Dstatic_ext='Data/Dumper Fcntl IO POSIX'

-Dstatic_ext='Data/Dumper Fcntl IO POSIX'
这个选项让 Perl 编译静态扩展的最小集,下一章安装和测试 Coreutils 软件包的时候需要用到。


12、
configure --prefix=/usr \
    --disable-profile --enable-add-ons \
    --enable-kernel=2.6.0 --libexecdir=/usr/lib/glibc

--libexecdir=/usr/lib/glibc
把pt_chown程序的位置从默认的 /usr/libexec 改为 /usr/lib/glibc 。


13、
configure --prefix=/usr --enable-compat185 --enable-cxx

--enable-compat185
这个选项指定编译 Berkeley DB 1.85 向上兼容性API。

--enable-cxx
这个选项指定编译 C++ API 库。


14、
./configure --prefix=/usr --with-shared --without-debug --enable-widec

--enable-widec
这个选项导致宽字符库(例如,libncursesw.so.5.5)将会替换正常的(例如,libncurses.so.5.5)。这些宽字符库可以在 多字节和传统的8位 locale 下使用,然而正常的库一般只能在 8位 的locale环境下工作。宽字符和正常的库是源码兼容的,但不是二进制兼容的。


15、
./configure --prefix=/usr --bindir=/bin --enable-html

--enable-html
This builds the HTML documentation.


16、 
对 Perl 的设置进行更多的控制,你可以运行交互的 Configure 脚本,精心选择编译配置。如果你能接受 Perl 的自动配置(这是很明智的),就用下面的命令:
./configure.gnu --prefix=/usr \
    -Dman1dir=/usr/share/man/man1 \
    -Dman3dir=/usr/share/man/man3 \
    -Dpager="/usr/bin/less -isR"

-Dpager="/usr/bin/less -isR"
纠正 perldoc 代码调用 less 程序时的一个错误。

-Dman1dir=/usr/share/man/man1 -Dman3dir=/usr/share/man/man3
因为 Groff 还没有安装,Configure 会认为我们不想安装 Perl 的 man 手册。应用这个参数来改变这种情况:


17、
./configure --prefix=/usr --bindir=/bin \
    --without-bash-malloc --with-installed-readline

--with-installed-readline
这个选项是告诉 Bash 使用已经安装的系统的 readline 库,而不是它自己的 readline 版本。


18、
../configure --prefix=/usr --with-root-prefix="" \
    --enable-elf-shlibs --disable-evms

--with-root-prefix=""
有的程序(如 e2fsck )对系统来说是非常重要的,例如,在 /usr 没有挂载的情况下。这些程序和库就应放在像 /lib 和 /sbin 这些目录中。如果没有把上面的参数传递给 E2fsprogs 的 configure 脚本,它就会把程序放在 /usr 目录下。

--enable-elf-shlibs
这会创建共享的库,供 E2fsprogs 包中的一些程序使用。

--disable-evms
这个选项禁止了企业卷管理系统(EVMS)插件的支持。因为这个插件并没有更新到适合最新的 EVMS 接口并且 EVMS 并不是基本 LFS 系统的一部分,所以我们并不需要这个插件。


19、
./configure --prefix=/usr --libexecdir=/usr/lib/findutils \
    --localstatedir=/var/lib/locate

--localstatedir
将 locate 数据库的位置指定为 /var/lib/locate ,以符合 FHS 标准。


20、
./configure --prefix=/usr --libexecdir=/usr/sbin \
    --sysconfdir=/etc --localstatedir=/var \
    --disable-logger --disable-syslogd \
    --disable-whois --disable-servers

--disable-logger
阻止 inetutils 安装 logger 程序,脚本利用这个程序向系统日志守护进程传递消息。我们不安装它是因为 Util-linux 包含一个更好的版本。

--disable-syslogd
这个参数阻止 inetutils 安装 System Log Daemon(系统日志守护进程),我们将在后面的 Sysklogd 软件包中安装它。

--disable-whois
阻止 inetutils 编译 whois 客户端,因为它已经很陈旧了。在 BLFS book 里面有安装更好的 whois 客户端的指导。

--disable-servers
阻止安装几种网络服务器。这些服务器对于基本的 LFS 系统是不合适的,有的还不安全,很多服务器都有更好的替代者。


21、
./configure --datadir=/lib/kbd

--datadir=/lib/kbd
这个选项把键盘布局信息存放到根分区内,而不是存放在默认的 /usr/share/kbd。


22、
./configure --prefix=/usr --sysconfdir=/etc

--sysconfdir=/etc
这个选项告诉程序建立软件包时在 /etc 目录里查找配制文件。


23、
./configure --prefix=/usr --enable-mb-groff --disable-setuid

--enable-mb-groff
通知 man 在格式化非ISO-8859-1格式的 manual 页时,使用 "ascii8" 和 "nippon" Groff 设备。

--disable-setuid
使 man 不能给用户 man 设置uid位。


24、
./configure --prefix=/usr --with-libc

--with-libc
这个使得 mktemp 程序从系统的 C 库中使用 mkstemp 和 mkdtemp 的功能。


25、
./configure --prefix=/usr --exec-prefix=""

--exec-prefix=""
这个确保 Psmisc 二进制文件按照 FHS 标准被安装在 /bin 而不是 /usr/bin ,因为一些 Psmisc 二进制文件将被 LFS-Bootscripts 使用。


26、
./configure --libdir=/lib --enable-shared --without-selinux

--without-selinux
selinux 的支持默认是打开的,但是 selinux 不包含在 LFS 基本系统中。如果这个选项不设置, configure 脚本会报错。


27、
./configure --prefix=/usr --enable-multibyte

--enable-multibyte
我们强烈推荐你启用该选项(虽然它是可选的),因为它使得 Vim 可以支持使用多字节字符编码的文件,在一个使用多字节字符集的 locale 上,这是必需的。另外该选项还有助于编辑在默认使用 UTF-8 字符集的其它 Linux 发行版(如 Fedora Core)上创建的文本文件。


28、

 

 


 

Qt5.7.0配置选项(configure options) configure是一个命令行工具,用于配置Qt编译到指定平台。configure必须运行于Qt源码根目录。当运行configure时,编译源码使用的是所选工具链中的make工具。 一.源码目录、编译目录和安装目录 源码目录就是包含源码的目录。编译目录是包含Makefiles文件、object文件和其他中间文件的目录。安装目录是二进制文件和库文件安装的目录。 当编译目录和源码目录不一样时,称 阅读详情

相关推荐

详解Σ-Δ型ADC拓扑结构的基本原理

现在,总环路滤波器的H(f)具有更大的滚降,Mod 2型的噪声传递函数具有40 dB/十倍频程的上升速率。同样,当正弦波输入为负满量程时,+1和–1之间的转换会减少,输出以–1为主。噪声传递函数是一个高通滤波器函数,提供噪声整形,在DC附近的较低频率,对量化噪声有很强的抑制。H(f)是环路滤波器的函数,定义噪声和信号的传递函数。Σ-Δ型ADC的噪底由热噪声决定,而不受量化噪声的限制。量化噪声为量化器的输入与输出之差。图5. Mod 1 Σ-Δ环路的线性模型(b),包括方程、滤波器、信号和噪声传递函数图。

qq_43416206的博客 1810

【LFS之步步为营】【三】

【引言:进一步推进工作,开始工具链的制作,其间命令较多且较复杂,需谨慎细心。】 本节主要记录如何构建一个新的不依赖于宿主系统的工具链(编译器、汇编器 、 连接器、库文件以及一些有用的软件),并对每步操作进行相应说明,外加笔者遇到的一些问题及解决方案。 首先什么叫工具链? LFS/CLFS工具链是一套用于从C/C++源代码生成可执行文件的软件组件适当地组合在一起形成的系

chaosir的专栏 1638

mac(apple silicon)arm64安装spm12详细教程

3.下载matlab runtime R2023b for macOS (macA64),注意必须下载这个,只下载matlab是不可以的。默认安装目录是/Applications/MATLAB/MATLAB_Runtime/R2023b。注意最后的命令,路径根据自己的matlab_runtime安装位置进行调整,然后就可以安装成功了。5. 解压spm12.zip,解压后将文件夹拖到应用程序下(Applications)2.下载spm12,这个版本可兼容mac芯片!6.打开mac终端,输入。

weixin_62332001的博客 2024

CentOS7 安装gcc和glibc-2.18

版本: [root@localhost build]# cat /etc/redhat-release CentOS Linux release 7.5.1804 (Core) 一、配置yum 用阿里云的镜像: 1. 备份 mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup 2. 下载 curl -o /etc/yum.repos.d/CentOS-Base.repo https://.

a门a前一棵葡萄树的博客 6235

SAP ABAP实战:如何用CVI_EI_INBOUND_MAIN批量更新BP邮箱(附完整代码)

本文深入解析了SAP ABAP中CVI_EI_INBOUND_MAIN函数在业务伙伴(BP)邮箱地址批量维护场景下的应用。通过详细讲解数据结构构建、关键参数(如任务参数'5')配置及完整代码示例,为开发者提供了一套高效、稳定的批量更新解决方案,并分享了性能优化与错误处理的最佳实践。

weixin_29228781的博客 77

Codesys.运动控制修改凸轮点

通过改凸轮曲线的主从轴缩放比例或者偏置。 新建多个凸轮曲线,对CAM曲线进行切换。 程序中动态修改,仅修改中间的关键点(凸轮末点修改or凸轮曲线运行中修改)。 程序中动态修改,修改首未关键点及关键点个数,需要重新触发MC_TableSelect。 使用程序新建凸轮表代码,实现电子凸轮基本运动。 我们讲的凸轮表切换、关键点修改、程序新建电子凸轮,这些方法没有本质区别,总之都是“趁曲线不注意,把凸轮表改了。

傻响雨 6828

安装nginx,configure通过出现nginx ./configure --disable-shared错误

make出现nginx ./configure --disable-shared这个错误。可以进入objs/Makefile文件去掉disable这行

scnjl 2933

2025华为od机试真题B卷【版本管理】JavaScript实现

在 软件版本管理中,版本号由点分割的数字组成,例如 1.2.3 和 2.8。现在,你需要编写一个函数,计算两个版本号之间的可用版本号个数。这里的可用版本号指的是所有满足 version1<x<version2的版本号x的个数。若 version1 >=version2 返回0.,

MISAYAONE的博客 254

Centos7更新glibc2.18

Centos7更新glibc2.18

教Linux的李老师 3732

YOLO26改进策略【小目标改进】| 添加专用于小目标的检测层 附YOLOv1~YOLOv11的检测头变化详解

在目标检测领域,小目标检测一直是一个具有挑战性的问题。算法以其高效快速的特点受到广泛关注,然而在面对小目标时,仍存在一些局限性。本文将介绍如何在中添加小目标检测层,以提高对小目标的检测能力。原始模型结构如下: 二、有效特征层对应的检测头类别 2.1 P3/8 - small检测头 原始模型中的对应的检测头主要用于检测相对较小的目标。其特征图大小相对较大,空间分辨率较高。 适合检测尺寸大概在到像素左右的目标。 2.2 P4/16 - medium检测头 这个检测头对应的经过了更多的下采样操作,相比P3/

Limiiiing的博客 351

SAP-ABAP:新手入门篇——从0到1写出你的第一个ABAP Hello World程序并完成调试运行

本文是ABAP开发入门指南,详细介绍如何创建并运行第一个"Hello World"程序。主要内容包括:通过SE38事务码进入ABAP编辑器;创建以Z/Y开头的程序并保存为本地对象;编写简单的WRITE输出语句;完成语法检查、激活和执行流程;以及初步体验调试功能。文章特别强调ABAP开发的规范要求,如程序命名规则、激活与保存的区别等,并提供了详细的步骤说明和常见问题提示,帮助零基础开发者快速上手ABAP编程。

baidu_35680696的博客 479

Configure 参数选项详解

Linux环境下的软件安装,并不是一件容易的事情;如果通过源代码编译后在安装,当然事情就更为复杂一些;现在安装各种软件的教程都非常普遍;但万变不离其中,对基础知识的扎实掌握,安装各种软件的问题就迎刃而解了。Configure脚本配置工具就是基础之一,它是autoconf的工具的基本应用。  与一些技巧相比,Configure显得基础一些,当然使用和学习起来就显得枯燥乏味一些,当然要成为高手,对基础

不积跬步,无以至千里;不集细流,无以成江海 1043

论文阅读:ICLR 2026 Breaking and Fixing Defenses Against Control-Flow Hijacking in Multi-Agent Systems

该论文首先系统阐述了控制流劫持攻击的核心机理。此类攻击通过操纵多智能体系统的编排机制,诱导系统执行非安全操作,进而实现敏感信息窃取。攻击者将恶意指令伪装成环境错误信息,借助可信代理传递至系统编排器,利用"困惑副手"漏洞绕过传统安全防线。该论文指出,现有防御方案如LlamaFirewall所依赖的对齐检查机制存在根本性局限——安全目标与功能需求之间存在不可调和的内在冲突。该论文的核心贡献体现在攻防两个维度。

CSPhD-winston的博客 493

configure 常用选项

autoconf工具 --help「 选项 」 --prefix=PREFIXselect the install prefix [default: /usr/local] --datadir=DIR指定通⽤用数据⽂文件的安装位置 --sysconfdir=DIR(/etc配置⽂文件⽬目录) --libdir=DIR(库⽂文件⽬目录) --mandir=DIR(帮助⽂文档的安装⽬目录) --enable-feature=值 —-disable-feature --wit...

wenhuangwei的博客 386

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

Configure选项配置的详细介绍

Configure选项配置的详细介绍。供大家参考 'configure' 脚本有大量的命令行选项.对不同的软件包来说,这些选项可能会有变化,但是许多基本的选项是不会改变的. 带上'--help'选项执行'configure'脚本可以看到可用的所有选项.尽管许多选项是很少用到的,但是当你为了特殊的需求而configure一个包时,知道他们的存在是很有益处的. 下面对每一个选项进行简

探秘 1万+

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

configure 配置选项

1 说明 本文转自第三方博客:https://blog.youkuaiyun.com/chituhuan/article/details/52383606 作者:chituhuan 最近移植一些第三方库,学习了configure配置文件生成Makefile。configure文件一般由autoMake工具生成,但是一些软件包的configure文件并不是由automake生成,需要察看帮助说明。 ...

xhoufei2010的专栏 1289

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

qt5的configure选项说明(2)

要编译qt源码,知道configure的配置选项含义则十分重要。 一、配置选项查看及初步解释 通过下面命令查看都有哪一些编译配置选项。 ./configure -help 有一些选项的后面有中括号[]括起来的值,有以下三种情况,分别举例。 yes,表示该选项默认选中。 no,表示该选项默认不选中。 auto,应当是系统会自动检测是否添加该选项吧。那可以通过 -xxx=no或者-xxx=yes...

hrx-@@ 7175

Qt-configure配置选项

转载地址:http://blog.youkuaiyun.com/dztaopao/article/details/9243269 这个页面给出了一个简短的,当使用configure脚本或configure.exe二进制构建Qt时的各种不同的可用选项。当使用默认选项构建Qt,只需如下所示的从命令行调用configure。 在Linux、Mac OS X和Unix平台下构建Qt: . / configu

kunkliu的博客 6816

configure选项详解

Linux环境下的软件安装,并不是一件容易的事情;如果通过源代码编译后在安装,当然事情就更为复杂一些;现在安装各种软件的教程都非常普遍;但万变不 离其中,对基础知识的扎实掌握,安装各种软件的问题就迎刃而解了。Configure脚本配置工具就是基础之一,它是autoconf的工具的基本应用。   与一些技巧相比,Configure显得基础一些,当然使用和学习起来就显得枯燥乏味一些,当然要成为高手,对

615

Configure参数选项详解

Linux环境下的软件安装,并不是一件容易的事情;如果通过源代码编译后在安装,当然事情就更为复杂一些;现在安装各种软件的教程都非常普遍;但万变不离其中,对基础知识的扎实掌握,安装各种软件的问题就迎刃而解了。Configure脚本配置工具就是基础之一,它是autoconf的工具的基本应用。   与一些技巧相比,Configure显得基础一些,当然使用和学习起来就显得枯燥乏味一...

weixin_34032621的博客 150

configure 选项

配置这个包,以适应多种系统用法:./configure [OPTION]...[VAR=VALUE]...用VAR=VALUE的形式指定环境变量,参阅下面一些有用的变量说明。选项的默认值在括号中指定。配置: -h --help 显示此帮助文档并退出 --help=short...

weixin_30549175的博客 181
上一篇: linux网络设置命令
下一篇: make选项
linuxc2008
博客等级 码龄18年 15粉丝 17原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值