经常使用的Linux编译/安装命令,有必要了解一下原理了。

step1 ./configure 配置与编译前检查

通常由软件开发商编写一个检测程序(configure或config)来检测用户的操作环境,以及该操作环境是否有软件安装时所需的其它功能

该检测程序检测完毕后,就会主动地创建Makefile的规则文件

有一些软件还可加上 –with、–enable、–without、–disable等参数对编译加以控制,可通过./configure –help 查看说明帮助

1.1 检测

  • 是否有合适的编译器可以编译本软件的程序代码
  • 是否已经存在本软件所需要的函数库,或其它需要的依赖软件
  • 操作系统平台是否适合本软件,包括:Linux的内核版本
  • 内核的头文件(header include)是否存在(驱动程序必须要的检测)

1.2 生成Makefile文件

(makefile文件记录了源码如何编译的详尽信息)

step2 make 编译

查找Makefile文件。

根据Makefile文件,调用源代码、函数库、编译器;编译源代码、连接、生成目标文件、可执行文件

step3 make install 安装

将编译成功的可执行文件、第三方依赖包和文档 安装(复制) 到 最终目录(Eg: /usr/local/nginx/sbin/...)

延申: 关于卸载

思路可参考本文: Linux ./configure && make && make install 编译安装和卸载 - 博客园

X 参考与推荐文献

[Linux]./configure | make | make install的工作过程与原理的更多相关文章

  1. Linux configure,make,make install

    https://www.cnblogs.com/tinywan/p/7230039.html https://www.sohu.com/a/191735643_505857 https://blog. ...

  2. Linux ./configure && make && make install 编译安装和卸载

    正常的编译安装/卸载: 源码的安装一般由3个步骤组成:配置(configure).编译(make).安装(make install).   configure文件是一个可执行的脚本文件,它有很多选项, ...

  3. [linux笔记]理清linux安装程序用到的(configure, make, make install)

    我作为一名经常和linux打交道的程序员,每次在linux安装软件都祈求可以用——apt-get,yum,brew等应用程序管理器安装,有的时候事与愿违,你只能自己编译安装-wtf,说好的美丽世界呢? ...

  4. Linux中的configure,make,make install到底在做些什么

    在Linux下经常要安装部署一些软件包或者工具,拿到安装包之后一看,简单,configure,make, make install即可搞定. 有时候我就在想,这个configure,make ,mak ...

  5. Linux下通过源码编译安装程序(configure/make/make install的作用,然后在/etc/profile文件里修改PATH环境变量)

    一.程序的组成部分 Linux下程序大都是由以下几部分组成: 二进制文件:也就是可以运行的程序文件 库文件:就是通常我们见到的lib目录下的文件 配置文件:这个不必多说,都知道 帮助文档:通常是我们在 ...

  6. Linux下编译安装源码包软件 configure ,make, make install, make test/check, make clean

    http://www.360doc7.net/wxarticlenew/541275971.html 一.什么是源码包软件? 顾名思义,源码包就是源代码的可见的软件包,基于Linux和BSD系统的软件 ...

  7. Win或Linux中编译安装软件的命令解析: configure; make; make install

    原文地址:http://www.cnblogs.com/Jerry-Chou/archive/2010/12/18/1909843.html 翻译一篇文章,我最早从这篇文章中了解到为什么Linux平台 ...

  8. 大型项目使用Automake/Autoconf完成编译配置(标准的编译过程已经变成了简单的三部曲:configure/make/make install,)

    使用过开源C/C++项目的同学们都知道,标准的编译过程已经变成了简单的三部曲:configure/make/make install, 使用起来很方便,不像平时自己写代码,要手写一堆复杂的Makefi ...

  9. Linux下编译安装源码包软件 configure ,make, make install, make test/check, make clean 假目标

    http://www.360doc7.net/wxarticlenew/541275971.html 一.程序的组成部分 Linux下程序大都是由以下几部分组成: 二进制文件:也就是可以运行的程序文件 ...

  10. 测试或运维工作过程中最常用的几个linux命令?

     大家在测试工作过程中,可能会遇到需要你去服务器修改一些配置文件,譬如说某个字段的值是1 则关联老版本,是0则关联新版本,这时候你可能就需要会下vi的命令操作:或者查看session设置的时长,可能需 ...

随机推荐

  1. outlook2013 关闭后不能接收邮件了解决方法

    本人装的是2013版的outlook亲测有用,其他版本的本人没试过. 下载KeepOutlookRunning.rar 链接:https://pan.baidu.com/s/1hcNorKDLbpzV ...

  2. 09 Hive安装与操作

    一.安装Hive 下载解压重命名权限 配置环境变量 修改Hive配置文件 修改/usr/local/hive/conf下的hive-site.xml 1 2 3 4 5 6 7 8 9 10 11 1 ...

  3. Linux 格式化 挂载 Gdisk

    对磁盘进行格式化mkfs 创建文件系统 xfs ext4/2/3 mkfs -b 设定数据区块(block)占用空间大小,目前支持1024.2048.4096 bytes每个块.默认4K mkfs - ...

  4. redis和memcached区别总结

    1.数据结构:redis支持五种数据结构(字符串,列表,哈希,集合,有序集合),并支持很多相   关计算,例如排序,阻塞等等.支持阻塞队列,锁,线程通信等功能.而memcached只支持kv简单存储 ...

  5. jdbc连接数据库access denied for user 'root'@'localhost'(using password:YES)

    navicat可以进行连接,一般原因为mysql未启用远程连接 以下为解决方案 解决方法-更新用户加密方式: MySQL [mysql]> ALTER USER 'root'@'%' IDENT ...

  6. 第四章 快速排序 分而治之(divide an conquer)

    def quicksort(array): if len(array) < 2: return array else: flag = array[0] less = [] greater = [ ...

  7. DOS基本命令与快捷键

    DOS命令 #查看当前盘下的所有目录 dir #切换盘符 直接盘符名称: 例如切换D: #切换目录 cd 目录名称 #清屏 cls #退出 exit #创建 cd>文件名称.文件后缀 #查询电脑 ...

  8. 微信小程序 真机调试白屏

    真机调试白屏,报define is not defined 解决:   更新小程序版本

  9. Linux 系统下挂载linux 系统盘

    1应用背景:有时候系统崩溃无法修复,无法正常启动,而系统盘里面有需要的文件如log等需要拷贝出来,或者系统盘可以正常启动但是不方便用一台设备来启动这个系统盘.而直接将Linux系统盘接到windows ...

  10. TP5.0--5.1获取当前域名的方法

    TP5.0获取当前域名的方法 use think\Request; $request = Request::instance(); $domain = $request->domain(); 获 ...