最近要安装Gem5模拟器做些实验,在网上找了找流程,发现大都有一些问题,踩过坑之后,决定自己写一份,以及有条件一定要直接看官方文档!!!
附官网链接:http://learning.gem5.org/book/part1/building.html
首先,在安装Gem5之前,要安装一些依赖的软件
1. 安装gcc(版本4.8+)
ubuntu16.04一般自带版本5.4(可以先gcc --version查看一下),所以无须再安装gcc,安装一下开发环境就好。
sudo apt-get install build-essential
2. 安装SCons
gem5使用SCons作为构建环境
sudo apt-get install scons
3. 安装SWIG
sudo apt-get install swig
4. 安装zlib
一般系统自带(可通过whereis zlib查看),如果没有,利用如下命令安装
sudo apt-get install zlib1g zlib1g-dev
5. 安装m4
sudo apt-get install m4
6. 安装Python(版本2.7+)
ubuntu16.04一般自带python2.7(可以python查看一下),无需再安装python,但要安装一个python开发库。
sudo apt-get install python-dev
后期在编译gem5时,可能会遇到缺少six库的问题,所以可以安装一下six库。
sudo apt-get install python-six
7. 安装protobuf(版本2.1以上)
尽量不要去官网下载源码编译安装,因为版本问题很容易把自己库环境搞乱。直接用ubuntu的源安装就好了。
sudo apt-get install libprotobuf-dev python-protobuf protobuf-compiler libgoogle-perftools-dev
8. 安装mercurial
mercurial是一个轻量级分布式版本控制器,方便使用hg clone下载gem5。
sudo apt-get install mercurial
9. 安装boost库
在后期编译gem5的时候,如果没有这个库会报错 fatal error: boost/bind.hpp: No such file or directory,因此要安装boost库。gem5官方回答说应该不需要这个依赖,会去消除这个依赖。但为了编译通过,还是要安装才行。
sudo apt install libboost-all-dev
最好保证机器的内存>2G,否则在编译的时候内存会爆!
1. 下载Gem5
hg clone http://repo.gem5.org/gem5
2. 编译Gem5
进入gem5目录,以X86为例
scons build/X86/gem5.opt
或使用多线程提高编译速度,j后的数字一般是你的处理器核数+1比较合适。
scons build/X86/gem5.opt -j3
完事儿~~