You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
when building ros2 eloquent as a merge on OSX, I ran into conflicts with gtest.
The main problem comes from using a global include_directories in the CMakeLists.txt. This should be addressed with target_include_directories as well as ament_target_dependencies.
I'll open a PR for it soonish.
➭ colcon_build --merge --packages-select laser_geometry
Starting >>> laser_geometry
--- stderr: laser_geometry
In file included from /Users/karsten/workspace/ros2/ros2_eloquent/install/src/gtest_vendor/src/gtest-all.cc:41:
In file included from /Users/karsten/workspace/ros2/ros2_eloquent/install/src/gtest_vendor/./src/gtest.cc:135:
/Users/karsten/workspace/ros2/ros2_eloquent/install/src/gtest_vendor/./src/gtest-internal-inl.h:171:19: error: use of undeclared identifier 'FLAGS_gtest_print_utf8'; did you mean 'FLAGS_gtest_print_time'?
print_utf8_ = GTEST_FLAG(print_utf8);
^~~~~~~~~~~~~~~~~~~~~~
FLAGS_gtest_print_time
/usr/local/include/gtest/internal/gtest-port.h:2504:27: note: expanded from macro 'GTEST_FLAG'
# define GTEST_FLAG(name) FLAGS_gtest_##name
^
<scratch space>:181:1: note: expanded from here
FLAGS_gtest_print_utf8
^
/usr/local/include/gtest/gtest.h:116:1: note: 'FLAGS_gtest_print_time' declared here
GTEST_DECLARE_bool_(print_time);
^
/usr/local/include/gtest/internal/gtest-port.h:2515:59: note: expanded from macro 'GTEST_DECLARE_bool_'
# define GTEST_DECLARE_bool_(name) GTEST_API_ extern bool GTEST_FLAG(name)
^
/usr/local/include/gtest/internal/gtest-port.h:2504:27: note: expanded from macro 'GTEST_FLAG'
# define GTEST_FLAG(name) FLAGS_gtest_##name
^
<scratch space>:251:1: note: expanded from here
FLAGS_gtest_print_time
^
In file included from /Users/karsten/workspace/ros2/ros2_eloquent/install/src/gtest_vendor/src/gtest-all.cc:41:
In file included from /Users/karsten/workspace/ros2/ros2_eloquent/install/src/gtest_vendor/./src/gtest.cc:135:
/Users/karsten/workspace/ros2/ros2_eloquent/install/src/gtest_vendor/./src/gtest-internal-inl.h:193:5: error: use of undeclared identifier 'FLAGS_gtest_print_utf8'; did you mean 'FLAGS_gtest_print_time'?
GTEST_FLAG(print_utf8) = print_utf8_;
^~~~~~~~~~~~~~~~~~~~~~
FLAGS_gtest_print_time
/usr/local/include/gtest/internal/gtest-port.h:2504:27: note: expanded from macro 'GTEST_FLAG'
# define GTEST_FLAG(name) FLAGS_gtest_##name
^
<scratch space>:199:1: note: expanded from here
FLAGS_gtest_print_utf8
^
/usr/local/include/gtest/gtest.h:116:1: note: 'FLAGS_gtest_print_time' declared here
GTEST_DECLARE_bool_(print_time);
^
/usr/local/include/gtest/internal/gtest-port.h:2515:59: note: expanded from macro 'GTEST_DECLARE_bool_'
# define GTEST_DECLARE_bool_(name) GTEST_API_ extern bool GTEST_FLAG(name)
^
/usr/local/include/gtest/internal/gtest-port.h:2504:27: note: expanded from macro 'GTEST_FLAG'
# define GTEST_FLAG(name) FLAGS_gtest_##name
^
<scratch space>:251:1: note: expanded from here
FLAGS_gtest_print_time
^
In file included from /Users/karsten/workspace/ros2/ros2_eloquent/install/src/gtest_vendor/src/gtest-all.cc:41:
/Users/karsten/workspace/ros2/ros2_eloquent/install/src/gtest_vendor/./src/gtest.cc:276:17: error: no member named 'OutputFlagAlsoCheckEnvVar' in namespace 'testing::internal'
internal::OutputFlagAlsoCheckEnvVar().c_str()),
~~~~~~~~~~^
/usr/local/include/gtest/internal/gtest-port.h:2527:50: note: expanded from macro 'GTEST_DEFINE_string_'
GTEST_API_ ::std::string GTEST_FLAG(name) = (default_val)
^~~~~~~~~~~
In file included from /Users/karsten/workspace/ros2/ros2_eloquent/install/src/gtest_vendor/src/gtest-all.cc:41:
/Users/karsten/workspace/ros2/ros2_eloquent/install/src/gtest_vendor/./src/gtest.cc:429:28: error: functions that differ only in their return type cannot be overloaded
::std::vector<std::string> GetArgvs() {
~~~~~~~~~~~~~~~~~~~~~~~~~~ ^
/usr/local/include/gtest/internal/gtest-port.h:1431:60: note: previous declaration is here
GTEST_API_ const ::std::vector<testing::internal::string>& GetArgvs();
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^
In file included from /Users/karsten/workspace/ros2/ros2_eloquent/install/src/gtest_vendor/src/gtest-all.cc:41:
/Users/karsten/workspace/ros2/ros2_eloquent/install/src/gtest_vendor/./src/gtest.cc:798:54: error: no member named 'skipped_test_count' in 'testing::TestCase'
return SumOverTestCaseList(test_cases_, &TestCase::skipped_test_count);
~~~~~~~~~~^
/Users/karsten/workspace/ros2/ros2_eloquent/install/src/gtest_vendor/./src/gtest.cc:2206:17: error: no member named 'skipped' in 'testing::TestPartResult'
return result.skipped();
~~~~~~ ^
/Users/karsten/workspace/ros2/ros2_eloquent/install/src/gtest_vendor/./src/gtest.cc:2210:18: error: out-of-line definition of 'Skipped' does not match any declaration in 'testing::TestResult'
bool TestResult::Skipped() const {
^~~~~~~
/Users/karsten/workspace/ros2/ros2_eloquent/install/src/gtest_vendor/./src/gtest.cc:2484:20: error: unknown type name 'AssertionException'
} catch (const AssertionException&) { // NOLINT
^
/Users/karsten/workspace/ros2/ros2_eloquent/install/src/gtest_vendor/./src/gtest.cc:2520:30: error: use of undeclared identifier 'IsSkipped'
if (!HasFatalFailure() && !IsSkipped()) {
^
/Users/karsten/workspace/ros2/ros2_eloquent/install/src/gtest_vendor/./src/gtest.cc:2546:12: error: out-of-line definition of 'IsSkipped' does not match any declaration in 'testing::Test'
bool Test::IsSkipped() {
^~~~~~~~~
/Users/karsten/workspace/ros2/ros2_eloquent/install/src/gtest_vendor/./src/gtest.cc:2700:42: error: call to non-static member function without an object argument
if (!Test::HasFatalFailure() && !Test::IsSkipped()) {
~~~~~~^~~~~~~~~
/Users/karsten/workspace/ros2/ros2_eloquent/install/src/gtest_vendor/./src/gtest.cc:2729:15: error: out-of-line definition of 'skipped_test_count' does not match any declaration in 'testing::TestCase'; did you mean 'failed_test_count'?
int TestCase::skipped_test_count() const {
^~~~~~~~~~~~~~~~~~
failed_test_count
/usr/local/include/gtest/gtest.h:817:7: note: 'failed_test_count' declared here
int failed_test_count() const;
^
In file included from /Users/karsten/workspace/ros2/ros2_eloquent/install/src/gtest_vendor/src/gtest-all.cc:41:
/Users/karsten/workspace/ros2/ros2_eloquent/install/src/gtest_vendor/./src/gtest.cc:2730:35: error: use of undeclared identifier 'TestSkipped'; did you mean 'TestFailed'?
return CountIf(test_info_list_, TestSkipped);
^~~~~~~~~~~
TestFailed
/usr/local/include/gtest/gtest.h:899:15: note: 'TestFailed' declared here
static bool TestFailed(const TestInfo* test_info) {
^
In file included from /Users/karsten/workspace/ros2/ros2_eloquent/install/src/gtest_vendor/src/gtest-all.cc:41:
/Users/karsten/workspace/ros2/ros2_eloquent/install/src/gtest_vendor/./src/gtest.cc:2883:26: error: no member named 'kSkip' in 'testing::TestPartResult'
case TestPartResult::kSkip:
~~~~~~~~~~~~~~~~^
/Users/karsten/workspace/ros2/ros2_eloquent/install/src/gtest_vendor/./src/gtest.cc:2980:37: error: unknown type name 'GTestColor'
static const char* GetAnsiColorCode(GTestColor color) {
^
/Users/karsten/workspace/ros2/ros2_eloquent/install/src/gtest_vendor/./src/gtest.cc:3033:20: error: unknown type name 'GTestColor'
void ColoredPrintf(GTestColor color, const char* fmt, ...) {
^
/Users/karsten/workspace/ros2/ros2_eloquent/install/src/gtest_vendor/./src/gtest.cc:3043:53: error: use of undeclared identifier 'COLOR_DEFAULT'
const bool use_color = in_color_mode && (color != COLOR_DEFAULT);
^
/Users/karsten/workspace/ros2/ros2_eloquent/install/src/gtest_vendor/./src/gtest.cc:3144:19: error: use of undeclared identifier 'COLOR_YELLOW'
ColoredPrintf(COLOR_YELLOW,
^
/Users/karsten/workspace/ros2/ros2_eloquent/install/src/gtest_vendor/./src/gtest.cc:3150:19: error: use of undeclared identifier 'COLOR_YELLOW'
ColoredPrintf(COLOR_YELLOW,
^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
20 errors generated.
make[2]: *** [gtest/CMakeFiles/gtest.dir/src/gtest-all.cc.o] Error 1
make[1]: *** [gtest/CMakeFiles/gtest.dir/all] Error 2
make: *** [all] Error 2
---
Failed <<< laser_geometry [ Exited with code 2 ]
Summary: 0 packages finished [3.57s]
1 package failed: laser_geometry
1 package had stderr output: laser_geometry
✘ 11:38:55 ~/workspace/ros2/ros2_eloquent
➭ colcon_build --merge --packages-select laser_geometry
Starting >>> laser_geometry
--- stderr: laser_geometry
/Users/karsten/workspace/ros2/ros2_eloquent/src/ros-perception/laser_geometry/src/laser_geometry.cpp:31:10: fatal error: 'laser_geometry/laser_geometry.hpp' file not found
#include "laser_geometry/laser_geometry.hpp"
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 error generated.
make[2]: *** [CMakeFiles/laser_geometry.dir/src/laser_geometry.cpp.o] Error 1
make[1]: *** [CMakeFiles/laser_geometry.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
make: *** [all] Error 2
---
Failed <<< laser_geometry [ Exited with code 2 ]
Summary: 0 packages finished [5.66s]
1 package failed: laser_geometry
1 package had stderr output: laser_geometry
The text was updated successfully, but these errors were encountered:
when building ros2 eloquent as a merge on OSX, I ran into conflicts with gtest.
The main problem comes from using a global
include_directories
in theCMakeLists.txt
. This should be addressed withtarget_include_directories
as well asament_target_dependencies
.I'll open a PR for it soonish.
The text was updated successfully, but these errors were encountered: