首页 > 代码库 > Linux之代码包编译
Linux之代码包编译
1,编译安装源代码包:
首先我们来了解一下源代码包
1, 源代码包就是源代码的可见的软件包,基于Linux和BSD系统的软件最常见。
2, 源代码包可以根据自己的需求编译出最适合自己的程序
3, 源代码包的压缩格式file.tar.gz file.tar.bz2 file.tar.xz。
2,编译源代码包所依赖的环境:
根据源代码的开发环境不同,编译源代码所用的工具也就不同
例如根据C语言开发的源代码编译工具就为gcc,而如果把源代码分为多个源代码文件,那么又如何同一编译,怎样区分先后顺序?而项目管理工具的作用就是组织多个文件当做一个文件进行编译,使用的是GNU make 工具。Automake则自动为make提供配置文件,但是automake所提供的是MAKEFILE.in文件,而需要的配置文件为MAKEFILE ,所以autoconf工具根据编译环境功能配置脚本生成configure文件,configure文件的作用便是结合MAKEFILE.in生成MAKEFILE文件。然后由make调用。
3,编译源代码步骤:
1, 下载源代码包
2, 解压源代码包
a) tar xf testapp-version.tar.{xz|bz2|gz}
b) cd testapp-version 切入加压出来的文件目录
c) ./configure 执行此文件,还需通过许多指定的编译特性
1、获取帮助
./configure --help
2、较通用的一些选项
安装路径相关:
--prefix=/path/to/somewhere: 指定安装路径
--sysconfdir=/path/to/somewhere: 指定配置文件安装路径
指定启用/禁用的特性
--enable-FEATURE: 例如--enable-fpm
--disable-FEATURE: 例如--disable-socket
指定所依赖的功能、程序或文件
--with-FUNCTION[=/path/to/somewhere]
--without-FUNCTION
缺少库文件,安装yum install pcre-devel
执行成功!
d) make
直接执行make结果如下,没有错误,就可以执行下一步安装了
e) make istall 安装完成
3, 安装后的配置
大家可以看到,我们执行nginx程序是在/usr/local/nginx/sbin/下执行的程序,那么在 主目录下可以执行吗?我们来看一下
提示没有此命令,那又是为什么呢?是因为我们没有在PATH环境的搜索路径中。
1,我们要想让安装的二进制程序直接运行,则需要在PATH中添加环境变量。
首先在/etc/profile.d/目录下创建appNAME.sh(你的文件名以.sh结尾)的问价
在appNAME.sh中写下export PATH=$PATH:/path/to/somewhere(你的文件路径)
2,导入手册页
我们平时使用man命令查看一个命令的帮助信息,而nginx却不行。那是应为
我们在/etc/man.config文件中有说明,所以我们也加一条进去即可
man –M /path/to/somewhere KEYWORD
程序开发:如果其他应用程序依赖此程序的开发,或针对此程序做二次开发则需要
1,导出库文件
在开机的时候系统会通过/etc/ld.so.cache保存当前系统上所能找到的库文件和路劲,所 以指定让系统搜索定制的路径
编辑:/etc/ld.so.conf.d/APPNAME.conf
一行一个库文件路劲,写进来即可
2,触发系统重新搜索所有的库文件并生成缓存
ldconfig –v
3,导出头文件
自定义安装的一般都在自己安装目录下的/etc/local/nginx/include
系统找头文件的路劲是:/usr/include
所以,创建连接进行
ln –sv /usr/local/nginx/include /usr/include/nginx
END
本文出自 “aolens·程超” 博客,请务必保留此出处http://aolens.blog.51cto.com/7021142/1440516
Linux之代码包编译