全部博文(326)
分类: LINUX
2005-12-18 20:27:30
Linux入门普及读物 解读Linux编程库 (6)
库的升级
Linux系统软件更新很快,新的核心几乎每几个星期就公布一次,其它软件的更新也是非常频繁。多数情况下,盲目跟随潮流的升级并不必要,如果确实需要新版本的特性时再升级。换句话说,不要为了升级而升级。Linux系统中多数软件都是用共享库来编译的,其中包含了在不同程序之间共享的公用子例程。
在运行某个程序时,如果看到如下信息:“Incompatible library version.”则表明需要将该库升级到程序所需要的版本。库是向下兼容的,也就是说,用老版本库编译的程序可以在新安装的版本库上运行,反之则不行。
Linux库函数的升级是一项重要的工作,往往与其它软件包的升级有一定关联作用,所以操作前一定要备份文件。下面看一下如何把Glibc 2.2.4.13升级至2.3.2版本,其过程如下:
1.下载.gz压缩文件并解压
在GUN C网站下载的四个.gz压缩文件,解压至一临时目录中:
|
2.建立库函数的安装目录
|
3.建立编译目录
|
4.编译与安装
|
编译与安装过程根据计算机硬件配置不同,从10分钟到几十分钟不等。
5.改变数据库的链接
|
然后,修改/etc/ld.so.conf,加入一行/usr/higlibc/lib,执行下面代码:
|
更新/etc/ld.so.cache的内容,列出每个库的版本号,扫描目录和所要创建及更新的链接。
6.更改GCC设置
|
7.更新符号链接
|
8.测试
编写一个简单的C程序测试一下,除了头文件只需一条printf语句即可:
|
然后用GCC编译一次,当程序出现如下运行结果,则说明已经正确地升级了。
|
以上五部分分别介绍了Linux库的定义属性、“标准”库的命名和编号约定、经常使用的库、与库操作相关命令的作用,以及库升级的步骤,希望能对初学Linux的开发者有所帮助。