所以我一直试图通过gem5来学习模拟。我刚刚开始,在遵循文档之后,在构建gem5时遇到了一个错误。我已经安装了所需的所有依赖项,然后尝试通过以下命令构建gem5-

scons build/ARM/gem5.opt -j2

我也试着更新所有依赖项,但我不知道我错在哪里。我读了很多gem5文档,但我想不通。我没见过有人遇到这个错误。我一周前建了一次系统,当时我没有遇到任何错误,能够运行完整的系统模拟。请帮我弄清楚。
scons: Reading SConscript files ...
Warning: Your compiler doesn't support incremental linking and lto at
the same time, so lto is being disabled. To force lto on anyway, use
the --force-lto option. That will disable partial linking.
Checking for C header file Python.h... (cached) yes
Checking for C library python2.7... (cached) yes
Checking for C library pthread... (cached) yes
Checking for C library dl... (cached) yes
Checking for C library util... (cached) yes
Checking for C library m... (cached) yes
Checking for accept(0,0,0) in C++ library None... (cached) yes
Checking for zlibVersion() in C++ library z... (cached) yes
Checking for GOOGLE_PROTOBUF_VERIFY_VERSION in C++ library protobuf...
(cached) yes
Checking for C header file valgrind/valgrind.h... (cached) no
Checking for clock_nanosleep(0,0,NULL,NULL) in C library None...
(cached) yes
 Checking for timer_create(CLOCK_MONOTONIC, NULL, NULL) in C library
 None... (cached) no
 Checking for timer_create(CLOCK_MONOTONIC, NULL, NULL) in C library
rt... (cached) yes
Checking for C library tcmalloc... (cached) no
Checking for C library tcmalloc_minimal... (cached) no
You can get a 12% performance improvement by installing tcmalloc (libgoogle-perftools-dev package on Ubuntu or RedHat).
Checking for char temp; backtrace_symbols_fd((void*)&temp, 0, 0) in C
library None... (cached) yes
Checking for C header file fenv.h... (cached) yes
Checking for C header file png.h... (cached) no
Warning: Header file <png.h> not found.
     This host has no libpng library.
     Disabling support for PNG framebuffers.
 Checking for C header file linux/kvm.h... (cached) yes
 Checking for C header file linux/if_tun.h... (cached) yes
 Checking size of struct kvm_xsave ... (cached) yes
 Checking for member exclude_host in struct perf_event_attr...(cached)
 yes
 Checking whether __i386__ is declared... (cached) no
 Checking whether __x86_64__ is declared... (cached) yes
 Building in /home/vansh2795/gem5/build/ARM
 Using saved variables file /home/vansh2795/gem5/build/variables/ARM
 scons: done reading SConscript files.
 scons: Building targets ...
 [VER TAGS]  -> ARM/sim/tags.cc
 [     CXX] ARM/arch/arm/insts/mem64.cc -> .o
 [     CXX] ARM/arch/arm/insts/pseudo.cc -> .o
 build/ARM/arch/arm/insts/mem64.cc: In member function 'void
 ArmISA::Memory64::startDisassembly(std::ostream&) const':
 build/ARM/arch/arm/insts/mem64.cc:68:9: error: 'printPFflags' was not
 declared in this scope
     printPFflags(os, dest);
     ^~~~~~~~~~~~
build/ARM/arch/arm/insts/mem64.cc:68:9: note: suggested alternative:
'printFlags'
     printPFflags(os, dest);
     ^~~~~~~~~~~~
     printFlags
scons: *** [build/ARM/arch/arm/insts/mem64.o] Error 1
scons: building terminated because of errors.

最佳答案

之后不久就在E70A2A53EBAC09BA5AACF706066589510C624C13进行了修复
我在:https://www.mail-archive.com/[email protected]/msg27897.html
有问题的提交是59e3585a84ef172eba57c9936680c0248f9a97db,修复可能只是将缺少的函数声明添加到头中。
请始终检查dev邮件列表中的构建失败,并在执行此操作时提供有关系统的更多相关详细信息:gem5 git sha、操作系统版本、编译器版本。

10-06 00:27