BBS水木清华站∶精华区
发信人: midi (迷笛), 信区: Linux
标 题: Slackware 和 glibc[转自MIT)
发信站: BBS 水木清华站 (Mon Apr 5 05:39:20 1999) WWW-POST
发信站: The unknown SPACE (Sun Apr 4 17:03:46 1999) WWW-POST
前些时有网友和我讨论Slackware上是否有glibc。我说有,他
说没有。现在我应该进一步澄清一下。
首先,我们两个都一定程度上对了或错了。Slackware从3.6开始,
有了glibc的Run-time支持。但确省在编译时还是用libc5的。
也就是说,Slackware目前可以运行glibc程序,但编译出来的东西
是libc5的。这种状况在Slackware 4.1以前不会改变。
这两天我试图在Slackware上安装Oracle,琢磨出一点东西,这里
贡献出来
Slackware其实在其contribution里有一个glibc库,但它不是
确省库。如果需要glibc,大家可以到
ftp://ftp.cdrom.com/pub/linux/slackware-current/contrib
下下载libc2.0.7pre6.tgz。这个文件不仅包含Runtime库,还有
developing库。
下载后,用软盘启动机器,用软盘做root。不要直接在你运行的环境中升级,
因为它会更新很多运行库,直接升级只能导致机器死掉。软盘启动后,把你的
硬盘mount到/mnt上,然后用
ROOT=/mnt installpkg libc2.0.7pre6.tgz
的方式升级你的库。
随后,你应该修改编译系统的配制:修改编译器的specs:
/usr/lib/gcc-lib/<arch>/<version>/specs
总之是在/usr/lib/gcc-lib目录下,取决于你用的是GCC还是EGCS。
将specs文件中,所有的ld-linux.so.1修改成ld-linux.so.2
然后去掉所有的`%{...:-lgmon}',因为glibc里没有libgmon.
这样就可以编译出glibc的程序了。
如果想恢复到原来的libc5环境,只需
cd /var/log/packages
removepkg glibc-2.0.7pre6
然后再从Slackware的d1目录中装上libc.tgz就可以了。
记住将specs修改回去!
补充说明一下
1. 在装glibc-2.0.7pre6.tgz之前,最好用
removepkg libc的方式把libc5卸载。
2. 有的环境中/usr/lib/gcc-lib目录下有好多子目录,你不能确定
应该改哪个,那么用gcc -v的命令来看好了:
%gcc -v
Reading specs from /usr/lib/gcc-lib/i486-linux/2.7.2.3/specs
gcc version 2.7.2.3
3. 有的人的egcs装的目录不在/usr/lib/gcc-lib中,那么用‘
%g++ -v
Reading specs from /usr/local/lib/gcc-lib/i686-pc-linux-gnulibc1/egcs-2.91.60/
specs
gcc version egcs-2.91.60 19981201 (egcs-1.1.1 release)
4. 我安装后,把ld-linux.so连到了ld-linux.so.2上
/lib:
ln -s ld-linux.so.2 ld-linux.so
--
※ 来源:·BBS 水木清华站 bbs.net.tsinghua.edu.cn·[FROM: 207.138.150.70]
BBS水木清华站∶精华区