库的升级
Linux系统软件更新很快,新的核心几乎每几个星期就公布一次,其它软件的更新也是非常频繁。多数情况下,盲目跟随潮流的升级并不必要,如果确实需要新版本的特性时再升级。换句话说,不要为了升级而升级。Linux系统中多数软件都是用共享库来编译的,其中包含了在不同程序之间共享的公用子例程。
在运行某个程序时,如果看到如下信息:“Incompatible library version.”则表明需要把该库升级到程序所需要的版本。库是向下兼容的,也就是说,用老版本库编译的程序可以在新安装的版本库上运行,反之则不行。
Linux库函数的升级是一项重要的工作,往往与其它软件包的升级有一定关联作用,所以操作前一定要备份文件。下面看一下怎么样把Glibc 2.2.4.13升级至2.3.2版本,其过程如下:
1.下载.gz压缩文件并解压
在GUN C网站下载的四个.gz压缩文件,解压至一临时目录中:
cd /usr/caolinux
tar xzvf glibc-2.3.2.tar.gz
cd glibc-2.3.2
tar xzvf ../glibc-linuxthreads-2.3.2.tar.gz
tar xzvf ../glibc-crypt-2.3.2.tar.gz
tar xzvf ../glibc-localedata-2.3.2.tar.gz
|
2.建立库函数的安装目录
mkdir /usr/higlibc
cd /usr/higlibc
|
3.建立编译目录
mkdir cao
cd cao
./configure --enable-add-ons=linuxthreads,crypt,localedata -prefix
=/usr/higlibc
|
4.编译与安装
make
make check
make install
|
编译与安装过程根据计算机硬件配置不同,从10分钟到几十分钟不等。
5.改变数据库的链接
ln -s /usr/higlibc/lib/ld-linux.so.2 /lib/ld-linux.so.2
|
然后,修改/etc/ld.so.conf,加入一行/usr/higlibc/lib,执行下面代码:
更新/etc/ld.so.cache的内容,列出每个库的版本号,扫描目录和所要创建及更新的链接。
6.更改GCC设置
cd /usr/lib/gcc-lib
cp -r i386-redhat-linux higlibc
|
7.更新符号链接
cd /usr/higlibc/include
ln -s /usr/src/linux/include/linux
ln -s /usr/src/linux/include/asm
ln -s /usr/X11R6/include/X11
|
8.测试
编写一个简单的C程序测试一下,除了头文件只需一条printf语句即可:
#include <stdio.h>
int main(void)
{ printf ("Hello , Linux !\n");
return 0;}
|
然后用GCC编译一次,当程序出现如下运行结果,则说明已经正确地升级了。
以上五部分分别介绍了Linux库的定义属性、“标准”库的命名和编号约定、经常使用的库、与库操作相关命令的作用,以及库升级的步骤,希望能对初学Linux的开发者有所帮助。
()
如果您对本文有任何疑问或者建议,请到讨论区发表您的意见:
>>
论坛入口 <<
上一篇:没有了 下一篇:
锋线上的冲杀——论Linux数据库大比拚
【文章评论】
【收藏本文】
【推荐好友】
【打印本文】
【我要投稿】 【论坛讨论】