转自: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. 微软BI 之SSAS 系列 - 维度的优化,灌木丛属性关系,以及自然层次结构与非自然层次结构的概念

    维度的优化 在 SSAS 开发设计过程中,维度的优化非常重要,因为它在 SSAS 分析服务性能调优的过程中往往能起到一个非常重要的作用. 一般来说,对于 Cube 的性能优化第一步可能考虑的就是查看维 ...

  2. eclipse spring 配置文件xml校验时,xsd报错

      1.情景展示 eclipse中,spring配置文件报错信息如下: 配置文件头部引用信息为: <?xml version="1.0" encoding="UTF ...

  3. 一道笔试题:给定编码规则,实现decode()方法

    public class CodeDecode {     /*变换函数encode()顺序考察已知字符串的字符,按以下规则逐组生成新字符串:       (1)若已知字符串的当前字符不是大于0的数字 ...

  4. .NET 同步与异步之锁(ReaderWriterLockSlim)(八)

    本随笔续接:.NET 同步与异步之锁(Lock.Monitor)(七) 由于锁 ( lock 和 Monitor ) 是线程独占式访问的,所以其对性能的影响还是蛮大的,那有没有一种方式可是实现:允许多 ...

  5. 如何查看Apache的连接数和当前连接数

    查看Apache的连接数和当前的连接数以及IP访问次数,下面有个不错的示例,大家可以参考下,希望对大家解决问题有所帮助 查看了连接数和当前的连接数 复制代码 代码如下: netstat -ant | ...

  6. MUI class="mui-switch" 开关监听

    如何对MUI中的switch开关按钮进行监听, 页面代码如下: <form class="mui-input-group"> <ul class="mu ...

  7. latex学习(三)

    本文记录一点杂事. 1.vim下有个实时pdf预览的插件:https://github.com/xuhdev/vim-latex-live-preview 2.实时预览pdf的pdf查看器是:evin ...

  8. iOS中如何创建一个滑出式导航面板(1)

    本文将介绍如何创建类似Facebook和Path iOS程序中的滑出式导航面板. 向右滑动 滑出式设计模式可以让开发者在程序中添加常用的导航功能,又不会浪费屏幕上宝贵的空间.用户可以在任意时间滑出导航 ...

  9. java 中使用log4j

    一.控制台使用 1.导入log4j包到工程中 2.配置: log4j.rootLogger=DEBUG,console,R log4j.appender.console=org.apache.log4 ...

  10. SQL-----------------------之ON和WHERE的区别

    SQL中ON和WHERE的区别 数据库在通过连接两张或多张表来返回记录时,都会生成一张中间的临时表,然后再将这张临时表返回给用户.在使用left jion时,on和where条件的区别如下:1. on ...