Ubuntu14.04配置DiskSim4.0

之前用Ubuntu18.04TLS配置DiskSim4.0一直不成功。看到很多博客说尽量用低版本的Ubuntu,保证是32位的系统。尝试过添加64位的兼容配置,但是过程太复杂,迫于种种选择了Ubuntu14.04 32位虚拟机进行配置。

这个步骤就很简单了(至少我这次没出什么玄学问题)。

1,下载DiskSim4.0

链接:https://www.pdl.cmu.edu/DiskSim/index.shtml
选择DiskSim4.0压缩包下载并在目录下解压。

tar xfz disksim-4.0.tar.gz
cd disksim-4.0

2,安装bison和flex

DiskSim需要安装bison和flex

sudo apt install bison flex

3,修正Makefile

直接make是会报错的,这是因为下载的DiskSim中有两个makefile存在语法错误。

(1)memsmodel/Makefile
其中第80行:

mems_seektest: mems_seektest.o libmems_internals.a
$(CC) -o $@ mems_seektest.o $(LDFLAGS) $(CFLAGS) -lmems_internals

这里的LDFLAGS变量包含了-lm,应该将$(LDFLAGS)移到-lmems_internals后面。改成:

mems_seektest: mems_seektest.o libmems_internals.a
$(CC) -o $@ mems_seektest.o $(CFLAGS) -lmems_internals $(LDFLAGS)

(2)src/Makefile
其中第35行

LDFLAGS = -lm -L. -ldisksim $(DISKMODEL_LDFLAGS) $(MEMSMODEL_LDFLAGS) \
                            $(LIBPARAM_LDFLAGS) $(LIBDDBG_LDFLAGS)

也是一样,需要加-lm放到最后。改成:

LDFLAGS = -L. -ldisksim $(DISKMODEL_LDFLAGS) $(MEMSMODEL_LDFLAGS) \
                            $(LIBPARAM_LDFLAGS) $(LIBDDBG_LDFLAGS) -lm

如果下载的是disksim-4.0-dixtrac那么还需要在dixtrac/Makefile里,LDFAGS的定义中的-lm移到最后:

LDFLAGS  = -L. -lm -l$(LIBNAME) -ldxtools 
        $(LIBDISKSIM_LDFLAGS) 
        $(MEMSMODEL_LDFLAGS) 
        $(DISKMODEL_LDFLAGS) 
        $(LIBPARAM_LDFLAGS) 
        $(LIBDDBG_LDFLAGS) 
        $(ST_LDFLAGS)

验证

至此,已经可以编译并且运行成功了。

make
cd valid
./runvalid

如果没有问题的话就恭喜你!DiskSim终于配好了!

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值