【发布时间】:2020-03-05 11:31:36
【问题描述】:
尝试按照http://learning.gem5.org/book/part1/building.html 中提供的说明安装 GEM5 模拟器,并执行以下操作:
sudo apt install build-essential git m4 scons zlib1g zlib1g-dev libprotobuf-dev protobuf-compiler libprotoc-dev libgoogle-perftools-dev python-dev python
sudo apt-get install python-6
sudo scons build/X86/gem5.opt -j2
查看所有可用文档以了解构建错误...对 C++ 不是很有经验
上述命令后的输出如下:
scons:正在读取 SConscript 文件...警告:您的编译器没有 同时支持增量链接和lto,所以lto正在 禁用。要强制 lto,请使用 --force-lto 选项。那 将禁用部分链接。信息:使用 Python 配置: /usr/bin/python2.7-config 正在检查 C 头文件 Python.h... (缓存)是检查 C 库 python2.7...(缓存)是检查 对于 C 库 pthread...(缓存)是 检查 C 库 dl... (缓存)是检查 C 库实用程序...(缓存)是检查 C 库 m...(缓存)是在 C++ 库中检查接受(0,0,0) 无...(缓存)是 检查 C++ 库 z 中的 zlibVersion()... (缓存)是在 C++ 中检查 GOOGLE_PROTOBUF_VERIFY_VERSION 库 protobuf...(缓存)是检查 C 头文件 valgrind/valgrind.h...(缓存)否检查 C 库中的clock_nanosleep(0,0,NULL,NULL) 无...(缓存)是 在 C 库中检查 timer_create(CLOCK_MONOTONIC, NULL, NULL) 无...(缓存)否检查 timer_create(CLOCK_MONOTONIC, NULL, NULL) 在 C 库中 rt... (缓存) 是 检查 C 库 tcmalloc...(缓存)是检查字符温度; C 库中的 backtrace_symbols_fd((void*)&temp, 0, 0) 无...(缓存) 是 检查 C 头文件 fenv.h...(缓存) 是 检查 C 头文件 png.h...(缓存) 否 警告:找不到头文件。这 主机没有 libpng 库。禁用对 PNG 帧缓冲区的支持。 检查 C 头文件 linux/kvm.h...(缓存)是 检查 C 头文件 linux/if_tun.h... (缓存) 是 检查结构的大小 kvm_xsave ...(缓存)是检查结构中的成员 exclude_host perf_event_attr...(缓存)是包 hdf5-serial 未找到 pkg-config 搜索路径。也许你应该添加目录 包含 hdf5-serial.pc' 到 PKG_CONFIG_PATH 环境变量 未找到包“hdf5-serial”使用检查 hdf5-serial pkg-config... no 在 pkg-config 搜索中找不到包 hdf5 小路。也许您应该将包含 hdf5.pc' 的目录添加到 PKG_CONFIG_PATH 环境变量没有找到包'hdf5'检查 对于 hdf5 使用 pkg-config... 否 检查 H5Fcreate("", 0, 0, 0) in C 库 hdf5...(缓存)无警告:找不到任何 HDF5 C++ 图书馆。禁用 HDF5 支持。检查i386是否为 声明... (缓存) 否 检查 x86_64 是否已声明... (缓存)是在 /home/murali/GEM5/gem5/build/X86 中构建使用已保存 变量文件 /home/murali/GEM5/gem5/build/variables/X86 scons: 完成 阅读 SConscript 文件。 scons:建立目标...... [CXX] X86/dev/x86/pc.cc -> .o [跟踪] -> X86/debug/I8254.hh [CXX] X86/dev/x86/i8254.cc -> .o 在包含的文件中 构建/X86/dev/x86/pc.cc:41:构建/X86/arch/x86/intmessage.hh:在 函数'数据包* X86ISA::buildIntTriggerPacket(int, X86ISA::TriggerIntMessage)': build/X86/arch/x86/intmessage.hh:84:44: 错误:隐式声明的 'constexpr BitfieldBackend::BitUnionOperators::BitUnionOperators(const BitfieldBackend::BitUnionOperators&)' 已弃用 [-Werror=deprecated-copy] 84 |返回 buildIntPacket(地址,消息); | ^ 在 build/X86/sim/serialize.hh:62 包含的文件中,来自 build/X86/sim/eventq.hh:53,来自 build/X86/sim/sim_object.hh:58,来自 build/X86/dev/platform.hh:44,来自 build/X86/dev/x86/pc.hh:40,来自 build/X86/dev/x86/pc.cc:35: build/X86/base/bitunion.hh:262:9: 注意: 因为 'BitfieldBackend::BitUnionOperators' 已由用户提供 'typename Base::__StorageType BitfieldBackend::BitUnionOperators::operator=(const BitfieldBackend::BitUnionOperators&) [with Base = X86ISA::BitfieldUnderlyingClassesTriggerIntMessage;类型名称 Base::__StorageType = unsigned int]' 262 |运算符=(BitUnionOperators 常量 &other) | ^~~~~~~~ 在包含的文件中 build/X86/arch/x86/intmessage.hh:37,来自 build/X86/dev/x86/pc.cc:41: build/X86/dev/x86/intdev.hh:87:29:注意:初始化参数 2 '数据包* X86ISA::buildIntPacket(Addr, T) [with T = BitfieldBackend::BitUnionOperators; PacketPtr = 数据包*;地址 = 长 无符号整数]' 87 | buildIntPacket(Addr addr, T payload) | ~~^~~~~~~ build/X86/dev/x86/intdev.hh:在“数据包*”的实例化中 X86ISA::buildIntPacket(Addr, T) [with T = BitfieldBackend::BitUnionOperators; PacketPtr = 数据包*;地址 = 长 unsigned int]': build/X86/arch/x86/intmessage.hh:84:44: 需要来自 这里 build/X86/dev/x86/intdev.hh:93:5: 错误:隐式声明 'constexpr BitfieldBackend::BitUnionOperators::BitUnionOperators(const BitfieldBackend::BitUnionOperators&)' 已弃用 [-Werror=deprecated-copy] 93 | pkt->setRaw(有效载荷); | ^~~ 在文件中 包含在 build/X86/sim/serialize.hh:62 中,来自 build/X86/sim/eventq.hh:53,来自 build/X86/sim/sim_object.hh:58,来自 build/X86/dev/platform.hh:44,来自 build/X86/dev/x86/pc.hh:40,来自 build/X86/dev/x86/pc.cc:35: build/X86/base/bitunion.hh:262:9: 注意: 因为 'BitfieldBackend::BitUnionOperators' 已由用户提供 'typename Base::__StorageType BitfieldBackend::BitUnionOperators::operator=(const BitfieldBackend::BitUnionOperators&) [with Base = X86ISA::BitfieldUnderlyingClassesTriggerIntMessage;类型名称 Base::__StorageType = unsigned int]' 262 |运算符=(BitUnionOperators 常量 &other) | ^~~~~~~~ 在包含的文件中 build/X86/arch/x86/intmessage.hh:39,来自 build/X86/dev/x86/pc.cc:41: build/X86/mem/packet_access.hh:62:18:注意:初始化参数 1 'void Packet::setRaw(T) [with T = BitfieldBackend::BitUnionOperators]' 62 |数据包::setRaw(T v) | ~~^ [ CXX] X86/dev/x86/i8237.cc -> .o cc1plus:所有警告都被视为错误 scons:*** [build/X86/dev/x86/pc.o] 错误 1 scons:构建因以下原因而终止 错误。
任何人都可以帮助我消除上述错误并成功构建 GEM5 模拟器构建。提前致谢
【问题讨论】:
-
请您edit 您的帖子包含保留换行符的错误版本吗?将其粘贴在 2 行之间,每行包含 3 个反引号。
标签: gem5