Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2045959
  • 博文数量: 326
  • 博客积分: 10010
  • 博客等级: 上将
  • 技术积分: 3485
  • 用 户 组: 普通用户
  • 注册时间: 2005-12-10 22:49
文章存档

2011年(1)

2009年(1)

2008年(6)

2007年(5)

2006年(154)

2005年(159)

我的朋友

分类: LINUX

2005-12-18 20:27:30

Linux入门普及读物 解读Linux编程库 (6)

Linux入门普及读物 解读Linux编程库 (6)

库的升级

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,执行下面代码:

ldconfig -v



更新/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 
int main(void)
{	printf ("Hello , Linux !
");
	return 0;}



然后用GCC编译一次,当程序出现如下运行结果,则说明已经正确地升级了。

“Hello, Linux !”



以上五部分分别介绍了Linux库的定义属性、“标准”库的命名和编号约定、经常使用的库、与库操作相关命令的作用,以及库升级的步骤,希望能对初学Linux的开发者有所帮助。

阅读(1106) | 评论(1) | 转发(0) |
给主人留下些什么吧!~~