源码包编译安装

程序包编译安装:

     Application-VERSION-release.src.rpm–> 安装后,使用rpmbuild命令制作成二进制格式的rpm包,而后再安装

     源代码 –> 预处理 –> 编译 –> 汇编 –> 链接 –> 执行

    

     源代码组织格式:

    多文件:文件中的代码之间,很可能存在跨文件依赖关系

        C、C++:make(configure –> makefile.in –> makefile)

        java:maven

编译安装三步骤:

    ./configure:

         (1)通过选项传递参数,指定启用特性、安装路径等:执行时会参考用户的指定以及makefile.in文件生成makefile

         (2)检查依赖到的外部环境

    make

        根据makefile文件,构建应用程序

    make install

    开发工具:

         autoconf:生成configure脚本

         automake:生成makefile.in

    建议:安装前查看INSTALL,README

开源程序源代码的获取:

    官方自建站点:

         apache.org

         mariadb.org

        

    代码托管:

         SourceForge

         Github.com

         code.google.com

        

c/c++:gcc(GNU C Complier)

编译C源代码:

     前提:提供开发工具及开发环境

     开发工具:make,gcc等

     开发环境:开发库,头文件

          glibc:标准库

    通过"包组"提供开发组件

        CentOS 6:"Development Tools" , "Server Platform Development"

第一步:configure脚本

     选项:指定安装位置、指定启用的特性

    

     –help:获取其支持使用的选项

         选项分类:

             安装路径设定:

                 –prefix=/PATH/TO/SOMEFILE:指定默认安装位置

                 –sysconfdir=/PATH/TO/SOMEFILE:配置文件安装位置

        

             Optional Features:可选特性

                 –disable-FEATURE

                 –enable-FEATURE[=ARG]

                

             Optional Packages:可选包

                 –with-PACKAGE[=ARG]

                 –without-PACKAGE

                

             第二步:make

            

             第三步:make install

    

安装后的配置:

     (1)导出二进制程序目录至PATH环境变量中:

         编辑文件/etc/profile.d/NAME.sh

         export PATH=/PATH/TO/BIN:$PATH

        

     (2)导出库文件路径

         编辑/etc/ld.so.conf.d/NAME.conf

         添加新的库文件所在目录至此文件中

        

     让系统重新生成缓存:

          ldconfig [-v]

    

     (3)导出头文件

         基于链接的方式实现:

         ln -sv

    

     (4)导出帮助手册

         编辑/etc/man.config文件

         添加一个MANPATH

    

原创文章,作者:zhai796898,如若转载,请注明出处:http://www.178linux.com/39412

(0)
zhai796898zhai796898
上一篇 2016-08-23 22:41
下一篇 2016-08-24 10:12

相关推荐

  • Ansible Conditionals & Loops

     一、条件语句     条件判断语句,就是根据某些变量的值来控制Ansible的执行流程。控制某些主机执行某些操作与不执行某些操作。根据某些操作结果,判断是否执行其它操作等等。     Ansible的条件判断语句只有 when 语句,结合变量使用才能显示出它的价值。when的用…

    Linux干货 2015-11-21
  • Linux mdadm命令解析

    mdadm命令解析 一,在Linux系统中目前MD(Multiple Devices)虚拟块设备的方式实现软件RAID,利用多个底层的块设备虚拟出一个新的虚拟设备,并且利用条带化(stripping)技术将数据块均匀分布到多个磁盘上来提高虚拟设备的读写性能,利用不同的数据冗余算法来保护用户数据不会因为某个块设备的故障而完全丢失,而且还能在设备被替换后将丢失的…

    Linux干货 2017-08-31
  • jackcui0804作业

    (1)显示/proc/meminfo 文件中以大小s 开头的行;( 要求:使用两种方式) [root@centos7 ~]# cat /proc/meminfo | grep -e "^s.*" -e "^S.*" SwapCac…

    Linux干货 2016-08-08
  • iptables, sudo N28

    2018/2/25 17:14 第十二周

    2018-02-25
  • Linux磁盘和文件系统管理

      Linux磁盘和文件系统管理.pdf Part.I 磁盘管理 1.cfdisk   #图形化的很简单. 不知道你们用什么 反正我喜欢这个 ^_^ cfdisk – display or manipulate disk partition table 必要参数的具体说明如下: -a用箭头表示选取,而不是以反白表示 …

    Linux干货 2016-04-05
  • Linux文件系统上的权限

    Linux文件系统上的权限 首先我们来看一下如何修改文件的属主和属组 修改文件的属主:chown chown [OPTION]… [OWNER][:[GROUP]]FILE… 用法 OWNER修改属主 OWNER:GROUP修改属主:属组 :GROUP修改属组 命令中的冒号可以用.替换 -R:递归 chowen [OPTION]&#8…

    Linux干货 2016-08-04