最近因为课程原因需要在Ubuntu上安装Disksim,按照网上的教程试了很多次,在为了测试Disksim安装是否成功而执行./runvalid命令的时候,总是出现“... not found”的错误,具体如下所示:
针对这个问题找了很多篇博文进行纠正,最终发现在Ubuntu10.04上安装disksim3.0不会出现上述错误,现将我的安装过程和大家分享一下。
前期准备:
操作系统:搭建在Virtualbox上的Ubuntu 10.04(这里操作系统必须是32位的)
GCC:2.95
bison 2.4.2 & flex-old
disksim 3.0
1.安装GCC
Disksim不支持高版本的gcc,所以我安装的低版本的gcc(gcc-2.95版本),下载地址为:
http://old-releases.ubuntu.com/ubuntu/pool/universe/g/gcc-2.95/
依次下载下面5个文件:
cpp-2.95_2.95.4-24_i386.deb;
gcc-2.95_2.95.4-24_i386.deb;
g++-2.95_2.95.4-24_i386.deb;
libstdc++2.10-glibc2.2_2.95.4-24_i386.deb;
libstdc++2.10-dev_2.95.4-24_i386.deb
下载完按如上顺序依次强制安装,终端命令为:
sudo dpkg --force-depends -i xxx.deb
进入目前gcc版本的目录,并删除原来的符号链接:
cd /usr/bin/
sudo rm gcc
然后更改软连接,执行命令:
sudo ln -fs /usr/bin/gcc-2.95 /usr/bin/gcc【注意空格】
查看gcc版本:gcc –v ,可以看到版本为gcc-2.95.4 :
2、安装bison和flex-old
不知道是不是系统版本的问题,利用 sudo apt-get install ** 命令安装这两个软件的时候,总是出现 “E:Package ** has no installation candidate” 错误,查了一波资料之后都说需要执行 sudo apt-get update 和 sudo apt-get upgrade,但是我执行这两个命令的时候又出现了多个错误,所以后面直接放弃这种方法,从Ubuntu官网上直接下载相关安装包自己手动安装的(进入root权限):
bison-2.4.2.tar.gz 下载地址:http://ftp.gnu.org/gnu/bison/
flex-old_2.5.4a.orig.tar.gz 下载地址:http://old-releases.ubuntu.com/ubuntu/pool/universe/f/flex-old/
解压相关软件包:tar -zxvf ......tar.gz
进入解压后的文件夹执行
./configure
make
make install
安装bison的时候,运行 ./configure 会出现 “GNU M4 1.4 is required” 的错误提示,所以还需要下载M4进行安装:
m4-1.4.13.tar.gz 下载地址:http://ftp.gnu.org/gnu/m4/
同样也是解压文件:tar -zxvf ......tar.gz
进入解压后的文件夹执行
./configure
make
make install
需要注意的是我这里选择的是flex-old而不是flex,因为安装flex之后在后续测试Disksim是否安装成功的时候,会出现如下错误:
In file included frommodules/modules.h:28,
from config.h:37,
from disksim.c:105:
modules/disksim_synthio_param.h:1:libparam/libparam.h: No such file or directory
In file included fromdisksim.c:107:
modules/disksim_global_param.h:1:libparam/libparam.h: No such file or directory
make[1]: *** [disksim.o] Error 1
make[1]: Leaving directory`/home/wyj/disksim-3.0/src'
make: *** [all] Error 2
这个错误的解决需要感激 http://blog.sina.com.cn/s/blog_4b003c550101frxf.html 这个博文。
3、安装disksim 3.0并测试安装是否成功
解压Disksim3.0:tar -zxvf disksim-3.0.tar.gz
进入解压后的文件夹运行:make //编译整个工程
如没有提示编译错误,则可以进入/disksim.3.0 /valid目录下,运行./runvalid:
若能准确运行,说明disksim3.0的编译是正确的: