gem5 的安装及遇到的问题

本文章主要关于我在安装gem5时遇到的一些问题和解决方案。其中有些问题我也没有找到具体的解答,希望有人可以给出确切的答案,相互学习。

我是根据http://www.gem5.org/documentation/general_docs/building的介绍进行安装的。

使用的是ubuntu20.04系统。

先安装Dependencies。

sudo apt install build-essential git m4 scons zlib1g zlib1g-dev libprotobuf-dev protobuf-compiler libprotoc-dev libgoogle-perftools-dev python3-dev python3-six python-is-python3 libboost-all-dev pkg-config

现在下载gem5.这里我是在gitee上下载的,

git clone https://gitee.com/mirrors/gem5.git

在/gem目录中运行scons。

Scons build/X86/gem.opt

最终输出为:

[  RANLIB]  -> iostream3/libiostream3.a

[    LINK]  -> X86/gem5.opt

scons: done building targets.

测试:

build/X86/gem5.opt configs/example/se.py -c tests/test-progs/hello/bin/X86/linux/hello 

输出为:

**** REAL SIMULATION ****

info: Entering event queue @ 0.  Starting simulation...

Hello world!

Exiting @ tick 5943000 because exiting with last active thread context

我在安装时出现过很多问题。原本我是在ubuntu18上运行的,后来对ubuntu进行在线升级为ubuntu20,还是出现了几个错误:

问题1、

fatal error:Killed signal terminated program cc1plus

答:给虚拟机分配的内存小了,之前分配的是3G,我将虚拟机的内存设置为6G可以了。

问题2、

scons: Reading SConscript files ...

TypeError: argument should be integer or bytes-like object, not 'str':

  File "/home/lu/Desktop/11/gem5/SConstruct", line 355:

    main['GCC'] = CXX_version and CXX_version.find('g++') >= 0

答:在https://stackoverflow.com/questions/61879640/gem5-scons-build-fails-with-typeerror-argument-should-be-integer-or-bytes-like上找到了解决方案

sudo apt-get install virtualenv

# create a virtualenv which uses python 2.7

virtualenv -p python2.7 venv27

# activate the virtualenv

. venv27/bin/activate

# Install SCons in the python 2.7 virtualenv

pip install scons

# This will now use the scons installed in a python 2.7 virtualenv.

scons build/X86/gem5.opt -j8

This worked for me on an Ubuntu 20.04 system.

虽然scinsch成功,出现了:

scons: done building targets.

但是后续出现了下一个问题3:

问题3、

ImportError: No module named six

我在安装six后:

pip install six

运行依旧显示该问题。

自我感觉是因为前面使用的 virtualenv的问题。并且我最终没有找到解决方案。

 

最终方案:

最终我直接在虚拟机上安装ubuntu20,再次尝试运行后发现gem5可以运行。

我怀疑是ubuntu18升级ubuntu20时,系统的某些程序发生了变化,造成了python3和Python2的混乱,导致运行scons时发生错误。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值