gcc-2.95.3

介绍 gcc-2.95.3


下载地址(FTP):           ftp://ftp.gnu.org/gnu/gcc/gcc-2.95.3.tar.gz
使用版本:                  2.95.3
软件包大小:               7 MB
估计所需硬盘空间:      104 MB

安装 gcc-2.95.3 有两个原因。第一,内核开发者建议使用 gcc-2.95.3 来编译内核。第二(也是更重要的原因),有一些不开放源码的软件包(如Netscape Navigator, Yahoo Pager)和预编译的软件包(如Mozilla)是连接到gcc-2.95.3 库文件上的。

下载 gcc 补丁:http://downloads.linuxfromscratch.org/blfs-patches.

安装 gcc

打两个补丁,一个是修正编译错误,另一个是阻止 fixincludes 脚本运行。

patch -Np1 -i ../gcc-2.95.3-1.patch &&
patch -Np1 -i ../gcc-2.95.3-no-fixinc.patch

gcc 开发组推荐在另一个目录里编译。

mkdir ../gcc-build &&
cd ../gcc-build

配置gcc以编译 c 和 c++ 编译器,并且打开相关的 c++ 参数。

../gcc-2.95.3/configure \
--prefix=/opt/gcc2 \
--enable-shared --enable-languages=c,c++ \
--enable-threads=posix

编译和安装 gcc,并删除不需要的目录(根据你的平台修改一下命令中的i686-pc-linux-gnu).

make bootstrap &&
make install &&
ln -sf gcc /opt/gcc2/bin/cc &&
rm -rf /opt/gcc2/{i686-pc-linux-gnu,info,man}

查找一下安装的库文件.

L=`find /opt/gcc2/lib -name "*libstdc++*.so" -type f` &&
IL=`basename $L`

把 c++ 库文件移动到标准的库文件目录中,就不用把 /opt/gcc2/lib 目录加到 /etc/ld.so.conf 文件里了。

for i in /opt/gcc2/lib/*.so*; do mv -f $i /usr/lib;
ln -sf /usr/lib/`basename $i` /opt/gcc2/lib; done

创建商业软件和预编译软件需要的符号链接.

ln -sf $IL /usr/lib/libstdc++-libc6.1-1.so.2 &&
ln -sf $IL /usr/lib/libstdc++-libc6.2-2.so.3 &&
ln -sf $IL /usr/lib/libstdc++-libc6.3-2.so.3

配置 gcc

配置信息

和大多数库一样,这里不需要做额外的配置。不过,库文件的路径如 /usr/lib/usr/local/lib 应该在 /etc/ld.so.conf 文件中,这样 ldd 才能找到这个库。在检查了这一点后,要以 root 的身份运行 /sbin/ldconfig

上面的安装指导创建了 BLFS 中所需要的符号链接,如果其他包找的与我们创建的不同,你也可以自己创建,以满足需要。

如果你只需要 gcc-2.95.3 库文件,大可以放心地删除 /opt/gcc2 目录。

当你需要使用 gcc-2.95.3 而不是你系统里的编译器时,在编译那个软件包前,把 /opt/gcc2/bin 加到你 PATH 环境变量的最前面。

内容

gcc-2.95.3 软件包包含 gcc-2.95.3 C 和 C++ 编译器 以及 gcc-2.95.3 libstdc++.so,这是一些商业软件和预编译软件所需要的。