源码就是用特定的语言来编写的文本,比如我们常见的c语言。然而源码的安装要经过配置、编译的一系列的复杂过程,那么如此的麻烦为何还要来安装源码呢?其实这是为了让我们的系统来使用更新的功能和更多的功能,另外还可以更加个性化我们的配置。就拿apache来说吧,红帽官方提供给我们的是2.2的版本,但是最新的的版本已经到2.4了,所以有些时候我们需要安装源码。
下面我们来简单说说关于源码安装的必备环境:
源码需要编译成可执行文件,而编译则需要有相应的编译环境。当我们的系统中安装了Develepment Tools、Develepment Libraries、legacy software、和X soft Develepment这四个软件组的话,我们的编译环境就基本上具备了。
推荐阅读:
Ubuntu 12.04下StarDict发音的设置
openSUSE下安装星际译王(StarDict-3.0.1)
我们以软件httpd-2.4为例为大家讲解,下面开始源码的安装工作:
第一步:拆解httpd并放入指定的目录/usr/local/src
切换到源码被拆解的位置,进入该目录下相应的httpd目录,里边有些特征的文件,如configure(为生成makefile文件)、INSTALL或者README(指导我们安装)。查看INSTALL文件,如下所示
第二步:生成makefile文件
但是我们不会那么容易装好的,安装过程中我们会发现种种问题,下面我们一一来解决
(1)生成httpd的makefile文件
然后我们查看系统有没有安装apr
结果我们发现安装了apr,这是怎么回事呢?发生这种情况我们首先应该考虑到apr里面缺少我们需要的库,而这些库往往放在devel里面,那么我们来安装apr-devel软件包。
(2)但是安装完apr-devel后再进行第一步又出现下面错误
提示我们apr版本太低了,至少是1.4.0的才可以。那么去网上找更高的版本,这里需要注意的是我们要找适合我们系统平台的源码才可以,如下图所示,一般的都是i386、i586和i686的平台,但是如果你的是64位的就要选择x86_64的。
开始安装apr的源码,我们要把apr和apr-util都安装,util是工具,把这两个软件包分别进行拆解
此时我们在/usr/local/apr/apr1-1.4.6目录下,然后执行make进行编译
最后执行make install进行安装
(3)安装完毕后/usr/local/apr目录下会生成下列文件
然而这些库文件、头文件若想要被他人所利用还需要做一些处理:
【头文件的处理】进入系统能识别头文件的目录/usr/include,然后为apr的头文件创建链接到所在目录ln -s /usr/local/apr/include/apr-1/* .
【库文件的处理】在/etc/ld.so.conf.d目录下创建名为apr.conf的文件并进行编辑,输入一个供系统查找库文件的路径/usr/local/apr/lib;保存退出后ldconfig重新加载缓存然后查看。如下图所示,看到库文件可以被找到
(4)至此apr已经被安装好了,然后依据apr的安装来进行apr-util的安装,在生成makefile文件时又出现下面的错误,提示我们apr并没有找到,让我们加入一个--with-apr的选项
这里需要注意的是在源码安装过程中我们要学会用查看指令的方式为我们解决问题,查看有关信息
到/usr/local/apr目录下用tree命令显示文件之间的关系,结果看见在bin目录下有该文件
然后生成makefile文件,注意要加进文件目录
然后make、安装,因为util是个工具,所以没必要管头文件和库文件,所以apr的问题到此就都解决了。
(5)然后再来进行第一步,但是又出问题了,提示我们缺少配置文件,需要我们指明apr的配置文件
再在第一步中加入apr配置文件的路径