荔园在线

荔园之美,在春之萌芽,在夏之绽放,在秋之收获,在冬之沉淀

[回到开始] [上一篇][下一篇]


发信人: wishing.bbs@bbs.sjtu.edu.cn (这一秒,你好不好), 信区: Linux
标  题: 一些软件升级问题的解决
发信站: 饮水思源 (Sun May 16 10:55:26 2004)
转信站: SZU!news.szu.edu.cn!netnews.sdu.edu.cn!SJTU

    这两天刚刚玩linux(redhat9.0)安装软件的过程中碰到一些问题,在这里(sjtubbs)
得到了很多帮助,现在把我的一点想法贴出来,希望能对像我这样的新手有所帮助:)

    开始最迷惑的就是软件的系统管理方法,如果是rpm包,那不用说,有rpm的管理系统,
如果我们要查看一个以安装的rpm包,那么可以
       rpm -qi rpmname
比如
       rpm -qi atk
但是那些使用源代码安装的软件呢?这些软件rpm里面是找不到的.可是你以后安装别的软
件,他都会查找和自己有倚赖关系的软件(自己要用到的,主要是一些库,比如glib,atk等
等,./configure的时候查),那么这是怎么办到的呢?
     原来在/usr/lib/pkgconfig下有很多的*.pc的文件,这些相当于windows下的注册表
,比如里面有一个atk.pc文件,大家可以打开文件看一看,里面包含了该库的安装路径和版
本等等的信息,以后安装别的软件时./configure运行configure文件时就会在该路径下寻
找相应的*.pc文件来查找所要的库的信息,要注意的是这个搜索路径存放在一个环境变量
里,PKG_CPNFIG_PATH,如果找不到已经安装过的软件,大家可以看看这个变量的值对不对,
使用echo $PKG_CONFIG_PATH 来查看该变量的值,如果不对就要修改
    export  PKG_CONFIG_PATH=/usr/lib/pkgconfig
如果还是不对....还有
      通常我们的系统安装时就装了很多的库,麻烦的是我们需要经常的升级,比如我们
要装openQ-0.3和gaim-0.77那么他就要求gtk+-2.4.1,而我们系统原来的只有gtk+-2.2.1
这样我们需要升级该库,但是升级的时候大家会发现他要求现升级7个别的库,好了,我们
就用这个安装过程来说明一些些问题

      要安装gtk+-2.4.1,先要安装glib-2.4.1,那么首先请大家查看一下系统上原来的
glib的版本
      pkg-config --modversion glib

     pkg-config --modversion glib-2.0
我们可以看到glib-2.0的版本是2.2.1
接下去我们要升级,就要确定你安装的2.4.1要把原来的2.2.1覆盖掉,否则安装gtk+的时
候他会检测到旧的版本,出错,那就哭了:),因此首先确定老版本的安装路径,怎么找呢?前
面说过在*.pc文件里面,/usr/lib/pkgconfig/glib-2.0.pc文件里面有安装路径,就是如
下的信息:
      prefix=/usr
      exec_prefix=/usr
      libdir=${exec_prefix}/lib
      includedir=${prefix}/include
因此我们要在./configure的时候指定安装路径
      ./configure --prefix=/usr --exec-prefix=/usr
至于这两个参数的意思,大家可以./configure --help来看,这里不多说了
这样就可以升级成glib-2.4.1了,接下来依次编译安装其他的软件包,这里有一个值得一
提的是安装libpng-1.2.5,这个包安装不用configure,他提供了一个scripts文件夹,里面
提供了无数makefile.*的文件,要求大家选择合适自己机器的一个文件,然后放到
/libpng-1.2.5目录下改名为makefile就可以了,然后直接make;make install就好了,关
键是这个makefile.*文件的选取,建议大家选取
     makefile.std   =>  Generic UNIX makefile (cc, creates static libpng.a)
当然可以根据自己的机器来选,但是选错了会很麻烦,我就试过,结果是xwindows出问题了
,半天进不了图形界面,进去了发现所有的窗口都没有边
    其他的都一样了,重点就是如果软件包以前就有,现在升级,那么一定要覆盖旧的版本
,如果以前没有,第一次安装,那也就无所谓装到什么地方
    /usr/bin 和 /usr/local/bin 里面放的都是可执行的文件
    好了,就这么多,希望对你有所帮助

    新手上路,如果有所谬误,请各位指正:)
--
※ 来源:·饮水思源 bbs.sjtu.edu.cn·[FROM: 218.193.188.123]


[回到开始] [上一篇][下一篇]

荔园在线首页 友情链接:深圳大学 深大招生 荔园晨风BBS S-Term软件 网络书店