1

所以我一直在尝试通过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.
4

1 回答 1

0

该修复程序很快在 e70a2a53ebac09ba5aacf706066589510c624c13 提交

我在以下网址报告了这一点:https ://www.mail-archive.com/gem5-dev@gem5.org/msg27897.html

有问题的提交是 59e3585a84ef172eba57c9936680c0248f9a97db 并且修复很可能只是将缺少的函数声明添加到标题中。

始终检查开发邮件列表以了解构建失败,并在执行此操作时提供有关您系统的更多相关详细信息:gem5 git SHA、您的操作系统版本、编译器版本。

于 2018-10-28T08:01:32.807 回答