Установка GEM5 на Ubuntu 19.10 на моем Ноутбуке (i5 ЦП M520 - 64 бита)

Попробованная установка Средства моделирования GEM5 согласно инструкциям, предоставленным в http://learning.gem5.org/book/part1/building.html и путем выполнения следующего

sudo apt install build-essential git m4 scons zlib1g zlib1g-dev libprotobuf-dev protobuf-compiler libprotoc-dev libgoogle-perftools-dev python-dev python

git clone https://gem5.googlesource.com/public/gem5

sudo apt-get install python-six

sudo scons build/X86/gem5.opt -j2   

The output after the above command is as follows:
-------------------------------------------------------------------------
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.
Info: Using Python config: /usr/bin/python2.7-config
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) yes
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
Package hdf5-serial was not found in the pkg-config search path.
Perhaps you should add the directory containing `hdf5-serial.pc'
to the PKG_CONFIG_PATH environment variable
No package 'hdf5-serial' found
Checking for hdf5-serial using pkg-config... no
Package hdf5 was not found in the pkg-config search path.
Perhaps you should add the directory containing `hdf5.pc'
to the PKG_CONFIG_PATH environment variable
No package 'hdf5' found
Checking for hdf5 using pkg-config... no
Checking for H5Fcreate("", 0, 0, 0) in C library hdf5... (cached) no
Warning: Couldn't find any HDF5 C++ libraries. Disabling
         HDF5 support.
Checking whether __i386__ is declared... (cached) no
Checking whether __x86_64__ is declared... (cached) yes
Building in /home/murali/GEM5/gem5/build/X86
Using saved variables file /home/murali/GEM5/gem5/build/variables/X86
scons: done reading SConscript files.
scons: Building targets ...
 [     CXX] X86/dev/x86/pc.cc -> .o
 [ TRACING]  -> X86/debug/I8254.hh
 [     CXX] X86/dev/x86/i8254.cc -> .o
In file included from build/X86/dev/x86/pc.cc:41:
build/X86/arch/x86/intmessage.hh: In function 'Packet* X86ISA::buildIntTriggerPacket(int, X86ISA::TriggerIntMessage)':
build/X86/arch/x86/intmessage.hh:84:44: error: implicitly-declared 'constexpr BitfieldBackend::BitUnionOperators<X86ISA::BitfieldUnderlyingClassesTriggerIntMessage>::BitUnionOperators(const BitfieldBackend::BitUnionOperators<X86ISA::BitfieldUnderlyingClassesTriggerIntMessage>&)' is deprecated [-Werror=deprecated-copy]
   84 |         return buildIntPacket(addr, message);
      |                                            ^
In file included from build/X86/sim/serialize.hh:62,
                 from build/X86/sim/eventq.hh:53,
                 from build/X86/sim/sim_object.hh:58,
                 from build/X86/dev/platform.hh:44,
                 from build/X86/dev/x86/pc.hh:40,
                 from build/X86/dev/x86/pc.cc:35:
build/X86/base/bitunion.hh:262:9: note: because 'BitfieldBackend::BitUnionOperators<X86ISA::BitfieldUnderlyingClassesTriggerIntMessage>' has user-provided 'typename Base::__StorageType BitfieldBackend::BitUnionOperators<Base>::operator=(const BitfieldBackend::BitUnionOperators<Base>&) [with Base = X86ISA::BitfieldUnderlyingClassesTriggerIntMessage; typename Base::__StorageType = unsigned int]'
  262 |         operator=(BitUnionOperators const &other)
      |         ^~~~~~~~
In file included from build/X86/arch/x86/intmessage.hh:37,
                 from build/X86/dev/x86/pc.cc:41:
build/X86/dev/x86/intdev.hh:87:29: note:   initializing argument 2 of 'Packet* X86ISA::buildIntPacket(Addr, T) [with T = BitfieldBackend::BitUnionOperators<X86ISA::BitfieldUnderlyingClassesTriggerIntMessage>; PacketPtr = Packet*; Addr = long unsigned int]'
   87 | buildIntPacket(Addr addr, T payload)
      |                           ~~^~~~~~~
build/X86/dev/x86/intdev.hh: In instantiation of 'Packet* X86ISA::buildIntPacket(Addr, T) [with T = BitfieldBackend::BitUnionOperators<X86ISA::BitfieldUnderlyingClassesTriggerIntMessage>; PacketPtr = Packet*; Addr = long unsigned int]':
build/X86/arch/x86/intmessage.hh:84:44:   required from here
build/X86/dev/x86/intdev.hh:93:5: error: implicitly-declared 'constexpr BitfieldBackend::BitUnionOperators<X86ISA::BitfieldUnderlyingClassesTriggerIntMessage>::BitUnionOperators(const BitfieldBackend::BitUnionOperators<X86ISA::BitfieldUnderlyingClassesTriggerIntMessage>&)' is deprecated [-Werror=deprecated-copy]
   93 |     pkt->setRaw<T>(payload);
      |     ^~~
In file included from build/X86/sim/serialize.hh:62,
                 from build/X86/sim/eventq.hh:53,
                 from build/X86/sim/sim_object.hh:58,
                 from build/X86/dev/platform.hh:44,
                 from build/X86/dev/x86/pc.hh:40,
                 from build/X86/dev/x86/pc.cc:35:
build/X86/base/bitunion.hh:262:9: note: because 'BitfieldBackend::BitUnionOperators<X86ISA::BitfieldUnderlyingClassesTriggerIntMessage>' has user-provided 'typename Base::__StorageType BitfieldBackend::BitUnionOperators<Base>::operator=(const BitfieldBackend::BitUnionOperators<Base>&) [with Base = X86ISA::BitfieldUnderlyingClassesTriggerIntMessage; typename Base::__StorageType = unsigned int]'
  262 |         operator=(BitUnionOperators const &other)
      |         ^~~~~~~~
In file included from build/X86/arch/x86/intmessage.hh:39,
                 from build/X86/dev/x86/pc.cc:41:
build/X86/mem/packet_access.hh:62:18: note:   initializing argument 1 of 'void Packet::setRaw(T) [with T = BitfieldBackend::BitUnionOperators<X86ISA::BitfieldUnderlyingClassesTriggerIntMessage>]'
   62 | Packet::setRaw(T v)
      |                ~~^
 [     CXX] X86/dev/x86/i8237.cc -> .o
cc1plus: all warnings being treated as errors
scons: *** [build/X86/dev/x86/pc.o] Error 1
scons: building terminated because of errors.
-----------------------------------------------------------------------------

Может любой помогать мне в удалении вышеупомянутых ошибок и в успешной сборке сборки средства моделирования GEM5.Заранее спасибо

1
задан 9 November 2019 в 01:32

2 ответа

Я/, имея ту же проблему. Я думаю, что это прибывает из gcc 9, бросающего некоторые предупреждения для материала, который не бросал предупреждения прежде.

Как быстрое исправление, найдите файл SConstruct в своем gem5 каталоге, прокрутите вниз туда, где флаги gcc устанавливаются и добавляют предупреждения, которые открываются к списку без ошибок (или удаляют флаг ошибки в целом):

main.Append(CCFLAGS=['-Werror', #remove this or
                     '-Wno-error=deprecated-declarations',
                     '-Wno-error=deprecated-copy', # add this
                     '-Wno-error=pessimizing-move', # this
                     '-Wno-error=address-of-packed-member', # this and possible others
                     '-Wno-error=deprecated',
])

До сих пор, который, кажется, работает на меня, но я не сделан, компилируя...

1
ответ дан 7 December 2019 в 14:57

После решения: Установка GEM5 на Ubuntu 19.10 на моем ноутбуке (i5 CPU M520 -64bit) в gem5 b383997d4a9c642dd4356bfc4554ac7ae183ae62 (март 2020) GCC 9.10 ) build у меня работает:

scons -j `nproc` build/ARM/gem5.opt

Если вы обнаружите какие-либо другие ошибки сборки, откройте проблему в системе отслеживания проблем Jira.

0
ответ дан 12 March 2020 в 15:06

Другие вопросы по тегам:

Похожие вопросы: