gem5 build fails with "error: 'printPFflags' was not declared in this scope"

gem5 build fails with "error: 'printPFflags' was not declared in this scope"

所以我一直在尝试通过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/gem5-dev@gem5.org/msg27897.html

有问题的提交是 59e3585a84ef172eba57c9936680c0248f9a97db,修复可能只是将缺少的函数声明添加到 header。

始终检查开发邮件列表是否存在构建失败,并在这样做时提供有关系统的更多相关详细信息:gem5 git SHA,您的 OS 版本,编译器版本。