我正在帮助我的朋友在 Linux 上安装 gem5 模拟器,用于论文工作。我对 Linux 了解一点。不知怎么的,我设法在装有 Ubuntu 12.04 的笔记本电脑上安装了该模拟器,但当我尝试在她的笔记本电脑上安装该模拟器时,却没有成功。我在她的笔记本电脑上输入了相同的命令,但出现了这个错误。
$ scons build/ALPHA/gem5.opt
scons: Reading SConscript files ...
Error Don't know what compiler options to use for your compiler.
compiler: None
version: COMMAND NOT FOUND!
If you're trying to use a compiler other than GCC
or clang, there appears to be something wrong with your
environment.
If you are trying to use a compiler other than those listed
above you will need to ease fix SConstruct and
src/SConscript to support that compiler.
我尝试使用相同的命令在她的笔记本电脑上重新安装 ubuntu 来安装 gem5 模拟器。但出现同样的错误。然后我尝试在 Linux Mint 15 和 Fedora 上安装,但出现同样的错误。我做错了什么?有人可以提供安装 gem5 模拟器的分步指南吗?或者有人可以提供给我一个 .deb 文件吗?
如果没有,请至少指导我如何创建该 sim 的 deb 文件,但请考虑我的技能处于初学者水平。
答案1
这对我有用! 谢谢!
sudo apt-get install swig gcc m4 python python-dev libgoogle-perftools-dev mercurial scons g++ build-essential
hg clone http://repo.gem5.org/gem5
cd gem5/
scons build/ARM/gem5.opt -j2
build/ARM/gem5.opt configs/example/se.py -c tests/test-progs/hello/bin/arm/linux/hello
答案2
1-sudo apt-get update
2-sudo apt-get install swig gcc m4 python python-dev libgoogle-perftools-dev g++ scons mercurial zlib1g-dev protobuf-compiler libprotobuf-dev
3-hg clone http://repo.gem5.org/gem5
4-cd gem5/
5-scons build/ARM/gem5.opt
在 5 指令中您可以输入(SPARC、Alpha、...)或其他
如果 5 的步骤正确,则意味着您的安装已完成。祝你好运
答案3
查看 CI 测试中使用的 gem5 树内 Docker 文件
gem5目前正在运行预提交使用 Docker 和树内 Dockerfile,所以我认为没有什么比查看它们更可靠。
例如:本次预提交运行的日志说:
latest: Pulling from gem5-test/ubuntu-20.04_all-dependencies
在树中我们看到相应的 Dockerfile其中包含所依赖的软件包:
RUN apt -y 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 doxygen libboost-all-dev \
libhdf5-serial-dev python3-pydot libpng-dev libelf-dev
然后通常的构建命令如:
scons -j`nproc` build/ARM/gem5.opt
当然,构建 gem5 本身是比较容易的部分。设置您感兴趣的测试内容可能会更困难。以下是一些提示:
此设置可自动完成您能想到的所有操作,请尝试一下:https://github.com/cirosantilli/linux-kernel-module-cheat
对于系统调用仿真,
-static
构建将正常工作,但动态链接也支持一些额外的标志:https://stackoverflow.com/questions/50542222/how-to-run-a-dynamically-linked-executable-syscall-emulation-mode-se-py-in-gem5/50696098#50696098
答案4
好吧,我检查了开发树并运行了 scons,它就正常工作了™。从您看到的错误来看,我猜这意味着您没有编译器(scons 只是 make 的替代品,而不是 gcc)。这是读取文件README
或依赖项页面派上用场了。
sudo apt-get install build-essential scons swig zlib1g-dev m4 protobuf{-c,}-compiler
我编译了其他东西,所以除了 scons 之外我已经准备好了。