./configure && make && make install详解

转载 2012年03月22日 19:22:25
 在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库!
4Make:编译程序。
在编译的时候,gcc个版本之间存在着差异,所以有时候用不同版本的gcc去编译,有的版本能编译成功,有的就编译失败,这样的错误只是版本问题。
另外在make的时候会出现的另一个错就是比较难办的,遇到这样的问题就只能凭经验查找原因,比如说某个头文件没有找到,这个时候就要顺着出错的位置一行一行的往上找,比如显示XXXXXX.h………no such file or directory,说明缺少头文件,或者找到你觉得有价值的错误信息去搜索引擎里搜索,从这里可能会找到对你有用的信息,最重要的就是在安装之前仔细的去看READMEINSTALL文件,这两个文件里会告诉你程序应该怎样去安装,需要什么依赖文件等等。
有的时候在编译时不知道是否编译成功,而在没有编译成功就去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/
成功了,说明我们的安装没问题!
其实./configuremakemake  install这三个命令,我们可以用&&来把命令连接起来执行,表示当前一条命令正常结束后,后面的命令才会执行,这个办法很好,既节省时间,又可以防止发生错误。例:
./configure  &&  make  &&  make  install


configure && make && make install

这里
  • yl1415
  • yl1415
  • 2015年04月21日 13:04
  • 1005

make && make install 这是什么意思啊

用&&连接的两条命令,只有当第一条命令(在你这里是make)的退出状态为0(即无错误)时,才会继续执行&&后面的命令。...
  • kepa520
  • kepa520
  • 2015年07月25日 09:45
  • 557

Caffe虐心安装之路

在安装Caffe之前,觉着它好强大好神秘,就想着迫不及待的安装了并亲验一把,并把安装过程完整写下来。 经过两天的煎熬终于安装完了,不过整个过程真的很虐心,坑很多,很多,很多~~~~~欲哭无泪。。。 ...
  • renyp8799
  • renyp8799
  • 2016年07月01日 15:28
  • 1969

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

正常的编译安装/卸载: 源码的安装一般由3个步骤组成:配置(configure)、编译(make)、安装(make install)。   configure文件是一个可执行的脚本文件,...
  • gebitan505
  • gebitan505
  • 2017年01月18日 14:45
  • 2328

./configure && make && make install详解

在Linux中利用源码包安装软件最重要的就是要仔细阅读安装包当中的README  INSTALL两个说明文件,这两个文件会清楚的告诉你如何可以正确的完成这个软件的安装!          我们都...
  • haiqiao_2010
  • haiqiao_2010
  • 2015年05月26日 11:25
  • 5360

Linux编译安装中configure、make和make install各自的作用

文章转载自:http://nonfu.me/p/4753.html 这些都是典型的使用GNU的AUTOCONF和AUTOMAKE产生的程序的安装步骤。 ./configure是...
  • cheng157507947
  • cheng157507947
  • 2015年03月03日 16:43
  • 6726

make

概述 —— 什么是makefile?或许很多Winodws的程序员都不知道这个东西,因为那些Windows的IDE都 为你做了这个工作,但我觉得要作一个好的和professional的程序员...
  • B10090411
  • B10090411
  • 2015年12月02日 20:14
  • 812

./configure,make,make install的作用

这些都是典型的使用GNU的AUTOCONF和AUTOMAKE产生的程序的安装步骤。 ./configure是用来检测你的安装平台的目标特征的。比如它会检测你是不是有CC或GCC,并不是需要CC或GC...
  • tao546377318
  • tao546377318
  • 2016年08月25日 17:15
  • 804

Linux编译安装中configure、make和make install各自的作用

Linux编译安装中configure、make和make install各自的作用 ./configure是用来检测你的安装平台的目标特征的。比如它会检测你是不是有CC或G...
  • a746742897
  • a746742897
  • 2016年08月25日 08:25
  • 4154

configure make install 安装路径

如果是源码,需要make,make install 源码包一般可以用./configure --prefix=/path的方式指定安装目录. 具体的参考安装说明 ...
  • mydriverc2
  • mydriverc2
  • 2013年06月19日 16:48
  • 5580
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:./configure && make && make install详解
举报原因:
原因补充:

(最多只允许输入30个字)