码迷,mamicode.com
首页 > 其他好文 > 详细

如何实现源码编译安装程序

时间:2015-05-03 19:10:07      阅读:133      评论:0      收藏:0      [点我收藏+]

标签:编译安装程序

1、问题:发行商提供的rpm包不想用,别人提供的rpm包也不想用,那么只能自己编译源码制作rpm包。

         不是不想用,而是别人提供的不能满足最大优化,所以需要自己编译定制。


  2、源码语言类型:c,c++,perl,python等,最常见的为c


  3、开源代码站点:

     http://sourceforge.net/

     https://github.com/

     https://code.google.com/


  4、源码要满足编译安装,开发者开发的源码必须完成如下事件项:


    A、 autoconf:configure脚本

检查编译环境是否满足编译需求(gcc在不在,make命令有没有,以及依赖在不在),并定义当前程序编译时启用哪个特性或者功能,以及安装路径的定义等等。

结果:会根据Makefile.in文件生成makefile文件。

    B、automake:Makefile.in文件

        用于结合configure脚本生成makefile文件。

makefile文件是make命令的配置文件。


  5、编译者编译安装源码的步骤:

    A、拿到源代码(即下载源程序),并解压。

       #tar xf package-versin.tar.{gz|bz2|xz}

       展开后的目录为package-versin

    B、切换至源码目录中

       #cd package-versin

    C、执行configure脚本

       # ./configure

       注意:看最后一行是否有error类似字样,如果无则成功。

    D、编译,其实就是执行cc -c -pipe等:

# make 

 

    E、安装,其实就是copy文件,将文件copy到configure时指定的目录:

      # make install


  6、configure脚本的通用功能,我们需要定义的配置:


     A、指定安装路径:(指定二进制程序、库文件、帮助文件、配置文件路径,一般配置文件要单独指定)

          --prefix=/usr/local/package_name:指定二进制程序、库文件、帮助文件安装路径

          --sysconfdir或者--conf-path=/etc/package_name:指定配置文件的安装路径,因有的软件不同,

                                                        但不外乎--sysconfdir或者--conf-path两种。

           

     B、指定启动/禁用的特性:

 --enable-feature:如--enable-fpm

          --disable-feature:如--disable-socket

     C、指定所依赖功能、程序或文件:

           --with-function:启用依赖某功能

  --without-function:禁用依赖某功能

     D、注意:不同的程序,其configure脚本功能不同,要获取帮助./configure --help 或者查看 readme


  7、在编译安装前,请确保在Installed Groups下已有,执行的命令:#yum grouplist

Server Platform Development

Development Tools


如何实现源码编译安装程序

标签:编译安装程序

原文地址:http://8757576.blog.51cto.com/8747576/1641413

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!