Я помогал своему другу установить симулятор gem5 на Linux для дипломной работы. Я немного знаю 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.
Я попробовал те же команды для установки симулятора gem5, переустановив Ubuntu на ее ноутбук. Но та же ошибка. Затем я попробовал Linux Mint 15 и Fedora, но получил ту же ошибку. Что я делаю неправильно? Может кто-нибудь предоставить пошаговое руководство по установке симулятора gem5 или кто-нибудь может предоставить мне его файл .deb?
Если нет, то, по крайней мере, покажите мне, как создать deb-файл этого сима, пожалуйста, примите во внимание, что мои навыки относятся к уровню начинающих.
Ну, я проверил дерево разработки и запустил scons, и это просто сработало ™. Я думаю, из ошибки, которую вы видите, это означает, что у вас нет компилятора (scons - только замена для make, а не gcc). Именно здесь пригодится чтение файла README
или страницы зависимостей .
sudo apt-get install build-essential scons swig zlib1g-dev m4 protobuf{-c,}-compiler
Я собираю другие вещи, так что, кроме булочек, мне уже было хорошо идти.
Это сработало для меня! Спасибо !!!
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
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 был в порядке, это означает, что ваша установка завершена. удачи
Взгляните на файлы Docker в дереве gem5, используемые в тестах CI
gem5 в настоящее время выполняет предварительную фиксацию с Docker и файлом Docker в дереве, поэтому я не думаю, что что-то может быть надежнее, чем смотреть на тех.
Например: журналы этого запуска предварительной фиксации говорят:
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