分享

为什么我的Linux上装Firefox3不成功

 Stefen 2010-12-29

我的一台老HP坐机(02年的机器),装了Red Hat Enterprise Linux 4(内核版本是2.6.9-29),平时很少用。 因为在IBM便携Windows xp操作系统下一直用firefox,最近偶而用下台式机,没有firefox真不习惯,没有Google工具栏、foxmarks书签工具,感觉象突然 被人绑架一样,自己花点时间整整吧,应该发挥点“Running Linux" 的精神。从Mozilla网站上下载了一份官方Firefox3软件包,是.tar.bz2格式的,解压后在firefox目录下执行firefox脚 本,报缺少一个库文件libpangocairo-1.0.so.0,经查证这个文件与Pango包有关,Pango是一个表示国际字符的图形包,我执行 rpm -q pango命令,查得我的版本是1.6.0-9版,Pango 1.6.0-9的发行时间是2005年3月2日(见pango-1.6.0-9 Source RPM)。Pango自己的网站上有Release发布列表。根据Mozilla上Firefox3系统安装要求, 需要Pango 1.14或更高版本,查阅前面Pango Release列表1.14版发布于2007年元月29日,目前最新版本是2009年3月16日的1.24版。再对照Firefox3安装要求,我的 Gtk+、Glib包版本也低了,X.Org包在机器中还没有。看来工作量不小啊!

我下载了1个pango-1.24.0.tar.bz2安装包,展开后在pango-1.24.0目录下执行./configure,在 checking for CAIRO之后报错,错误提示是“configure error:*** Could not enable any of FreeType,X11,Cairo,or Win32 backends. *** Must have at least one backend to build Pango”,通过Gnome图形界面系统设置菜单中“添加/删除应用程序”子项安装“X软件开发包”,上述问题得以解决,重做./configure, 又报一个错,Glib版本太低,要2.17.3或以上版本,我的Glib版本是1.2.10(Build日期为2004年8月9号)。在GTK+官网下 载了glib-2.18.4安装包,展开包并在展开目录下执行./configure,在checking for pkg-config... /usr/bin/pkg-config之后报错“configure: error: *** pkg-config too old: version 0.16 or better required", 执行rpm -qf /usr/bin/pkg-config,得知该执行文件属pkgconfig-0.15.0-3包所有。在Softpedia上下载pkg-config-0.20.tar.gz软件包,解包后顺序执行./configure,make all,make install命令,一切OK,再到前面glib-2.18.4目录下执行同样三个命令,也OK.

经过一些反复,最终firefox3可以运行了。装包过程是有一些讲究,过后看理应如此,中间也是有一些尝试,这里总结一下:

1、安装glib-2.18.4。安装这个包之前要装pkgconfig-0.16及之上的包,我装的是0.20的包,还要装高版本的atk包,我装的是1.25.0的包。

2、安装cairo包。前面那个libpangocairo库报错与cairo包有关,libpangocairo库文件是在pango包装好后才生成的,但装好cairo包是前提。cairo包可在cairo站点下 载,我下载的是1.8.4版的,提醒一下站点上1.6版的几个包制作有问题,下载后打不开。注意安装cairo包之前要先装好 pixman,libpng,FreeType和fontconfig四个包,不然执行./configure命令会报错,我下载的这4个包的版本分别是 pixman0.14.0,libpng1.2.7-1.el4.2,FreeType2.3.9和fontconfig2.5.0,它们的下载网址可以 在展开的cairo-1.8.4目录下README文件中得到,在此特别推荐阅读README文件,在这个文件中你能看到很多关于本包和其它关联包的信 息。

3、安装pango-1.24.0,在执行./configure命令时不用加选项(因为我看到网上有的提示加--enable-cairo选项,根据我的经验,实际不需要),libpangocairo库会自动生成

4、安装gtk+-2.14包,在GTK+官网下载。

5、可以在展开的firefox3目录下执行firefox了,目录下的几个可执行文件,firefox是一个shell文件,firefox- bin是一个二进制文件,你可以用ldd命令看看用到的动态链接库是否都有明确的路径了,如果发现有一些动态链接库标识的是"Not Found",你最好把LD_LIBRARY_PATH环境变量设置一下,“#export  LD_LIBRARY_PATH=.:/usr/local/lib:/usr/lib”。执行#./firefox命令,隔一会儿,火弧浏览器窗口就出 来了

安装过程中碰到的其它问题:

在装包的中间过程,有一次图形界面出不来了,在主Console上不停地报"prefdm respawning too fast, stopped", prefdm是/etc/inittab中定义的,在runlevel 5状态下必须执行的一个图形界面启动执行文件,在系统日志中查不到什么报错信息,后来发现prefdm会调用startx命令,手工执行startx,跳 出几行错误,/lib下几个与gtk+有关的库文件找不到,这下明白是把初始的gtk+库(1.2.10-33)损坏了,找来RHEL AS4安装光盘,用rpm命令把gtk+库重装一遍后,图形界面就启动正常了。后面要装高版本的gtk包,装到/usr/local目录下就不会影响原有 图形界面的功能。prefdm的功能是什么呢?它负责弹出一个GUI login界面,在该界面上你可以选择你喜欢的窗口管理器(GNOME,KDE或传统的X窗口管理器),然后登陆到该窗口中。关于prefdm的参考资 料,KDE GUI Login Configuration HOWTO.

 


    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多