因为实验中要用到DiskSim3.0,所以需要在Linux下安装。由于3.0版的DiskSIm比较老了,需要低版本的GCC编译器。所以,偶又安装了一个gcc 3.3.6.第一次安装这个老版本的gcc,还是费了一下午功夫。下面简单说一下过程。
主要过程参考:http://www.linuxfromscratch.org/blfs/view/svn/general/gcc3.html
首先,不要卸载当前系统中的高版本gcc.(我就是因为吃了这个亏,后来没有编译器编译低版本gcc)
然后,按照帖子中的过程操作。在这里我只列出主要步骤:
Step 1:
下载gcc 3.3.6,解压缩至你的工作目录。如:此处我的工作目录为/home/qiqi/software。此时software下新增加一个子目录gcc-3.3.6。另外,这里要注意把.patch文件保存在当前目录下,如:我在software目录下工作,那么把patch文件保存在software目录下。进入gcc-3.3.6目录,执行如下命令。
1 patch -Np1 -i ../gcc-3.3.6-no_fixincludes-1.patch &&
2 patch -Np1 -i ../gcc-3.3.6-linkonce-1.patch &&
3 mkdir ../gcc-build &&
4 cd ../gcc-build &&
5 ../gcc-3.3.6/configure --prefix=/opt/gcc-3.3.6 \
6 --enable-shared --enable-languages=c,c++ --enable-threads=posix &&
7 make bootstrap
8
检查是否安装成功,如果需要的话。我在这里检查了一下,但是没有看懂输出的东东,所以没起什么作用。贴出来代码参考一下
1 make -k check &&
2 ../gcc-3.3.6/contrib/test_summary >test_summary.log 2>&1 &&
3 ../gcc-3.3.6/contrib/test_summary | \
4 grep -A7 Summ >test_summary_short.log 2>&1
下面以root身份执行
1 make install &&
2 mv -v /opt/gcc-3.3.6/lib/libstdc++.so.5* /usr/lib &&
3 ln -v -sf /usr/lib/libstdc++.so.5.0.7 /opt/gcc-3.3.6/lib &&
4 ln -v -sf libstdc++.so.5.0.7 /opt/gcc-3.3.6/lib/libstdc++.so.5 &&
5 chown -v -R root:root \
6 /opt/gcc-3.3.6/lib/gcc-lib/i686-pc-linux-gnu/3.3.6/include
这是,我就卸载了高版本的gcc(有点破釜沉舟哦~~555).
rpm -e gcc --nodeps
再查看gcc版本,发现/usr/...(忘记了)/ccache/gcc 无此目录或文件!此时需要修改PATH。
在~/.bashrc文件中添加
export PATH=$PATH:/opt/gcc-3.3.6/bin
保存,现在gcc -v,提示如下信息:
gcc version 3.3.6 ,至此,gcc 3.3.6安装成功!OH YEAH!