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

简介:

一、问题:

发行商提供的rpm包不想用,别人提供的rpm包也不想用,那么只能自己编译源码进行安装程序。不是不想用,而是别人提供的不能满足最大优化,所以需要自己编译定制。


二、源码语言类型:

    c,c++,perl,python等,最常见的为c


三、开源代码站点:


1、 http://sourceforge.net/

2、 https://github.com/

3、https://code.google.com/


四、源码要满足编译安装,开发者开发的源码必须完成如下2项工作:


1、 autoconf工具:生成configure脚本,configure脚本用途如下:

(1)、检查编译环境是否满足编译需求(gcc在不在,make命令有没有,以及依赖在不在等)。

(2)、定义当前程序编译时启用哪些特性或者功能。

(3)、安装路径的定义。


2、automake工具:生成Makefile.in文件

(1)、Makefile.in文件结合configure脚本,生成makefile文件。

(2)、makefile文件是make命令的配置文件。


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


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

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

       展开后的目录为package-versin


2、切换至源码目录中

       #cd package-versin


3、执行configure脚本

      # ./configure,详见

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


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

    # make 


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

     # make install


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


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

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

(2)、--sysconfdir或者--conf-path=/etc/package_name:指定”配置文件“的安装路径,

            因有的软件不同,但不外乎--sysconfdir或者--conf-path两种。

             注意1、--sysconfdir指的是配置文件目录,最后无需写配置文件名。

             注意2、 --conf-path指的是配置文件路径,最后需写配置文件名。


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

 --enable-特性:如--enable-fpm

 --disable-特性:如--disable-socket


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

  --with-功能、程序或文件:启用依赖某功能

  --without-功能、程序或文件:禁用依赖某功能


4、注意:不同的程序,其configure脚本功能略有不同,

   要获取帮助./configure --help 或者查看 readme


七、在编译安装前,请确保在Installed Groups下已有,即已安装下面的两个组。

    Server Platform Development

    Development tools


1、执行的如下命令,查看是否已安装某组:

     #yum grouplist

2、如未安装请执行:

      #yum -y groupinstall  "Server Platform Development"

      #yum -y groupinstall "Development tools"

















本文转自lzf0530377451CTO博客,原文链接:http://blog.51cto.com/8757576/1641413 ,如需转载请自行联系原作者



相关文章
|
9月前
|
IDE Unix Linux
Linux环境基础开发工具使用(yum软件安装工具的使用、vim编辑器使用及握gcc/g++编译器的使用等上)
在之前我配置环境那篇博客我写到的换国内的阿里源,就是指的yum源,如果我们使用默认国外的源,可能会出现连不上,或者网速极慢的情况
|
6月前
|
C++ Windows
winform 程序打包成windows安装包
winform 程序打包成windows安装包前提:VS2019,winform 程序已经有一个完整可运行的 winform 程序。VS中上方扩展选项卡,选择 管理扩展,在打开的弹窗中选择联机,在右侧搜索框搜索 installer, 在中间显示的结果选择 Microsoft Visual Studio Installer Projects 点击下载。下载完成之后,关闭vs,自动打开扩展的安...
50 0
winform 程序打包成windows安装包
|
Linux
LINUX安装依赖库的解决办法
LINUX安装依赖库的解决办法
184 0
|
Java C语言 C++
0基础都能看懂的 Visual Studio Code(VScode)使用脚本一键配置安装C/C++环境、编译运行Windows版本教程(内附脚本、安装包下载链接)
网上很多配置VScode的C、C++环境的教程,但是很多时候跟着从头到尾做了之后反而还是运行不了,于是笔者在网上翻阅资料后,发现了一个自动配置环境的脚本,亲测有效,大概5分钟就可以配置好环境了。直接进入教程。
0基础都能看懂的 Visual Studio Code(VScode)使用脚本一键配置安装C/C++环境、编译运行Windows版本教程(内附脚本、安装包下载链接)
|
数据挖掘 Python
Anaconda功能、优点、安装步骤(安装视频)
Anaconda功能、优点、安装步骤(安装视频)
112 0
Anaconda功能、优点、安装步骤(安装视频)
|
测试技术
CMake实战四:安装测试和添加环境生成安装包
CMake 也可以指定安装规则,以及添加测试。这两个功能分别可以通过在产生 Makefile 后使用 make install 和 make test 来执行。在 GNU Makefile 里,你可能需要为此编写 install 和 test 两个伪目标和相应的规则,但在 CMake 里,这样的工作同样只需要简单的调用几条命令。
368 0
|
IDE 开发工具 C++
Windows环境VS2017编译skia库-m84,亲测成功,使用官方编译的方法
Windows环境VS2017编译skia库-m84,亲测成功,使用官方编译的方法
473 0
Windows环境VS2017编译skia库-m84,亲测成功,使用官方编译的方法
|
开发工具
libmeegotouch编译安装教程
1.qt sdk安装     Meego touch安装需要qt的版本为4.7或者以上,如果你没有安装qt或者你的版本过低的话,那可以前往以下链接进行下载,  http://qt.nokia.com/developer/qt-qtcreator-prerelease,下载Pre-Releases版本,完成后解压,切换到代码目录。
936 0