LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 740|回复: 6

慕名前来,寻找答案!

[复制链接]
发表于 2003-1-22 23:48:25 | 显示全部楼层 |阅读模式
前两天在中国Linux论坛上听说LinuxSir的气氛很好,所以慕名前来拜访,并请教一个问题!
    我想请教一下,如何用源码将rh8上的glibc 2.2.93升级为2.3.1。我在本站搜了一下glibc这个关键字,看到不少有关这方面的问题、讨论,但都没有给出一个一般的方法,也没有谁做过一个最后的总结。所以我希望升级成功过的兄弟能把自己的升级步骤贴出来,让大家共享。
   也许大家可能会问我为何不用rpm包升级?因为我想对glibc做一点修改,所以必须获得其源码,然后修改完之后再重新编译安装。当然如果最后没法用源码升级的话,我也可以曲线救国,先获得glibc 2.3.1的源码rpm包,然后安装,解开源码包压缩档,修改,重新压缩,再重新生成二进制rpm安装包,然后再用二进制rpm包安装。
   这两天我按照glibc howto文档的介绍进行了试安装,但都没有成功。我觉得glibc howto上面介绍的方法并不适用于将glibc 2.2.93升级为glibc 2.3.1,因为它介绍的是将libc 5升级为libc 6。然后我又看了glibc 2.3.1源码目录下的INSTALL,其中也介绍了如何安装,我按照介绍一步步做,前面都没问题,但是make install的时候报错。我现在把我的安装步骤列出来,希望大家能指点问题:
   tar xvzf glibc-2.3.1.tar.gz
   cd glibc-2.3.1
   tar xvzf glibc-linuxthreads-2.3.1.tar.gz
   mkdir compile
   cd compile
   ../configure --enable-add-ons=linuxthreads --prefix=/usr
   make
   make check
   make install
具体的错误信息我当时忘了记,请问有谁按上述步骤做成功过的吗?另外,升级glibc一旦不成功,系统基本就无法再正常工作了,请问是否必须重装系统才行吗?能用修复模式修复吗?
    先谢谢了!:confused:
发表于 2003-1-23 00:11:57 | 显示全部楼层
抄一段LFS里的安装命令:
mkdir ../glibc-build &&
cd ../glibc-build &&
../glibc-2.3.1/configure --prefix=/usr --disable-profile \
    --enable-add-ons --libexecdir=/usr/bin &&
make &&
make install &&
make -C ../glibc-2.3.1/linuxthreads/man &&
make -C ../glibc-2.3.1/linuxthreads/man install
升级glibc,即使成功,也会使你以前的大多数程序segmentation fault,所以我觉得你这样做是不行的,你最好的办法是另外装一个系统,建议安装最新的LFS cvs 版本,里面的glibc就是2.3.1,你可以随便做你的修改。http://www.linuxfromscratch.org/view/cvs/
用修复模式是可以的,把glibc相关的包再安装一次就行了,因为redhat是rpm的,只要你安装rpm包,没有其他的问题。
看你的意思是要做系统底层的开发吧?厉害,佩服佩服!
发表于 2003-1-23 00:21:44 | 显示全部楼层
另外,在LFS cvs里,安装了两次的glibc,其中第二次就是我上面抄的那个,而第一次安装glibc,用了两个补丁,能使在glibc2下链接的程序在glbc3上运行,不过并不是完整的glibc,而是一个折衷的方案。http://www.linuxfromscratch.org/view/cvs/chapter06/glibc.html
里面用的补丁在这里有:http://downloads.linuxfromscratch.org/
我觉得你的问题挺难的,升级glibc,对一个系统来说,挑战性很大啊,尤其是rpm的系统,它那些已经编译好的rpm,能不能运行就只能看运气了。装个LFS吧,10个小时,就有了一个基本的系统,里面随便折腾,呵呵:)
发表于 2003-1-23 00:23:57 | 显示全部楼层
最好不要取代旧的版本
 楼主| 发表于 2003-1-23 08:27:14 | 显示全部楼层

Re: 慕名前来,寻找答案!

谢谢大家的帮助!
前两天我下了一个glibc 2.3.1的source rpm包,然后rebuild,生成了几个二进制rpm包,然后用他们升级我系统上的glibc 2.2.93,没问题。所以我想,rpm包的生成安装过程说白了也是用诸如../configure、make、make install之类的命令,既然能够成功,那么按理我直接用源码编译安装也是没有问题的,所以这些天我打算研究一下rpm的工作机理,看看它是如何实现升级的,然后我再手工模仿它的实现过程来升级一下我的系统,不知大家以为可行否?
发表于 2003-1-23 14:15:09 | 显示全部楼层
那也行,rpm所有的操作都在spec文件里,你看看它是怎么编译和安装的就行了。
发表于 2005-4-19 10:34:10 | 显示全部楼层
想起来最好的办法还是先安装 rpm 版本的 glibc, 可以暴露其他程序的问题。
解决了其他程序的依赖关系再搞自己的 glibc 就好了

先人阿...
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表