linux下TSL如何升级,glibc升级

将系统自带的glibc 2.3.4 升级到 glibc2.5

工作环境:redhat AS 4  2.6.9

注意:必须准备系统启动盘,或者其它工具(当系统无法启动时)

今日下载了飞信安装程序以及库文件,决定安装到linux 上,解压安装程序和库文件,将库文件cp到/usr/lib下,运行:ldd 飞信程序,提示错误,需要glibc 2.4,于是察看资料,决定升级glibc

升级过程操作如下;

运行:/lib/tls/libc.so.6

可以查看到当前的glibc版本。

安装之前,升级内核,使其支持glibc2.5,我将内核升级到 2.8,重起完成。

解压下载好的glibc2.5

由于先前编译出现权限拒绝错误,所以我将源代码2.5授权为777。

在/opt下建立 glibc目录,因为glibc不可以在它自己的目录内编译。

进入glibc,执行:

#:sh /path/glibc2.5/configure  --prefix=/usr  回车

开始。。。。。。。。。。。。。。。完成,没有出现错误,

继续 make  回车

.......................................................................完成。没有出现错误

最后一部

make install 回车

。。。。。。。。。。。。。。。。出现错误;

rm: relocation error: /lib/tls/libc.so.6: symbol _dl_out_of_memory, version GLIBC_PRIVATE not defined in file ld-linux.so.2。。。。。。。。。。。。。。

安装失败后,输入任何命令都是无效的,系统只会重复"relocation error: /lib/tls/libc.so.6: symbol _dl_out_of_memory, version GLIBC_PRIVATE not defined in file ld-linux.so.2 with link time reference"的错误信息,重新启动计算机在启动中就会失败,根本无法进入原Linux系统。

出现这样的错误的原因是Coreutils的应用程序都依赖于/lib/tls/下的动态库,在make install的时候,/lib/ld-linux.so.2从原来指向ld-2.3.4.so被改为指向ld-2.5.so,但这个时候/lib/tls/libc.so.6指向的仍然是/lib/tls/libc-2.3.4.so。/lib/ld-linux.so.2和/lib/tls/libc.so.6各自指向不同版本的库文件导致了Coreutils的命令执行失败,从而make install也失败。

这时,我用我准备好的Linux启动光盘,启动系统,挂在分区,把原根文件系统的/lib/tls/下的链接全部改为指向2.5版本的库文件,具体就是/lib/tls/libc.so.6,/lib/tls/libm.so.6, /lib/tls/libpthread.so.0和/lib/tls/librt.so.1这4个软链接分别指向libc-2.5.so, libm-2.5.so,libpthread-2.5.so和librt-2.5.so。libthread_db.so.1仍然是指向libthread_db-1.0.so,但这个时候/lib/libthread_db-1.0.so已经是Glibc2.5版本的了,原/lib/tls/libthread_db-1.0.so必须被替换为Glibc2.5版本的libthread_db-1.0.so。

如下;

cd  /mnt/hda3/lib/tls

# cp -f ../libthread_db-1.0.so .

# cp ../libc-2.5.so .

# cp ../libm-2.5.so .

# cp ../libpthread-2.5.so .

# cp ../librt-2.5.so .

# ln -sf libc-2.5.so libc.so.6

# ln -sf libm-2.5.so libm.so.6

# ln -sf libpthread-2.5.so libpthread.so.0

# ln -sf librt-2.5.so librt.so.1

然后重新启动系统,发现启动完成,进入系统。

由于上次执行安装出现错误,所以继续执行

make install

安装完成。没有出现错误。

运行:/lib/libc.so.6

GNU C Library stable release version 2.5, by Roland McGrath et al.

Copyright (C) 2006 Free Software Foundation, Inc.

This is free software; see the source for copying conditions.

There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A

PARTICULAR PURPOSE.

Compiled by GNU CC version 3.4.6 20060404 (Red Hat 3.4.6-10).

Compiled on a Linux >>2.6.28<< system on 2009-08-21.

Available extensions:

crypt add-on version 2.1 by Michael Glad and others

GNU libio by Per Bothner

NIS(YP)/NIS+ NSS modules 0.19 by Thorsten Kukuk

Native POSIX Threads Library by Ulrich Drepper et al

BIND-8.2.3-T5B

Thread-local storage support included.

For bug reporting instructions, please see:

.

升级完成。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值