Linux下 config/configure/Configure、make 、make test/make check、sudo make install 的作用

  • 这些都是典型的使用GNU的AUTOCONF和AUTOMAKE产生的程序的安装步骤
  • config/configure/Configure
    • 这个是用来检测你的安装平台的目标特征的。比如它会检测你是不是有CC或GCC,并不是需要CC或GCC,它是个shell脚本
    • 这一步一般用来生成 Makefile,为下一步的编译做准备,你可以通过在 configure 后加上参数来对安装进行控制,比如:
      • ./configure --prefix=/usr
      • 上面的意思是将该软件安装在 /usr 下面
      • 执行文件就会安装在 /usr/bin (而不是默认的 /usr/local/bin)
      • 资源文件就会安装在 /usr/share(而不是默认的/usr/local/share)
      • 同时一些软件的配置文件你可以通过指定 --sys-config= 参数进行设定
      • 还有诸如:--with、--enable、--without、--disable 等等参数对编译加以控制,你可以通过 ./configure --help 察看详细的说明帮助
  • make
    • 这一步是用来编译的,它从Makefile中读取指令,然后编译
    • 这一步就是编译,大多数的源代码包都经过这一步进行编译
    • 当然有些perl或python编写的软件需要调用perl或python来进行编译
    • 如果 在 make 过程中出现 error ,你就要记下错误代码(注意不仅仅是最后一行),然后你可以向开发者提交 bugreport(一般在 INSTALL 里有提交地址),或者你的系统少了一些依赖库等,这些需要自己仔细研究错误代码
  • make test / make check
    • 顾名思义,这一步就是对上一步 make 的检查了,要确保 make 是没有错误的,也就是这一步的 test、check要全部是 OK 的,error 为0
  • sudo make install
    • 这一步是用来安装的,它也从Makefile中读取指令,安装到指定的位置
    • 这条命令来进行安装,一般需要你有 root 权限(因为要向系统写入文件),所以前面用了 sudo

  • AUTOMAKE和AUTOCONF是非常有用的用来发布C程序的东西。如果你也写程序想使用AUTOMAKE和AUTOCONF,可以参考CNGNU.ORG上的相关文章
### CentOS 7 上安装兼容版本的 Autoconf 来修复 Configure 警告 在 CentOS 7 中,默认提供的软件包可能较旧,导致某些现代项目的构建脚本出现问题。特别是当 `autoconf` 版本较低时,可能会触发警告或错误消息。以下是具体解决方法: #### 检查现有 Autoconf 版本 首先确认当前系统的 Autoconf 是否过时: ```bash autoconf --version ``` 如果显示版本低于 2.69,则需要更新至更高版本以满足大多数现代项目的要求。 #### 使用 EPEL 存储库获取最新版本 EPEL (Extra Packages for Enterprise Linux) 是一个由 Fedora 社区维护的附加存储库,提供了许多最新的开源工具。 启用 EPEL 并安装最新版本的 Autoconf 可按以下步骤操作[^1]: ```bash sudo yum install epel-release sudo yum update sudo yum install autoconf ``` #### 手动编译安装特定版本 如果官方仓库仍无法提供所需的最低版本,可以手动下载并编译安装指定版本的 Autoconf。例如,要安装 Autoconf 2.69 或以上版本,请遵循以下流程[^3]: ##### 下载源代码压缩包 访问 GNU 官方网站或其他可信镜像站点下载目标版本的 tarball 文件: ```bash wget https://ftp.gnu.org/gnu/autoconf/autoconf-2.69.tar.gz tar -xvzf autoconf-2.69.tar.gz cd autoconf-2.69/ ``` ##### 配置与编译 确保系统具备基础开发环境后再继续此部分操作: ```bash ./configure && make sudo make install ``` 完成上述步骤后再次验证新安装的 Autoconf 是否生效: ```bash autoconf --version ``` 此时应能看到期望的新版本号输出。 #### 修改 PATH 环境变量(如有必要) 有时尽管成功安装了高版本的 Autoconf ,但由于路径优先级原因依旧调用了低版本二进制文件。可以通过调整 `$PATH` 解决这一矛盾情形: 编辑 `/etc/profile.d/custom.sh` 添加如下内容保存退出即可立即应用更改效果[^4]: ```bash export PATH="/usr/local/bin:$PATH" source /etc/profile.d/custom.sh ``` 最后重复测试命令确保一切正常运作无误。 --- ### 示例代码片段展示如何验证autoconf版本 为了进一步确认整个过程顺利完成,可以用简单例子来检验新的 autoconf 功能是否完好如初: ```bash echo '#define VERSION "test"' > configure.ac touch Makefile.am autoreconf --install --force ls -l config.status ``` 如果没有报错并且生成了相应的配置状态文件即表明问题得到彻底根治。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值