转自:http://blog.sina.com.cn/s/blog_548b0a230101cagk.html

GEM5在ubuntu13.10下安装过程,首先下载gem5_stable最新安装包,解压。文件夹重命名为gem5_stable

强烈建议安装前仔细阅读http://www.m5sim.org/Compiling_M5,上面有安装需要的软件版本。

1、安装Python

因为SCons是用Python编写的,所以你必须在使用SCons之前安装好Python。你在安装Python之前,应该注意查看Python是否在你的系统里已经可用了(在系统的命令行中运行python -V或python --version)。
$python -V
Python 2.7.5+
 
2、安装scons
在联网的情况下,直接输入命令sudo apt-get install scons
安装完成后输入scons -v
SCons by Steven Knight et al.:
script: v2.3.0, 2013/03/03 09:48:35, by garyo on reepicheep
engine: v2.3.0, 2013/03/03 09:48:35, by garyo on reepicheep
engine path: ['/usr/lib/scons/SCons']
Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 The SCons Foundation
 
3、安装g++
sudo apt-get install g++
 
4、安装swig(GEM5网站上,明确说明了swig2.0.9,swig2.0.10两个版本对GEM5有bug)
下载swig2.0.7安装包,不要输入命令sudo apt-get install swig否则gem5编译后,运行hello时会报错
我安装的swig2.0.7 
./configure --without-pcre
make
sudo make install
可以用swig -version 查看swig版本
 
5、安装python-dev
在联网的情况下,直接输入命令sudo apt-get install python-dev

6、安装zlib

zlib:最近的版本。http://www.zlib.net/

解压下载的压缩包:

tar -xzvf zlib-1.2.8.tar.gz

解压之后的文件夹 zlib-1.2.8放到gem5_stable目录下
cd zlib-1.2.8

执行命令:
./configure
sudo make install

7、安装M4

m4:宏处理器。http://www.gnu.org/software/m4/

解压下载的压缩包:
tar -xzvf m4-1.4.17.tar.gz
解压之后的文件夹 m4-1.4.17放到gem5_stable目录下
cd m4-1.4.17

执行命令:
./configure
sudo make install

8、安装protobuf

https://code.google.com/p/protobuf/ 我安装的2.5版本

./configure

make

make check

sudo make install(需要root权限)

9、安装libprotobuf-dev

sudo apt-get install libprotobuf-dev

10、安装libgoogle-perftools-dev

sudo apt-get install libgoogle-perftools-dev

10、编译gem5:
cd gem5-stable

mkdir build

scons build/X86/gem5.opt

如果出现如下错误:

错误:can't find Python.h header in ['/usr/include/python2.7']
解决:sudo apt-get install python-dev

测试
在gem5目录下输入命令
./build/X86/gem5.opt ./configs/example/se.py -c tests/test-progs/hello/bin/x86/linux/hello 
 
gem5 Simulator System.  http://gem5.org
gem5 is copyrighted software; use the --copyright option for details.
 
gem5 compiled Nov 22 2013 21:02:57
gem5 started Nov 22 2013 21:06:19
gem5 executing on ubuntu
command line: ./build/ALPHA/gem5.opt ./configs/example/se.py -c tests/test-progs/hello/bin/alpha/linux/hello
/home/hu/gem5-stable/configs/common/CacheConfig.py:48: SyntaxWarning: import * only allowed at module level
  def config_cache(options, system):
Global frequency set at 1000000000000 ticks per second
warn: CoherentBus system.membus has no snooping ports attached!
0: system.remote_gdb.listener: listening for remote gdb #0 on port 7000
**** REAL SIMULATION ****
info: Entering event queue @ 0.  Starting simulation...
info: Increasing stack size by one page.
Hello world!
hack: be nice to actually delete the event here
Exiting @ tick 3233000 because target called exit()
安装成功!
 
*********************
如果protobuf有错误,可以移除以前的版本 
sudo apt-get autoremove libprotobuf-dev

GEM5安装的更多相关文章

  1. 在gem5的full system下运行 alpha编译的测试程序 running gem5 on ubuntu in full system mode in alpha

    背景 先需要在full system下运行gem5,通过网上查找资料以及向别人请教,终于成功运行,网上大多是关于alpha指令集的,且都是英文的,为了方便大家学习,现在总结一下,希望对大家有所帮助. ...

  2. Run SPLAHS2 under SE mode on gem5在gem5的SE模式下,运行SPLASH2程序

    1.  安装相关的gem5,可以参考以前的博客. 2.  下载splash2编译好的软件 首先从gem5的官网下载已经编译成alpha指令集的splash2.下载地址:http://www.gem5. ...

  3. 在gem5的full system下运行 x86编译的测试程序 running gem5 on ubuntu in full system mode in x86

    背景 上篇博客写了如何在gem5的full system模式运行alpha的指令编译的程序,这篇博客讲述如何在gem5的full system模式运行x86指令集编译的程序,这两种方式非常类似. 首先 ...

  4. gem5使用记录,gem5入门学习和环境配置。

    工作需要,对gem5有点兴趣,准备自己研究一下,gem5新手刚开始入门学习,主要参考了网上其他前人的文章和官方说明. 目前网上的前人文章有部分有点太早了,稍显过时,我结合自己的经历来整理一下流程. g ...

  5. docker——容器安装tomcat

    写在前面: 继续docker的学习,学习了docker的基本常用命令之后,我在docker上安装jdk,tomcat两个基本的java web工具,这里对操作流程记录一下. 软件准备: 1.jdk-7 ...

  6. 网络原因导致 npm 软件包 node-sass / gulp-sass 安装失败的处理办法

    如果你正在构建一个基于 gulp 的前端自动化开发环境,那么极有可能会用到 gulp-sass ,由于网络原因你可能会安装失败,因为安装过程中部分细节会到亚马逊云服务器上获取文件.本文主要讨论在不变更 ...

  7. Sublime Text3安装JsHint

    介绍 Sublime Text3使用jshint依赖Nodejs,SublimeLinter和Sublimelinter-jshint. NodeJs的安装省略. 安装SublimeLinter Su ...

  8. Fabio 安装和简单使用

    Fabio(Go 语言):https://github.com/eBay/fabio Fabio 是一个快速.现代.zero-conf 负载均衡 HTTP(S) 路由器,用于部署 Consul 管理的 ...

  9. gentoo 安装

    加载完光驱后 1进行ping命令查看网络是否通畅 2设置硬盘的标识为GPT(主要用于64位且启动模式为UEFI,还有一个是MBR,主要用于32位且启动模式为bois) parted -a optima ...

随机推荐

  1. Memcache及telnent命令具体解释

    1.启动Memcache 经常使用參数 memcached 1.4.3 -p <num>      设置port号(默认不设置为: 11211) -U <num>      U ...

  2. sublime text3全局设置

    1.快捷键 ctrl+shift+p 2.输入 PackageResourceViewer 3.找到后 Open Resource 打开  , 4.选择 Theme-default,鼠标双击Theme ...

  3. 【HTML打印】HTML直接调用window下的打印机并执行打印任务(简单打印任务生成)

    1.<button onclick="preview('data');" id="print">打印</button> 2. 3.js: ...

  4. Mysql 用户和权限管理

    用户和权限管理: 语法 grant 权限 on 数据库.数据表 to '用户' @ '主机名'; 例:给 xiaogang 分配所有的权限 grant all on *.* to 'xiaogang' ...

  5. Volley 框架解析(二)--RequestQueue核心解读

    主要围绕RequestQueue进行解读,它的两个请求队列CacheQueue.NetworkQueue是如何调用的,第一条请求的执行过程及如何处理重复请求?对RequestQueue及相关的类进行详 ...

  6. [Aaronyang] 写给自己的WPF4.5 笔记16[多线程]

      =============潇洒的版权线==========www.ayjs.net===== Aaronyang ========= AY =========== 安徽 六安 杨洋 ======= ...

  7. 谈谈MySQL的do语句

    [select在某些场景下的不足] 比如说我们想让MySQL暂停5秒.那么可以这样写 ); +----------+ ) | +----------+ | +----------+ row in se ...

  8. input框触发回车事件

    window.event只能在IE下运行,不能在firefox下运行,这是因为firefox的event只能在事件发生的现场使用.   在firefox里直接调用event对象会报undefined. ...

  9. tensorflow 笔记11:tf.nn.dropout() 的使用

    tf.nn.dropout:函数官网说明: tf.nn.dropout( x, keep_prob, noise_shape=None, seed=None, name=None ) Defined ...

  10. AI金融知识自学偏量化方向-了解不同类型的机器学习2

    有监督学习 vs 无监督学习 迭代和评估 偏差方差权衡 结合有监督学习和无监督学习(半监督学习)