从源码安装并不是为了得到新的特性,而只是想通过编译安装,学习一下GNU的BUILD SYSTEM以及把整个开发环境配置齐全。所以,这里选择了一个比较小的GWGET作为对象。搞了几个晚上,期间确实是痛苦的,甚至都开始报怨LINUX的难用了。最终查了很多资料,也学了不少知识。最终编译出来了。
步骤一:下载GWGET源码 可以从GNU的SVN服务器上直接下载,这里我下载的是TAG里0.99版的 cd ~/src/gnome/ svn co http://svn.gnome.org/svn/gwget/tags/GWGET_0_99 gwget-0-99 步骤二:编译 gwget源码包里提供了Makefile.am和configure.in两个编译相关文件,我们可以根据这两个文件生成Makefile及configure脚本。这一过程我花了好长时间。也是最痛苦的。主要的问题,一是很多工具没安装,而且不清楚要装哪个;二是对GNU的BUILD SYSTEM不熟,很多工具也不知道怎么用。先把命令顺序写出来,再列出遇到过的问题及解决办法。 cd ~/src/gnome/gwget-0-99 aclocal #这一命令用来生成M4宏,M4宏是啥东东?很复杂的样子。大概只知道它是autoconf命令要用到的东东。 autoconf #生成configure脚本 autoheader #生成config.h.in autoreconf #看了很多资料好象不需要这一步,不过我在运行automake时提示ltmain.sh没找到。但运行这个命令时会生成ltmain.sh脚本 libtoolize #运行autoreconf时会提示运行libtoolize,这个命令会在po目录下生成Makefile.in.in。这个问题我搞了好久好久,运行./configure时老是提示po目录下找不到Makefile.in.in,我甚至在想,是不是SVN下载时把这个文件给下漏了。后来GOOGLE,甚至把GNU的gettext的文档都看了个遍。最终终于是试出来了。晕啊。 automake -a #生成Makefile.in,-a选项用来把一些缺少的文件自动补全 ./configure #检查系统的配置,同时生成Makefile 如果到这一步还没出错的话,接下来就简单了,make,make install即可。默认情况下,会安装在/usr/local/share/gwget目录下,在/usr/local/share/applications下有个gwget的快捷方式。 上面这些命令如果象我一样,首次运行的话,估计没那么顺利,反正我是头都被大了。反正不懂就搜索。在运行./configure时,失败时需要认真看提示,如果提示某个包没装,一定要装上这个包,同时装上-dev版本。因为只有装上-dev版本能包含这个包的一些必要头文件。我记得AM_GCONF_SOURCES_2这个东东就搞得我头痛。 总结:花了将近3个晚上的时间终于编译过去了。这个过程中发现了自己菜到什么程度。不过进步总是从发现自己的无知开始的。通过编译也基本搞清楚了GNOME桌面环境下,一个应用程序的组成部件。接下来,准备好好消化gwget的源码,包括如下部分:gtk,glade,网络编程,GLib,gettext,Makefile。 内容好多啊。最后附上编译完的GWGET的ABOUT对话框截图。在翻译者后面加了(kamido)意淫了一下,权当留做纪念吧。