美文网首页
程序包编译

程序包编译

作者: 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