昨天在安装gmime时,发现系统自带的glib版本过低,须要升级版本。bash
因为接触Linux系统不久,对一些软件或库的升级没有经验,在网上下载了了个说明,照着说明安装下去,老是不成功,后经同事的指点(这里要重点感谢 赵波 的热心的帮助),才成功安装。如今把个人经历记录一下。编译
一、在升级这种库以前, 先想一下有没有其它 的程序或服务在使用当前这个库,若是有,则不能原基础上进行修改。通常状况下是不能这样作的。由于其它的程序会使用当前的库。我在安装时,先把原来的版本删掉,多是没有删除完全,致使后面的文件都乱了,版本与Lib对不上号。晕死。test
二、从新安装到一个本身的目录。这样不会影响他人的库。如,安装在/home/mlm/glib/,这样,就不会影响其它的版本基础
./configure --prefix=/home/mlm/glibgcc
make软件
make installfile
在安装库完成后,必定要注意这两个参数的设置,否则其它的模块很难使用。搜索
三、将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`
则能够包含这些编译参数.
这里应该是有如下几个重点的知识点:
一、新库安装时,请使用单独的目录进行安装,以避免破坏。
二、两个路径的设置
三、pkg-config的使用
另外:visudo 的使用,为了更好的管理用户的操做权限,能够在这里给用户设置相应的操做权限,以避免root的滥用。