It looks like the last commit introduced a regression on armv7, when trying to build with -Werror
.
c++ (Ubuntu/Linaro 7.5.0-3ubuntu1~18.04) 7.5.0
Copyright (C) 2017 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
In file included from /root/kobuki_ws/src/kobuki_core/src/driver/../../include/kobuki_core/packets/firmware.hpp:25:0,
from /root/kobuki_ws/src/kobuki_core/src/driver/firmware.cpp:14:
/root/kobuki_ws/src/kobuki_core/src/driver/../../include/kobuki_core/packets/../version_info.hpp:57:13: error: In the GNU C Library, "major" is defined
by <sys/sysmacros.h>. For historical compatibility, it is
currently defined by <sys/types.h> as well, but we plan to
remove this soon. To use "major", include <sys/sysmacros.h>
directly. If you did not intend to use a system-defined macro
"major", you should undefine it after including <sys/types.h>. [-Werror]
static int major(const uint32_t &version) {
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /root/kobuki_ws/src/kobuki_core/src/driver/../../include/kobuki_core/packets/firmware.hpp:25:0,
from /root/kobuki_ws/src/kobuki_core/src/driver/firmware.cpp:14:
/root/kobuki_ws/src/kobuki_core/src/driver/../../include/kobuki_core/packets/../version_info.hpp:61:13: error: In the GNU C Library, "minor" is defined
by <sys/sysmacros.h>. For historical compatibility, it is
currently defined by <sys/types.h> as well, but we plan to
remove this soon. To use "minor", include <sys/sysmacros.h>
directly. If you did not intend to use a system-defined macro
"minor", you should undefine it after including <sys/types.h>. [-Werror]
static int minor(const uint32_t &version) {
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/root/kobuki_ws/src/kobuki_core/src/driver/../../include/kobuki_core/packets/../version_info.hpp:73:13: error: In the GNU C Library, "major" is defined
by <sys/sysmacros.h>. For historical compatibility, it is
currently defined by <sys/types.h> as well, but we plan to
remove this soon. To use "major", include <sys/sysmacros.h>
directly. If you did not intend to use a system-defined macro
"major", you should undefine it after including <sys/types.h>. [-Werror]
ss << major(version) << "." << minor(version) << "." << patch(version);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/root/kobuki_ws/src/kobuki_core/src/driver/../../include/kobuki_core/packets/../version_info.hpp:73:13: error: In the GNU C Library, "minor" is defined
by <sys/sysmacros.h>. For historical compatibility, it is
currently defined by <sys/types.h> as well, but we plan to
remove this soon. To use "minor", include <sys/sysmacros.h>
directly. If you did not intend to use a system-defined macro
"minor", you should undefine it after including <sys/types.h>. [-Werror]
In file included from /root/kobuki_ws/src/kobuki_core/src/driver/firmware.cpp:14:0:
/root/kobuki_ws/src/kobuki_core/src/driver/../../include/kobuki_core/packets/firmware.hpp:54:13: error: In the GNU C Library, "major" is defined
by <sys/sysmacros.h>. For historical compatibility, it is
currently defined by <sys/types.h> as well, but we plan to
remove this soon. To use "major", include <sys/sysmacros.h>
directly. If you did not intend to use a system-defined macro
"major", you should undefine it after including <sys/types.h>. [-Werror]
int majorVersion() const { return VersionInfo::major(data.version); }
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /root/kobuki_ws/src/kobuki_core/src/driver/firmware.cpp:14:0:
/root/kobuki_ws/src/kobuki_core/src/driver/../../include/kobuki_core/packets/firmware.hpp:55:13: error: In the GNU C Library, "minor" is defined
by <sys/sysmacros.h>. For historical compatibility, it is
currently defined by <sys/types.h> as well, but we plan to
remove this soon. To use "minor", include <sys/sysmacros.h>
directly. If you did not intend to use a system-defined macro
"minor", you should undefine it after including <sys/types.h>. [-Werror]
int minorVersion() const { return VersionInfo::minor(data.version); }
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/root/kobuki_ws/src/kobuki_core/src/driver/firmware.cpp:106:13: error: In the GNU C Library, "major" is defined
by <sys/sysmacros.h>. For historical compatibility, it is
currently defined by <sys/types.h> as well, but we plan to
remove this soon. To use "major", include <sys/sysmacros.h>
directly. If you did not intend to use a system-defined macro
"major", you should undefine it after including <sys/types.h>. [-Werror]
int recommended_major_version = VersionInfo::major(version);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/root/kobuki_ws/src/kobuki_core/src/driver/firmware.cpp:107:13: error: In the GNU C Library, "minor" is defined
by <sys/sysmacros.h>. For historical compatibility, it is
currently defined by <sys/types.h> as well, but we plan to
remove this soon. To use "minor", include <sys/sysmacros.h>
directly. If you did not intend to use a system-defined macro
"minor", you should undefine it after including <sys/types.h>. [-Werror]
int recommended_minor_version = VersionInfo::minor(version);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
cc1plus: all warnings being treated as errors