如何从源代码安装Gaim

目的:安装Gaim
环境:已经安装了Linux Kernel的机器。gnu编译环境已经设定好。wget可用。
要求:不使用已编译安装包。(模拟在全新CPU构架的计算机上安装的过程)
步骤:
基本思路非常简单,由于gnu编译工具链已经就位,只要用wget获取Gaim源代码进行编译安装即可。
但是,最大的问题是Gaim的源代码依存于gtk+,而gtk+又是依存于一些列GNU/non-GNU工具包的。因此首先必须找出所有的软件包依存关系。
找依存关系有两个办法,一个是看文档,这个比较清楚而且简单精确。在文档可用的时候强烈推荐;
还有一个就是不管三七二十一先试着编译,然后看出错信息。这个比较麻烦,对技术要求也高,一般不推荐。
这里我尝试着安装的是Gaim1.5.0,选择的GTK+是此时最新的2.8.2。
由于只有Linux内核,离图形界面差了一大截,gnu软件中间的版本问题又比较复杂,整个摸索过程耗了我3整天。不过通过这个过程,对Linux的命令以及GNU的构架又熟悉了不少,也不算冤枉。
虽然软件间的关系是随版本变化的,但是也有一定的规律。3天的经验如果不写下来,没多久也就忘记了,那就是在浪费生命了。
根据实测,源代码间的依存关系如下:(在上述版本的条件下)(编译顺序为自下而上,从左到右)
Gaim
|
GTK+
|
+—————————————————-
|               |               |                   |           |          |           |          |
atk        expat        cairo——>pango    libjpeg  tiff       libpng   X
|                                                                                                |
+——–                                             ——————–+
|               |                                            |                       |            |
bison       fliex                                      ncurses    fontconfig->freetype
 
这里主要有两个要点,一个是X系统,虽然GTK+的资料说X系统并不是必要的,但是实际编译的时候,很多软件包里都有依存于X系统的部分。没有似乎编译通不过。X系统中字库部分编译时间非常长,在P4数量级的机器上也耗时1小时以上,这一点需要注意的。
 
此外,X系统的源代码树中虽然有fontconfig和freetype,但是fontconfig会在freetype前编译。而fontconfig需要使用freetype的库,因此在系统事先未安装freetype的情况下,需要手工先编译freetype并进行安装,这样X的编译才能顺利通过。
 
tiff和libpng在X的编译过程中要用到,需要在X之前编译安装好。
 
没有cario pango一样可以编译,但是编译出来的东西GTK+不接受。一定要先编译cario安装再编译pango,这样pango里cario相关的代码就会生效,编译出来的模块才会被GTK+接受。
 
libjpeg的编译比较简单,不过./configure后面一定要带上参数,否则不会有静态库和动态库被编译出来,GTK+的./configure会出错。
 
所有的模块在编译后都需要安装。

发表评论

Fill in your details below or click an icon to log in:

WordPress.com 徽标

您正在使用您的 WordPress.com 账号评论。 注销 /  更改 )

Facebook photo

您正在使用您的 Facebook 账号评论。 注销 /  更改 )

Connecting to %s

%d 博主赞过: