|
这两天刚刚玩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 里面放的都是可执行的文件
好了,就这么多,希望对你有所帮助
新手上路,如果有所谬误,请各位指正
--
[m[1;32m※ 来源:·饮水思源 bbs.sjtu.edu.cn·[FROM: 218.193.188.123][m |
|