基础了解
在一个比较大型的项目中,所有的文件不可能全部编辑于一个文件中。常常会将源码存放于多个文件中,便于日后维护和管理,故编译安装起来就不那么容易。
在项目完成之后,项目的发布者通常会进行如下操作:
1、autoconf:会生成configure文件。
该文件主要用于检查编译环境是否满足编译需求,并定义启用哪些功能或特性,同时定义安装路径。
其结果是,结合makefile.in生成makefile文件。
2、automake:生成makefile.in文件。
编译安装的步骤(以源码安装Python为例)
1、解压源码包。
命令:tar xf Pkg-name
# tar xf Python-2.7.11.tgz
2、切换进解压包。
3、查看configure的帮助信息
# ./configure --help
4、执行configure脚本,并指定安装路径。
# ./configure --prefix=/usr/local/python --sysconfdir=/etc/python.conf
生成了makefile文件
5、编译并安装。
# make && make install。
补充:configure脚本的通用功能,(可自行进行配置)
1、指定安装路径
--prefix=/usr/local/python
--sysconfdie=/etc/python
2、指定启动或禁用特性
--enable-feature
--disable-feature
3、指定所依赖的功能、程序或文件
--with-funciton
--without-function
编译之后的工作
1、将二进制程序导入系统可见范围:
# vim /etc/profile.d/xxx.sh
PATH=/usr/local/xxx:$PATH
export PATH
# { . | source} /etc/profile.d/xxx.sh
[[email protected] Python-2.7.11]# vim /etc/profile.d/python.sh [[email protected] Python-2.7.11]# . /etc/profile.d/python.sh [[email protected] Python-2.7.11]# cat /etc/profile.d/python.sh PATH=/usr/local/python/bin:/usr/local/python/sbin:$PATH export PATH
2、将头文件导入系统可见:
# ln -sv /usr/local/python/include/ /usr/include/python
[[email protected] Python-2.7.11]# ln -sv /usr/local/python/include/ /usr/include/ `/usr/include/include‘ -> `/usr/local/python/include/‘
3、将库文件导入
# vim /etc/ld.so.conf.d/python.conf
/usr/local/python/lib
# ldconf 让系统生成库文件的缓存。
[[email protected] Python-2.7.11]# vim /etc/ld.so.conf.d/python.conf [[email protected] Python-2.7.11]# ldconfig [[email protected] Python-2.7.11]# cat /etc/ld.so.conf.d/python.conf /usr/local/python/lib
4、将man文件导入
# vim /etc/man.conf
MANPATH /usr/local/xxx/man
注:python没有man文档,此处不用修改。