在Linux中利用源码包安装软件最重要的就是要仔细阅读安装包当中的README  INSTALL两个说明文件,这两个文件会清楚的告诉你如何可以正确的完成这个软件的安装!
         我们都知道源码包安装分为这么几个阶段,
1、./configure:“configure”会在你的系统上测试存在的特性  Make:编译程序。
5、cd:进入到这个源码包。
现在ls一下mrtg这个目录下多了一个蓝色字体的httpd-2.2.11这个目录,这个目录就是我们刚解压开的,然后cd进入到这个目录下面!如果不进入到这个目录下而是直接./configure则会出现下图的提示!
3、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、<span times="" new="" roman'"="" style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">  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

转载于:https://www.cnblogs.com/gscq073240/articles/9459053.html

./configure make make install详解相关推荐

  1. Linux中./configure、make、make install详解

    ./configure && make && make install详解 2010-08-03 23:30:05 标签: 休闲  ./configure && ...

  2. linux安装配置CONFIGURE、make 、make install详解

    1.configure,这一步一般用来生成 Makefile,为下一步的编译做准备,你可以通过在 configure 后加上参数来对安装进行控制,比如 代码:   ./configure --pref ...

  3. install 命令用法详解

    install 命令用法详解 http://man.linuxde.net/install install命令的作用是安装或升级软件或备份数据,它的使用权限是所有用户.install命令和cp命令类似 ...

  4. configure.ac(configure.in)内容详解

    配置configure.ac 用自动生成Makefile的工具来生成Makefile的过程中,需要用autoscan命令来生成configure.scan文件,然后将它改名字为configure.ac ...

  5. 43. Systemd的Unit配置详解,unit文件位置,优先级,unit类型,unit文件字段详解,Unit/Service/Install字段,添加mysql服务等例子

    Systemd的Unit配置详解,unit文件位置和优先级,unit文件类型,unit文件字段详解,[Unit]字段,[Service]字段,[Install]字段,添加服务,创建.service 文 ...

  6. cmake(8):install命令详解

    1. 说明 之前的示例中有提到使用cmake的install命令来自动安装库和头文件,但是只是使用到了install命令很基础很少的部分,其实该命令作用十分丰富,本篇文档用于说明该命令的详细使用方法. ...

  7. npm install安装固定版本号以及package.json中版本号详解

    在npm中安装固定的版本号package,只需要在其后加 '@版本号' npm install three@0.102.1 Node.js中package.json中库的版本号详解: 1. ~ 匹配最 ...

  8. configure详解

    ./configure,make,make install的作用 转自:http://feinibuke.blog.51cto.com/1724260/367376 1.configure,这一步一般 ...

  9. Linux程序源码编译安装的configure配置详解

    Linux环境下,如果通过源代码编译安装程序的简单过程可以描述为:./configure–>make–>make install.其中./configure配置脚本功能就是对你的系统做很多 ...

最新文章

  1. 慕课网基于ElasticSearch的找房网实战开发企业级房屋搜索网项目学习心得(一)
  2. Tree Context Menu
  3. 量化交易入门读物列表
  4. 英语每日阅读---1、科学美国人60秒:如果觉得唱歌很难 那就吹口哨吧
  5. 主板找不到SSD解决一例
  6. GMF:示例Mindmap 练习一
  7. 【python利用url下载文件】
  8. 国开大学计算机原理边学边练,国家开放大学计算机组成原理
  9. oracle配置控制文件快照的位置以及名称为,Oracle快照控制文件(snapshotcontrolfile)
  10. 使用EndNote在Word中插入参考文献的格式设置
  11. 我与照片之乾坤大挪移-瞬间旋转你的照片
  12. 7. IIS短文件/文件夹漏洞(汇总整理)
  13. 小米MIUI9关闭广告
  14. CAD框选对象的两种方式、AUTOCAD——删除重复线段
  15. matlab如何去除图像白边_MATLAB去除白边
  16. 知音微服务平台网上订烟_新商盟网上订烟登录工具
  17. Oracle开发者中级第7课(层级查询)实验
  18. 性别收入差距=歧视?Oaxaca-Blinder分解方法
  19. python电影推荐系统 github_GitHub - JaniceWuo/MovieRecommend: 一个电影推荐系统
  20. 996大厂“工人”们的百万年薪和中年失业(被裁)

热门文章

  1. Linux select 一网打尽
  2. 游戏线程池的设计0-转自
  3. goalnd 分支合并完出现两个箭头
  4. 使用Laravel Eloquent ORM 时如何查询表中指定的字段 1
  5. Yii2.0 对数据库 查询的一些简单的操作
  6. onsubmit=“return check() 给form加onsubmit 验证所有表单后再提交,可以用返回false 来阻止submit提交
  7. Bootstrap精巧布局
  8. python设计模式16-迭代器模式
  9. 关于操作系统中英文切换的.po和.mo介绍
  10. 如何正确的开始用Go编程