昨天在安装gmime时,发现系统自带的glib版本太低,需要升级版本。
由于接触Linux系统不久,对一些软件或库的升级没有经验,在网上下载了了个说明,照着说明安装下去,总是不成功,后经同事的指点(这里要重点感谢 赵波 的热心的帮助),才成功安装。现在把我的经历记录一下。
1、在升级这种库之前, 先想一下有没有其它 的程序或服务在使用当前这个库,如果有,则不能原基础上进行修改。一般情况下是不能这样做的。因为其它的程序会使用当前的库。我在安装时,先把原来的版本删掉,可能是没有删除彻底,导致后面的文件都乱了,版本与Lib对不上号。晕死。
2、重新安装到一个自己的目录。这样不会影响他人的库。如,安装在/home/mlm/glib/,这样,就不会影响其它的版本
./configure --prefix=/home/mlm/glib
make
make install
在安装库完成后,一定要注意这两个参数的设置,不然其它的模块很难使用。
3、将LD_LIBRARY_PATH 增加当前路径LD_LIBRARY_PATH =/home/mlm/glib/lib/:$LD_LIBRARY_PATH
将PKG_CONFIG_PATH增加PKG_CONFIG_PATHhome/mlm/glib/lib/pkgconfig/:$PKG_CONFIG_PATH
可以将他们增加到相应的profile文件或bashrc中,这样需要使用glib的模块就可以调用了。
LD_LIBRARY_PATH 这个路径是说明库文件所在位置,程序加载器会到这个路径去搜索需要的库文件。
PKG_CONFIG_PATH 是给pkg-config这个程序使用的(需要库软件支持这种方式),它可以搜索这个路径下对应 库的.pc文件,因为在这个文件里存放了库的相关的路径(头文件路径,lib所在路径),在编译的时候需要用到这些参数。
如有程序需要使用glib
则编译的时候:gcc -g -W test.c -o test `pkg-config --cflags --libs`
则可以包含这些编译参数.
这里应该是有以下几个重点的知识点:
1、新库安装时,请使用单独的目录进行安装,以免破坏。
2、两个路径的设置
3、pkg-config的使用
另外:visudo 的使用,为了更好的管理用户的操作权限,可以在这里给用户设置相应的操作权限,以免root的滥用。