Hi Andreas,
Thanks for sending this out. I’ve been experiencing issues on Mac using clang,
the issue in detail is:
Scons tries to build a test program including message.h from protobuf to check
if the protobuf C libraries are present
Protobuf versions later than 3.3.0 use the LANG_CXX11 macro without defining it
first, in at least one of their files (atom.h).
This causes the compilation of the test program to fail , due to the -Wundef
directive being set, and scons assuming that no protobuf is available in the
system.
The quick and dirty fix which I have on my local workspace is to remove -Wundef
from Sconstruct, which anyway never triggered before with the exception of
protobuf (on MSC_VER in the past, now on LANG_CXX11), see below:
main.Append(CCFLAGS=['-fno-strict-aliasing'])
# Enable -Wall and -Wextra and then disable the few warnings that
# we consistently violate
- main.Append(CCFLAGS=['-Wall', '-Wundef', '-Wextra',
+ main.Append(CCFLAGS=['-Wall', '-Wextra',
'-Wno-sign-compare', '-Wno-unused-parameter'])
# We always compile using C++11
main.Append(CXXFLAGS=['-std=c++11'])
From: Andreas Sandberg <[email protected]>
Date: Wednesday, 21 March 2018 at 15:25
To: gem5 Developer List <[email protected]>
Cc: Gabe Black <[email protected]>, Matteo Andreozzi
<[email protected]>
Subject: Protobuf compilation errors
Hi Everyone,
We have been experiencing some issues with some combinations of
different versions of protobuf and gcc/clang. Most of the issues seem to
be related to undefined macros (-Wundef), but I have some vague memories
of other issues as well (unclear indentation?).
In the short term, it seems like we need to disable -Werror for files
that are generated by protoc. Another option would be to add
-Wno-error=undef to the global environment. What would be the preferred
solution here? I think I'm in favour of the former, but don't understand
the build system well enough to implement it.
Cheers,
Andreas
IMPORTANT NOTICE: The contents of this email and any attachments are
confidential and may also be privileged. If you are not the intended recipient,
please notify the sender immediately and do not disclose the contents to any
other person, use it for any purpose, or store or copy the information in any
medium. Thank you.
_______________________________________________
gem5-dev mailing list
[email protected]
http://m5sim.org/mailman/listinfo/gem5-dev