这篇是好久之前总结的,觉得网上没有相关的资料于是就把这个放上来了。算是比较详细,该踩的坑都踩了。
需求:gem5仿真器要安装 scons ,需要无sudo权限使用 python-dev ;先试着求助 anaconda ,但无果,最终选择了这种方案。
大致思路是用源码编译python,之后安装pip,再安装scons。
当然,如果有 root 权限就简单很多了,直接参考官方文档 http://www.gem5.org/ 就可以了。
Python 和 Python-dev 的安装
下载并编译python
scons对python版本需求是 python2.7,下安装 python2.7.17
config:
./configure --enable-optimizations --prefix=~/.local/python2.7/(安装路径,可自定义)
make:
make & make install
将python路径添加到.bashrc中:
export PATH="路径:$PATH"
编译安装 pip 和 setuptools
源码地址: https://www.python.org/downloads/source/ 和 https://pypi.org/project/pip/#files
install,注意这里要确认 python 为刚刚安装的 python ,如果不是,要尝试关闭 conda 等环境。
python setup.py install
[2020-07-23 更新: setuptool会有版本问题,最新的版本不支持python2,要选择之前的版本]
修改pip源
几个可选的 PYPI 国内源路径:
豆瓣(douban) http://pypi.douban.com/simple/
修改方式:在~/.pip/pip.conf文件中追加如下字段
[global] index-url=http://pypi.douban.com/simple [install] trusted-host=pypi.douban.com
scons 的安装
安装scons:
源码地址 https://github.com/SCons/scons , github上有安装步骤,可自行参考,不赘述
bootstrap 的安装:
python bootstrap.py build/scons
install:
cd build/scons python setup.py install
[2020-07-23 更新: scons 会有版本问题,最新的版本不支持 python2 ,要选择之前的版本,亲测 3.1.2 之前的版本可以]
GEM5的其他依赖
- M4等: 此处参考 https://blog.csdn.net/qq_30549833/article/details/72955881 ,下面的源网站可以根据情况改成最新的版本,四个都要安装在同一个文件夹下,建议安装在~/.local
安装m4
地址:
Config:
./configure –prefix=~/.local(或其他安装路径,下同)
Install:
make && make install
安装autoconf
地址:
http://mirrors.kernel.org/gnu/autoconf/autoconf-latest.tar.gz
Config:
./configure –prefix=~/.local
Install:
make && make install
安装automake
地址:
Config:
./configure –prefix=~/.local
Install:
make && make install
安装libtool
地址:
Config:
./configure –prefix=~/.local
Install:
make && make install
Protobuf:
Update: 这个步骤省了会报错
git submodule update --init --recursive
autogen:
./autogen.sh
config:
./configure --prefix = {your_path}
install:
make make check make install
添加路径在.bashrc文件中,在.bashrc中追加:
export PATH="{your_path}:$PATH"
添加python依赖 (可选):
添加python路径 (就是刚才安装的python路径,添加到 PYTHONPATH 环境变量中):
export PYTHONPATH="{your_path}/lib/python2.7/site-packages/:$PYTHONPATH"
编译安装
python setup.py build python setup.py test python setup.py install --prefix={your_path}
测试,打开一个python,输入下面代码,没有import错误就说明正确安装了
import google.protobuf
GEM5 的编译
最后就可以编译 GEM5 啦
源码:
编译gem5:
scons bulid/X86/gem5.opt -j9
有可能会报错少一些 python module ,这个可以很轻松解决,在此不赘述。
文档信息
- 本文作者:Yilong Zhao
- 本文链接:https://xiaoke0515.github.io/2020/07/20/1_GEM_Install/
- 版权声明:自由转载-非商用-非衍生-保持署名(创意共享3.0许可证)