`

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

 
阅读更多

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、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

分享到:
评论

相关推荐

    rabbit安装详解

    configure: error: /bin/sh '/root/software/otp_src_17.1/lib/snmp/./configure' failed for snmp/. configure: error: /bin/sh '/root/software/otp_src_17.1/lib/configure' failed for lib 执行下面的: yum ...

    php xhprof使用实例详解

    phpize && ./configure && make && make install 3.编辑php.ini 启用xhprof扩展 [xhprof] extension = xhprof.so xhprof.output_dir = /tmp/xhprof ;性能分析数据文件存放位置 需要php用户有可写可读权限 4.对项目...

    Apache源码安装和虚拟主机配置的教程详解

    源码安装Apache  1.上传Apache源码安装所需软件包 2.安装: 安装顺序 apr—>apr-util—>pcre—>httpd 安装编译环境 yum -y install gcc gcc-c++ apr 编译安装 ...tar xzf apr-1.4.6.tar...../configure --prefix=/usr/

    mplayer安装详解-让老师写的资料

    ./configure --help 支持图形播放 ( --enable-gui ) 支持播放编码插件 (--codecsdir=) ./configure --enable-gui --codecsdir=/usr/src/essential-20071007 make make install 安装皮肤 tar xvf OSX-Mod-1.1...

    Centos 6.5下PHP 5.3安装ffmpeg扩展的步骤详解

    安装步骤如下: 安装必须的环境yasm ... tar zxvf yasm-0.7.0.tar.gz cd yasm-0.7.0 ./configure make && make install 安装ffmpeg svn checkout svn://svn.ffmpeg.org/ffmpeg/trunk ffmpeg cd

    Centos7下nginx的安装与配置教程详解

    说明:软件安装的基础目录路径:/usr/local 所以下载软件的时候切换到此目录下下载直接解压即可 1.安装gcc gcc-c++依赖包 yum install -y gcc gcc-c++ 2.下载编译安装PCRE库 ..../configure make && make install 3

    PHP7之Mongodb API使用详解

    y install openldap-develwget https://pecl.php.net/get/mongodb-1.1.1.tgz /home/server/php7/bin/phpize #根据自己编译的PHP环境而定./configure –with-php-config=/home/server/php7/bin/php-config make && ...

    详解nginx rewrite和根据url参数location

    最近项目中涉及到旧老项目迁移,需要在nginx上做些配置,所以简单学习了下,好记性不如烂笔头,先记下来。 rewrite 首先查看下nginx是否支持rewrite: ..../configure make make install #安装nginx cd n

    zookeeper python接口实例详解

    本文主要讲python支持zookeeper的接口库安装和使用。zk的python接口库有zkpython..../configure make make install wget --no-check-certificate http://pypi.python.org/packages/source/z/zkpython/zkpython-0.4.tar.

    Linux下升级python和安装pip的详解

    Linux版本升级: 1、首先确认Linux操作系统中自带的python 版本时候与自己所需要的版本一致 ...3、解压 tar -zxvf Python-2.7.11.... ./configure make make install 4、此时查看python版本还是系统默认的版本 执行:

    Nginx安装以及配置文件详解

    2 : 进行安装: tar -zxvf nginx-1.6.2.tar.gz ...4 : 进行configure配置:cd nginx-1.6.2 && ./configure --prefix=/usr/local/nginx 查看是否报错 5 : 编译安装 make && make install 6 : 启动Nginx: 。。。。。。

    Linux makefile 和shell文件相互调用实例详解

    ./configure sudo make -f install cd ../ cd TemplateProcesser make 说明:./configure文件是shell脚本文件,即shell内调用shell文件是很容易的;TemplateProcesser目录内有Makefile文件,调用方式,直接:make ...

    Django-3.0.3.tar.gz

    关于Python安装官方whl包和tar.gz包的方法详解 Django-3.0.3.tar.gz 安装包 解压后按下面方法安装 Windows环境:  安装whl包:pip install... 安装tar.gz:cd到解压后路径,./configure -> make -> make install

    CppUTest-基于C++的自动化单元测试框架

    CPPUTest 虽然名称上看起来是 C++ 的单元测试框架, 其实它也是支持测试 C 代码的.(由于CSDN必须2分,实在抱歉),安装方法:解压后,进入到目录中:./configure make make install即可

    Nginx——安装详解

    Nginx的安装需要四个依赖:gcc、pcre、zlib、openssl yum -y install gcc pcre pcre-devel zlib zlib-devel openssl openssl-devel ...然后解压 tar -zxvf nginx-1.14.2.tar.gz ..../configure make make install

    eAccelerator的安装与使用详解

    编译:复制代码 代码如下: $PHP_PREFIX/bin/phpize./configure–enable-shared –with-php-config=$PHP_PREFIX/bin/php-configmake安装:复制代码 代码如下:makeinstall修改php.ini:复制代码 代码如下:extension=...

    在Nginx服务器中使用LibreSSL的教程

    本文会介绍一些 Nginx 与 Libressl 一起使用实践...$ ./configure --prefix=/usr LDFLAGS=-lrt && make check && sudo make install 新安装的 LibreSSL 可替代openssl以相同的方式运行,但要注意:正如 sabotage-linux

    linux下安装python3和对应的pip环境教程详解

    1、下载python3.6的安装包: ..../configure –prefix=/usr/local/python3 3、安装 make make install 4、安装完成后,为了使用方便,创建软连接: ln -s /usr/local/python3/bin/python3 /usr/bi

    详解centos7中配置keepalived日志为别的路径

    ./configure --prefix=/usr/local/keepalived make && make install mkdir /etc/keepalived mkdir /etc/keepalived/scripts cp /usr/local/keepalived/etc/keepalived/keepalived.conf /etc/keepalived/ cp /root/...

    基于linux与windows平台下 如何下载android sdk源代码的方法详解

    本文主要分2部份。第1部份介绍如何下载android sdk的源代码;第2部份介绍如何把android sdk的源代码加入到eclipse里 第1部份如何下载android sdk的源代码 ...tar -xvf git-1.6.6.tar.bz2./configuremakemake install 

Global site tag (gtag.js) - Google Analytics