/configure配置环境
make是编译的意思。就是把源码包编译成二进制可执行文件
make install 就是安装的意思。

make&& make install的意思是:
make与makeinstall是两个命令,在你./configuration生成了Makefile之后执行编译安装;
与&&一起的还有||,不过意思不一样,&&是与,||是或;
make && makeinstall的意思就是执行make如果没有发生错误就执行make install

 在Linux中利用源码包安装软件最重要的就是要仔细阅读安装包当中的README  INSTALL两个说明文件,这两个文件会清楚的告诉你如何可以正确的完成这个软件的安装!
         我们都知道源码包安装分为这么几个阶段,
1、  Tar:解压这个源码软件包。
2、  Cd:进入到这个源码包。
3、  ./configure:“configure”会在你的系统上测试存在的特性(或者bug!)然后来建立Makefile文件来完成make!
4、  Make:编译程序。
5、  Make install:安装文件!
以上五步就是源码包安装软件的步骤,每一步不成功,则下一步就没法去完成!下面我们就找个软件来安装,并且一步一步来解释一下!
我们就那httpd-2.2.11.tar.gz来做例子吧!
1、  Tar:解压这个源码软件包。
这步没什么好说的,把源码包解压开就好了,接下来第二步!
2、 cd:进入到这个源码包。
现在ls一下mrtg这个目录下多了一个蓝色字体的httpd-2.2.11这个目录,这个目录就是我们刚解压开的,然后cd进入到这个目录下面!如果不进入到这个目录下而是直接./configure则会出现下图的提示!
3、  ./configure:“configure”会在你的系统上测试存在的特性(或者bug!)然后来建立Makefile文件来完成make!
“configure”脚本有大量的命令行选项,对不同的软件包来说,这些选项可能会有变化,但是许多基本的选项是不会改变的。而我们用的最多的也就是下面这条命令:
./configure --prefix=/软件要安装的路径
但是我们也可以直接./configure而不指定路径,通常通过从源码包编译安装的软件默认路径都是/usr/local/,如果./configure不成功而直接去make的话,就会出现下图的错误:
当我们解决完./configure的错误,然后重新./configure成功后,我们就可以编译程序了!
再说几个能关系到能否编译成功的文件:/etc/ld.so.conf、ldconfig
首先说一下/etc/ld.so.conf,这个文件中记录的编译时使用的动态链接库的路径,默认情况下编译器只会使用/lib和/usr/lib这两个目录下的库文件,如果你安装了其他的库,那么安装完成后就在/etc/ld.so.conf把这个库文件中的绝对路径写进去就OK了。
再来看看ldconfig是个什么东西吧:
他是一个程序,它的作用就是将/etc/ld.so.conf中的路径缓存到/etc/ld.so.cache中,因此在安装完一些库文件或者修改ld.so.conf增加新的路径后需要运行一下/sbin/ldconfig使所有的库文件都缓存都ld.so.cache中,如果没有运行/sbin/ldconfig,即使库文件就在/etc/ld.so.conf中,也是不会被使用的,结果在编译的过程中同样报错缺少XXX库!
4、Make:编译程序。
在编译的时候,gcc个版本之间存在着差异,所以有时候用不同版本的gcc去编译,有的版本能编译成功,有的就编译失败,这样的错误只是版本问题。
另外在make的时候会出现的另一个错就是比较难办的,遇到这样的问题就只能凭经验查找原因,比如说某个头文件没有找到,这个时候就要顺着出错的位置一行一行的往上找,比如显示XXXXXX.h………no such file or directory,说明缺少头文件,或者找到你觉得有价值的错误信息去搜索引擎里搜索,从这里可能会找到对你有用的信息,最重要的就是在安装之前仔细的去看README、INSTALL文件,这两个文件里会告诉你程序应该怎样去安装,需要什么依赖文件等等。
有的时候在编译时不知道是否编译成功,而在没有编译成功就去make  install肯定会出错,这样就增加了问题的复杂性,俗话说的好“道高一尺魔高一丈”,这样我们可以在make结束的时候通过一条命令来检查是否成功编译:echo  $?
输入这条命令回车后,输出的结果是0,那么就说明成功编译,否则就是出错了,echo  $?表示检查上一条命令的退出状态,程序正常退出返回0!
5、  Make install:安装文件!
它也从Makefile中读取指令,然后安装到指定的位置。
看到上图输出0之后我们就可以make  install来安装了,运行完之后输入echo  $?检查看看是否有错误,只要输出结果为0,那就说明我们的安装成功,我们可以测试一下,把Apache的服务起来/usr/local/apache2/bin/apachectl start,因为Apache的端口是80所以我们netstat -lan | grep 80来看看80端口处于监听状态不:
然后再IE里输入服务器的IP地址http://10.10.234.203/
成功了,说明我们的安装没问题!
其实./configure、make、make  install这三个命令,我们可以用&&来把命令连接起来执行,表示当前一条命令正常结束后,后面的命令才会执行,这个办法很好,既节省时间,又可以防止发生错误。例:
./configure  &&  make  &&  make  install

转于:http://wangqiyong.blog.51cto.com/500227/367049

make make install的意思相关推荐

  1. 如果你没用过maven的install,你应该了解一下!maven中的install功能及用法。

    maven中有一个大多数人都忽视或者没有用到过的一个功能--install,大多数java开发人员都了解maven,使用maven进行依赖管理.但使用的大多数功能不过是clean清理.compile编 ...

  2. 简单图文配置golang+vscode【win10/centos7+golang helloworld+解决install failed等情况】

    博客目录(阅读时间:10分钟) 一.win10 0.系统环境 1. win10配置golang环境 ①下载相关软件 ②创建gowork工作空间 ③配置环境变量(GOPATH+PATH) ④验证环境配置 ...

  3. Go 1.16 的这个新变化需要适应下:go get 和 go install 的变化

    原文地址: Go 1.16 的这个新变化需要适应下:go get 和 go install 的变化 一直以来,go get 用于下载并安装 Go 包.命令等,而 go install 在 module ...

  4. pip install 豆瓣源、清华源、阿里源、中国科技大学源

    豆瓣源 https://pypi.douban.com/simple/ 清华源 https://pypi.tuna.tsinghua.edu.cn/simple 阿里云 https://mirrors ...

  5. Ubuntu16.04 pip3 install 报错 working_set.find(moduleOrReq) or require(str(moduleOrReq))[0]

    1. 问题现象 Exception: Traceback (most recent call last):File "/usr/lib/python3/dist-packages/pip/b ...

  6. pip install faiss-gpu失败unable to execute ‘swig‘: No such file or directory

    1. 安装报错 unable to execute 'swig': No such file or directory error: command 'swig' failed with exit s ...

  7. Could not install packages due to an EnvironmentError: [Errno 28] No space left on device

    Could not install packages due to an EnvironmentError: [Errno 28] No space left on device 1. 问题现象 安装 ...

  8. pip install nmslib 失败 (error: command ‘x86_64-linux-gnu-gcc‘ failed with exit status 1)

    1. 问题现象 使用 pip 安装 nmslib 命令时出现如下错误: sudo pip install nmslib ....ERROR: Complete output from command ...

  9. WSL 或者ubantu安装 apt-get install npm 失败解决方法

    sudo apt-get remove nodejs npm sudo apt-get install curl curl -sL https://deb.nodesource.com/setup | ...

  10. npm install 提示权限不足 Error: EPERM: operation not permitted, unlink XXX

    问题描述 使用npm install出现 npm install 提示权限不足 Error: EPERM: operation not permitted, unlink XXX提示 原因 这里原因有 ...

最新文章

  1. Transform-style和Perspective属性
  2. C语言运算符优先级-----从没像现在这样深刻体会
  3. Android 单元测试
  4. Tomcat - 源码分析Tomcat是如何处理一个Servlet请求的
  5. 实现java RPC框架
  6. IOS之通知NSNotificationCenter的使用
  7. 四种常见的 POST 提交数据方式对应的content-type取值
  8. 美团容器平台架构及容器技术实践
  9. 43 FI配置-财务会计-固定资产-一般评估-定义折旧范围
  10. 学习ESLint的规则配置,ESLint语法检测配置说明
  11. VS2008下直接安装使用Boost库1 46 1版本
  12. 微信各地服务器如何同步,彻底搞清楚并实现多端同步登录
  13. 如何快速提高产品互动能力?
  14. web资源优化-图片篇(一)
  15. 油价小程序开发 - 手把手教你写小程序(适合初学者)
  16. 解决双击tomcat startup.bat的弹框一闪而过的问题,以及如何配置 jre_home 和 java_home
  17. 【2021年度总结】回忆过去,大专生的三年
  18. access四舍五入取整round_access把浮点字段取整是什么函数
  19. 在数据库中,视图有什么用?什么时候需要用到视图?
  20. 计算机常用运行命令缩写,电脑常见英文缩写翻译.doc

热门文章

  1. 《Unity 3.x游戏开发实例》——2.11节《Artillery Live!》
  2. 服务器维护后回档,心灵战争关于服务器异常产生的三种回档问题的处理办法公告...
  3. allowTransparency含义 嵌套透明iframe 透明背景
  4. haproxy IP透传
  5. EasyExcel 快速生成Excel工具的使用
  6. 锤子科技官网:问题整理及注意事项
  7. Android monkey 基础入门介绍
  8. windows - 简单快速去掉快捷方式图标上的右箭头(windows 10)
  9. 中考计算机试题,中考微机考试试题.docx
  10. Sui链上事务处理概述