1. 程序包编译安装
1.1 源代码组织格式
多文件组成:文件中的代码,很可能存在跨文件依赖关系;
源代码的完整编译过程:
源代码 –> 预处理 –> 编译(gcc) –> 汇编 –> 链接 –> 执行;
源码的rpm包(*.src.rpm):先要使用’rpmbuild’命令把源码的rpm包制作成二进制格式的rpm包,然后再安装;
1.2 C语言的源代码编译安装3个步骤(借用工具实现):
源码的二进制包:
安装源码包时可先查看2个文件:’INSTALL’或者’README’;
1> ./configure:
通过选项传递参数,指定安装路径、启用特性等;
执行此命令后,会参考用户指定的参数选项以及以’Makefile.in’文件为模板,填充数据后,生成’makefile’文件;
2个开发工具:
autoconf : 生成’configure’脚本文件;
automake : 生成’Makefile.in’模板文件;
2> make:
根据’makefile’文件,构建应用程序;
3> make install:
复制文件至系统常规目录中;
1.3 代码托管站点
https://sourceforge.net/
https://github.com/
code.google.com
1.4 编译C语言的源代码需要的系统环境:
开发工具:make,gcc等;
开发环境:开发库,头文件,glibc标准库等;
通过”包组”形式提供开发组件:
Centos 6 : “Development Tools”,”Server Platform Development”
Centos 7 : “Development Tools”
1.5 ./configure帮助信息概述
./configure –help
1> 选项分类:各种安装路径的指定;
2> 目标系统平台结构:交叉编译时才使用;
3> 可选特性:启用或禁用程序包的某特性;
4> 可选程序包(依赖的其他程序包):定义依赖关系;
1.6 ‘make & make install’执行完成后,后续的配置:
1> 导出二进制程序目录至’PATH’环境变量:
~]# vim /etc/profile.d/NAME.sh
export PATH=$PATH:/PATH/TO/BIN
~]# source /etc/profile
2> 导出库文件路径:
~]# vim /etc/ld.so.conf.d/NAME.conf
/PATH/TO/NAME/lib
~]# ldconfig [-v]
3> 导出头文件:
做符号链接操作,可链接整个目录,也可以把目录的文件做链接;
ln -s[v] /PATH/FOM/NAME/include /usr/include/NAME
或者
ln -s[v] /PATH/FOM/NAME/include/* /usr/include/NAME/
4> 导出帮助文档:
Centos 6: /etc/man.config 添加一条’MANPATH’记录;
Centos 7: /etc/man_db.conf 添加一条’MANDATORY_MANPATH’记录;
然后使用命令’mandb’重新读取配置文件;