I have downloaded the gem5-master from the github, and want to build the
gem5 on macos.
However, it's not successfully built. The error is as follows:
#+BEGIN_SRC error_log
$ scons build/ARM/gem5.opt -j2
scons: Reading SConscript files ...
Warning: Protocol buffer compiler (protoc) not found.
Please install protobuf-compiler for tracing support.
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 dl... (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 C header file valgrind/valgrind.h... (cached) no
Checking for clock_nanosleep(0,0,NULL,NULL) in C library None... (cached) no
Checking for clock_nanosleep(0,0,NULL,NULL) in C library rt... (cached) no
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) no
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
Can't find library for POSIX clocks.
Checking for C header file fenv.h... (cached) yes
Checking for C header file png.h... (cached) yes
Checking for C header file linux/kvm.h... (cached) no
Info: Compatible header file <linux/kvm.h> not found, disabling KVM support.
Checking for C header file linux/if_tun.h... (cached) no
Info: Compatible header file <linux/if_tun.h> not found.
Checking size of struct kvm_xsave ... (cached) no
Checking for member exclude_host in struct perf_event_attr...(cached) no
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 /Users/cinsy/git/gem5-master/build/ARM
Using saved variables file /Users/cinsy/git/gem5-master/build/variables/ARM
scons: done reading SConscript files.
scons: Building targets ...
[ CXX] ARM/arch/arm/generated/generic_cpu_exec_1.cc -> .o
[ CXX] ARM/arch/arm/generated/generic_cpu_exec_2.cc -> .o
In file included from build/ARM/arch/arm/generated/generic_cpu_exec_1.cc:10:
build/ARM/arch/arm/generated/exec-ns.cc.inc:115:13: error: variable 'Mem' is
used uninitialized whenever 'if' condition is false
[-Werror,-Wsometimes-uninitialized]
if (fault == NoFault) {
^~~~~~~~~~~~~~~~
build/ARM/arch/arm/generated/exec-ns.cc.inc:120:73: note: uninitialized use
occurs here
TypedAtomicOpFunctor<uint64_t> *amo_op = new AtomicGeneric3Op<uint64_t>(Mem,
valRs, [](uint64_t* b, uint64_t a, uint64_t c){ if (a == *b){*b = c;} });
^~~
build/ARM/arch/arm/generated/exec-ns.cc.inc:115:9: note: remove the 'if' if its
condition is always true
if (fault == NoFault) {
^~~~~~~~~~~~~~~~~~~~~~
build/ARM/arch/arm/generated/exec-ns.cc.inc:90:13: note: initialize the
variable 'Mem' to silence this warning
uint64_t Mem;
^
= 0
build/ARM/arch/arm/generated/exec-ns.cc.inc:183:13: error: variable 'Mem' is
used uninitialized whenever 'if' condition is false
[-Werror,-Wsometimes-uninitialized]
if (fault == NoFault) {
^~~~~~~~~~~~~~~~
build/ARM/arch/arm/generated/exec-ns.cc.inc:188:73: note: uninitialized use
occurs here
TypedAtomicOpFunctor<uint64_t> *amo_op = new AtomicGeneric3Op<uint64_t>(Mem,
valRs, [](uint64_t* b, uint64_t a, uint64_t c){ if (a == *b){*b = c;} });
^~~
build/ARM/arch/arm/generated/exec-ns.cc.inc:183:9: note: remove the 'if' if its
condition is always true
if (fault == NoFault) {
^~~~~~~~~~~~~~~~~~~~~~
build/ARM/arch/arm/generated/exec-ns.cc.inc:160:13: note: initialize the
variable 'Mem' to silence this warning
uint64_t Mem;
^
= 0
build/ARM/arch/arm/generated/exec-ns.cc.inc:275:13: error: variable 'Mem' is
used uninitialized whenever 'if' condition is false
[-Werror,-Wsometimes-uninitialized]
if (fault == NoFault) {
^~~~~~~~~~~~~~~~
build/ARM/arch/arm/generated/exec-ns.cc.inc:280:73: note: uninitialized use
occurs here
TypedAtomicOpFunctor<uint64_t> *amo_op = new AtomicGeneric3Op<uint64_t>(Mem,
valRs, [](uint64_t* b, uint64_t a, uint64_t c){ if (a == *b){*b = c;} });
^~~
build/ARM/arch/arm/generated/exec-ns.cc.inc:275:9: note: remove the 'if' if its
condition is always true
if (fault == NoFault) {
^~~~~~~~~~~~~~~~~~~~~~
build/ARM/arch/arm/generated/exec-ns.cc.inc:250:13: note: initialize the
variable 'Mem' to silence this warning
uint64_t Mem;
^
= 0
build/ARM/arch/arm/generated/exec-ns.cc.inc:343:13: error: variable 'Mem' is
used uninitialized whenever 'if' condition is false
[-Werror,-Wsometimes-uninitialized]
if (fault == NoFault) {
^~~~~~~~~~~~~~~~
build/ARM/arch/arm/generated/exec-ns.cc.inc:348:73: note: uninitialized use
occurs here
TypedAtomicOpFunctor<uint64_t> *amo_op = new AtomicGeneric3Op<uint64_t>(Mem,
valRs, [](uint64_t* b, uint64_t a, uint64_t c){ if (a == *b){*b = c;} });
^~~
build/ARM/arch/arm/generated/exec-ns.cc.inc:343:9: note: remove the 'if' if its
condition is always true
if (fault == NoFault) {
^~~~~~~~~~~~~~~~~~~~~~
build/ARM/arch/arm/generated/exec-ns.cc.inc:320:13: note: initialize the
variable 'Mem' to silence this warning
uint64_t Mem;
^
= 0
build/ARM/arch/arm/generated/exec-ns.cc.inc:435:13: error: variable 'Mem' is
used uninitialized whenever 'if' condition is false
[-Werror,-Wsometimes-uninitialized]
if (fault == NoFault) {
^~~~~~~~~~~~~~~~
build/ARM/arch/arm/generated/exec-ns.cc.inc:440:73: note: uninitialized use
occurs here
TypedAtomicOpFunctor<uint64_t> *amo_op = new AtomicGeneric3Op<uint64_t>(Mem,
valRs, [](uint64_t* b, uint64_t a, uint64_t c){ if (a == *b){*b = c;} });
^~~
build/ARM/arch/arm/generated/exec-ns.cc.inc:435:9: note: remove the 'if' if its
condition is always true
if (fault == NoFault) {
^~~~~~~~~~~~~~~~~~~~~~
build/ARM/arch/arm/generated/exec-ns.cc.inc:410:13: note: initialize the
variable 'Mem' to silence this warning
uint64_t Mem;
^
= 0
build/ARM/arch/arm/generated/exec-ns.cc.inc:503:13: error: variable 'Mem' is
used uninitialized whenever 'if' condition is false
[-Werror,-Wsometimes-uninitialized]
if (fault == NoFault) {
^~~~~~~~~~~~~~~~
build/ARM/arch/arm/generated/exec-ns.cc.inc:508:73: note: uninitialized use
occurs here
TypedAtomicOpFunctor<uint64_t> *amo_op = new AtomicGeneric3Op<uint64_t>(Mem,
valRs, [](uint64_t* b, uint64_t a, uint64_t c){ if (a == *b){*b = c;} });
^~~
build/ARM/arch/arm/generated/exec-ns.cc.inc:503:9: note: remove the 'if' if its
condition is always true
if (fault == NoFault) {
^~~~~~~~~~~~~~~~~~~~~~
build/ARM/arch/arm/generated/exec-ns.cc.inc:480:13: note: initialize the
variable 'Mem' to silence this warning
uint64_t Mem;
^
= 0
build/ARM/arch/arm/generated/exec-ns.cc.inc:595:13: error: variable 'Mem' is
used uninitialized whenever 'if' condition is false
[-Werror,-Wsometimes-uninitialized]
if (fault == NoFault) {
^~~~~~~~~~~~~~~~
build/ARM/arch/arm/generated/exec-ns.cc.inc:600:73: note: uninitialized use
occurs here
TypedAtomicOpFunctor<uint64_t> *amo_op = new AtomicGeneric3Op<uint64_t>(Mem,
valRs, [](uint64_t* b, uint64_t a, uint64_t c){ if (a == *b){*b = c;} });
^~~
build/ARM/arch/arm/generated/exec-ns.cc.inc:595:9: note: remove the 'if' if its
condition is always true
if (fault == NoFault) {
^~~~~~~~~~~~~~~~~~~~~~
build/ARM/arch/arm/generated/exec-ns.cc.inc:570:13: note: initialize the
variable 'Mem' to silence this warning
uint64_t Mem;
^
= 0
build/ARM/arch/arm/generated/exec-ns.cc.inc:663:13: error: variable 'Mem' is
used uninitialized whenever 'if' condition is false
[-Werror,-Wsometimes-uninitialized]
if (fault == NoFault) {
^~~~~~~~~~~~~~~~
build/ARM/arch/arm/generated/exec-ns.cc.inc:668:73: note: uninitialized use
occurs here
TypedAtomicOpFunctor<uint64_t> *amo_op = new AtomicGeneric3Op<uint64_t>(Mem,
valRs, [](uint64_t* b, uint64_t a, uint64_t c){ if (a == *b){*b = c;} });
^~~
build/ARM/arch/arm/generated/exec-ns.cc.inc:663:9: note: remove the 'if' if its
condition is always true
if (fault == NoFault) {
^~~~~~~~~~~~~~~~~~~~~~
build/ARM/arch/arm/generated/exec-ns.cc.inc:640:13: note: initialize the
variable 'Mem' to silence this warning
uint64_t Mem;
^
= 0
build/ARM/arch/arm/generated/exec-ns.cc.inc:755:13: error: variable 'Mem' is
used uninitialized whenever 'if' condition is false
[-Werror,-Wsometimes-uninitialized]
if (fault == NoFault) {
^~~~~~~~~~~~~~~~
build/ARM/arch/arm/generated/exec-ns.cc.inc:760:71: note: uninitialized use
occurs here
TypedAtomicOpFunctor<uint8_t> *amo_op = new AtomicGeneric3Op<uint8_t>(Mem,
valRs, [](uint8_t* b, uint8_t a, uint8_t c){ if (a == *b){*b = c;} });
^~~
build/ARM/arch/arm/generated/exec-ns.cc.inc:755:9: note: remove the 'if' if its
condition is always true
if (fault == NoFault) {
^~~~~~~~~~~~~~~~~~~~~~
build/ARM/arch/arm/generated/exec-ns.cc.inc:730:12: note: initialize the
variable 'Mem' to silence this warning
uint8_t Mem;
^
= '\0'
build/ARM/arch/arm/generated/exec-ns.cc.inc:823:13: error: variable 'Mem' is
used uninitialized whenever 'if' condition is false
[-Werror,-Wsometimes-uninitialized]
if (fault == NoFault) {
^~~~~~~~~~~~~~~~
build/ARM/arch/arm/generated/exec-ns.cc.inc:828:71: note: uninitialized use
occurs here
TypedAtomicOpFunctor<uint8_t> *amo_op = new AtomicGeneric3Op<uint8_t>(Mem,
valRs, [](uint8_t* b, uint8_t a, uint8_t c){ if (a == *b){*b = c;} });
^~~
build/ARM/arch/arm/generated/exec-ns.cc.inc:823:9: note: remove the 'if' if its
condition is always true
if (fault == NoFault) {
^~~~~~~~~~~~~~~~~~~~~~
build/ARM/arch/arm/generated/exec-ns.cc.inc:800:12: note: initialize the
variable 'Mem' to silence this warning
uint8_t Mem;
^
= '\0'
build/ARM/arch/arm/generated/exec-ns.cc.inc:915:13: error: variable 'Mem' is
used uninitialized whenever 'if' condition is false
[-Werror,-Wsometimes-uninitialized]
if (fault == NoFault) {
^~~~~~~~~~~~~~~~
build/ARM/arch/arm/generated/exec-ns.cc.inc:920:71: note: uninitialized use
occurs here
TypedAtomicOpFunctor<uint8_t> *amo_op = new AtomicGeneric3Op<uint8_t>(Mem,
valRs, [](uint8_t* b, uint8_t a, uint8_t c){ if (a == *b){*b = c;} });
^~~
build/ARM/arch/arm/generated/exec-ns.cc.inc:915:9: note: remove the 'if' if its
condition is always true
if (fault == NoFault) {
^~~~~~~~~~~~~~~~~~~~~~
build/ARM/arch/arm/generated/exec-ns.cc.inc:890:12: note: initialize the
variable 'Mem' to silence this warning
uint8_t Mem;
^
= '\0'
build/ARM/arch/arm/generated/exec-ns.cc.inc:983:13: error: variable 'Mem' is
used uninitialized whenever 'if' condition is false
[-Werror,-Wsometimes-uninitialized]
if (fault == NoFault) {
^~~~~~~~~~~~~~~~
build/ARM/arch/arm/generated/exec-ns.cc.inc:988:71: note: uninitialized use
occurs here
TypedAtomicOpFunctor<uint8_t> *amo_op = new AtomicGeneric3Op<uint8_t>(Mem,
valRs, [](uint8_t* b, uint8_t a, uint8_t c){ if (a == *b){*b = c;} });
^~~
build/ARM/arch/arm/generated/exec-ns.cc.inc:983:9: note: remove the 'if' if its
condition is always true
if (fault == NoFault) {
^~~~~~~~~~~~~~~~~~~~~~
build/ARM/arch/arm/generated/exec-ns.cc.inc:960:12: note: initialize the
variable 'Mem' to silence this warning
uint8_t Mem;
^
= '\0'
build/ARM/arch/arm/generated/exec-ns.cc.inc:1075:13: error: variable 'Mem' is
used uninitialized whenever 'if' condition is false
[-Werror,-Wsometimes-uninitialized]
if (fault == NoFault) {
^~~~~~~~~~~~~~~~
build/ARM/arch/arm/generated/exec-ns.cc.inc:1080:71: note: uninitialized use
occurs here
TypedAtomicOpFunctor<uint8_t> *amo_op = new AtomicGeneric3Op<uint8_t>(Mem,
valRs, [](uint8_t* b, uint8_t a, uint8_t c){ if (a == *b){*b = c;} });
^~~
build/ARM/arch/arm/generated/exec-ns.cc.inc:1075:9: note: remove the 'if' if
its condition is always true
if (fault == NoFault) {
^~~~~~~~~~~~~~~~~~~~~~
build/ARM/arch/arm/generated/exec-ns.cc.inc:1050:12: note: initialize the
variable 'Mem' to silence this warning
uint8_t Mem;
^
= '\0'
build/ARM/arch/arm/generated/exec-ns.cc.inc:1143:13: error: variable 'Mem' is
used uninitialized whenever 'if' condition is false
[-Werror,-Wsometimes-uninitialized]
if (fault == NoFault) {
^~~~~~~~~~~~~~~~
build/ARM/arch/arm/generated/exec-ns.cc.inc:1148:71: note: uninitialized use
occurs here
TypedAtomicOpFunctor<uint8_t> *amo_op = new AtomicGeneric3Op<uint8_t>(Mem,
valRs, [](uint8_t* b, uint8_t a, uint8_t c){ if (a == *b){*b = c;} });
^~~
build/ARM/arch/arm/generated/exec-ns.cc.inc:1143:9: note: remove the 'if' if
its condition is always true
if (fault == NoFault) {
^~~~~~~~~~~~~~~~~~~~~~
build/ARM/arch/arm/generated/exec-ns.cc.inc:1120:12: note: initialize the
variable 'Mem' to silence this warning
uint8_t Mem;
^
= '\0'
build/ARM/arch/arm/generated/exec-ns.cc.inc:1235:13: error: variable 'Mem' is
used uninitialized whenever 'if' condition is false
[-Werror,-Wsometimes-uninitialized]
if (fault == NoFault) {
^~~~~~~~~~~~~~~~
build/ARM/arch/arm/generated/exec-ns.cc.inc:1240:71: note: uninitialized use
occurs here
TypedAtomicOpFunctor<uint8_t> *amo_op = new AtomicGeneric3Op<uint8_t>(Mem,
valRs, [](uint8_t* b, uint8_t a, uint8_t c){ if (a == *b){*b = c;} });
^~~
build/ARM/arch/arm/generated/exec-ns.cc.inc:1235:9: note: remove the 'if' if
its condition is always true
if (fault == NoFault) {
^~~~~~~~~~~~~~~~~~~~~~
build/ARM/arch/arm/generated/exec-ns.cc.inc:1210:12: note: initialize the
variable 'Mem' to silence this warning
uint8_t Mem;
^
= '\0'
build/ARM/arch/arm/generated/exec-ns.cc.inc:1303:13: error: variable 'Mem' is
used uninitialized whenever 'if' condition is false
[-Werror,-Wsometimes-uninitialized]
if (fault == NoFault) {
^~~~~~~~~~~~~~~~
build/ARM/arch/arm/generated/exec-ns.cc.inc:1308:71: note: uninitialized use
occurs here
TypedAtomicOpFunctor<uint8_t> *amo_op = new AtomicGeneric3Op<uint8_t>(Mem,
valRs, [](uint8_t* b, uint8_t a, uint8_t c){ if (a == *b){*b = c;} });
^~~
build/ARM/arch/arm/generated/exec-ns.cc.inc:1303:9: note: remove the 'if' if
its condition is always true
if (fault == NoFault) {
^~~~~~~~~~~~~~~~~~~~~~
build/ARM/arch/arm/generated/exec-ns.cc.inc:1280:12: note: initialize the
variable 'Mem' to silence this warning
uint8_t Mem;
^
= '\0'
build/ARM/arch/arm/generated/exec-ns.cc.inc:1395:13: error: variable 'Mem' is
used uninitialized whenever 'if' condition is false
[-Werror,-Wsometimes-uninitialized]
if (fault == NoFault) {
^~~~~~~~~~~~~~~~
build/ARM/arch/arm/generated/exec-ns.cc.inc:1400:73: note: uninitialized use
occurs here
TypedAtomicOpFunctor<uint16_t> *amo_op = new AtomicGeneric3Op<uint16_t>(Mem,
valRs, [](uint16_t* b, uint16_t a, uint16_t c){ if (a == *b){*b = c;} });
^~~
build/ARM/arch/arm/generated/exec-ns.cc.inc:1395:9: note: remove the 'if' if
its condition is always true
if (fault == NoFault) {
^~~~~~~~~~~~~~~~~~~~~~
build/ARM/arch/arm/generated/exec-ns.cc.inc:1370:13: note: initialize the
variable 'Mem' to silence this warning
uint16_t Mem;
^
= 0
build/ARM/arch/arm/generated/exec-ns.cc.inc:1463:13: error: variable 'Mem' is
used uninitialized whenever 'if' condition is false
[-Werror,-Wsometimes-uninitialized]
if (fault == NoFault) {
^~~~~~~~~~~~~~~~
build/ARM/arch/arm/generated/exec-ns.cc.inc:1468:73: note: uninitialized use
occurs here
TypedAtomicOpFunctor<uint16_t> *amo_op = new AtomicGeneric3Op<uint16_t>(Mem,
valRs, [](uint16_t* b, uint16_t a, uint16_t c){ if (a == *b){*b = c;} });
^~~
build/ARM/arch/arm/generated/exec-ns.cc.inc:1463:9: note: remove the 'if' if
its condition is always true
if (fault == NoFault) {
^~~~~~~~~~~~~~~~~~~~~~
build/ARM/arch/arm/generated/exec-ns.cc.inc:1440:13: note: initialize the
variable 'Mem' to silence this warning
uint16_t Mem;
^
= 0
build/ARM/arch/arm/generated/exec-ns.cc.inc:1555:13: error: variable 'Mem' is
used uninitialized whenever 'if' condition is false
[-Werror,-Wsometimes-uninitialized]
if (fault == NoFault) {
^~~~~~~~~~~~~~~~
build/ARM/arch/arm/generated/exec-ns.cc.inc:1560:73: note: uninitialized use
occurs here
TypedAtomicOpFunctor<uint16_t> *amo_op = new AtomicGeneric3Op<uint16_t>(Mem,
valRs, [](uint16_t* b, uint16_t a, uint16_t c){ if (a == *b){*b = c;} });
^~~
build/ARM/arch/arm/generated/exec-ns.cc.inc:1555:9: note: remove the 'if' if
its condition is always true
if (fault == NoFault) {
^~~~~~~~~~~~~~~~~~~~~~
build/ARM/arch/arm/generated/exec-ns.cc.inc:1530:13: note: initialize the
variable 'Mem' to silence this warning
uint16_t Mem;
^
= 0
fatal error: too many errors emitted, stopping now [-ferror-limit=]
20 errors generated.
scons: *** [build/ARM/arch/arm/generated/generic_cpu_exec_1.o] Error 1
scons: building terminated because of errors.
#+END_SRC
Anybody can give me some advice ?
_______________________________________________
gem5-users mailing list
[email protected]
http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users