美文网首页
程序包编译

程序包编译

作者: Simon_Ye | 来源:发表于2020-03-04 15:54 被阅读0次

    程序包编译安装

    • Application-VERSION-release.src.rpm --> 安装后,使用rpmbuild命令制作成二进制格式的rpm包,而后再安装
    • 源代码 --> 预处理 --> 编译 --> 汇编 --> 链接 --> 执行
    • 源代码组织格式:
       多文件:文件中的代码之间,很可能存在跨文件依赖关系
       C、C++:make项目管理器
        configure脚本 --> Makefile.in --> Makefile
       java:maven

    编译安装

    开发工具:

    autoconf:生成 configure 脚本
    automake:生成 Makefile.in

    注意:安装前查看INSTALL,README

    开源程序源代码的获取:

    1. 官方自建站点:
       apache.org(ASF:Apache Software Foundation)
       mariadb.org
       ...
    2. 代码托管:
       SourceForge.net
       Github.com
       code.google.com

    c/c++编译器:

    gcc(GNU C Complier)

    编译C源代码:

    • 准备:提供开发工具及开发环境
      1. 开发工具:make,gcc等
      2. 开发环境:开发库,头文件
         glibc:标准库
    • 实现:通过“包组”提供开发组件
       Development Tools
       Server Platform Development

    C语言源代码编译安装三步骤:

    1. ./configure
      1. 通过选项传递参数,指定启用特性、安装路径等;执行时会参考用户的指定以及Makefile.in文件生成Makefile
      2. 检查依赖到的外部环境,如依赖的软件包
    2. make 根据 Makefile 文件,构建应用程序
    3. make install 复制文件到相应路径
    第一步:configure脚本

    选项:指定安装位置、指定启用的特性
    --help:获取其支持使用的选项

    • 选项分类:
      • 安装路径设定:
         --prefix=/PATH:指定默认安装位置,默认为/usr/local/
         --sysconfigdir=/PATH:配置文件安装位置
      • System types:支持交叉编译
      • Optional Features:可选特性
         --disable-FEATURE
         --enable-FEATURE[=ARG]
      • Optional Packages:可选包
         --with-PACKAGE[=ARG],依赖包
         --without-PACKAGE,禁用依赖关系

    注意:通常被编译操作依赖的程序包,需要安装此程序包的“开发”组件,其包名一般类似于 name-devel-VERSION

    第二步:make

    ~]# make -j [#]

    第三步:make install

    ~]# make install

    安装后的配置:

    1. 二进制程序目录导入至 PATH 环境变量中
      编辑文件/etc/profile.d/NAME.sh
      export PATH=/PATH/TO/BIN:$PATH
    2. 导入帮助手册
      编辑配置文件添加一个 MANPATH 路径:
       CentOS 6:/etc/man.config
       CentOS 7:/etc/man_db.conf

    相关文章

      网友评论

          本文标题:程序包编译

          本文链接:https://www.haomeiwen.com/subject/sumvlhtx.html