tier4 / caret

CARET (Chain-Aware ROS Evaluation Tool) is one of performance analysis tools dedicated with ROS 2 applications
https://tier4.github.io/caret_doc/main/
Apache License 2.0
64 stars 16 forks source link

Error building in Space-ROS docker #85

Closed kryptoniancode closed 1 year ago

kryptoniancode commented 1 year ago

Checklist

Issue type

Help wanted

Step where the issue is related to

Build

Environments

OS: Ubuntu 22.04.1 LTS ROS 2: Humble

CARET version

CARET: 03966b7adc0657cc6b8c6fa580c9296184dbd4a4 CARET_analyze: f2552f75df5efd37fd9bf42bc22eaf11a4e6b4a9 CARET_trace: 59cb36508eab2fffd061809a2a67c95ebd40f93f

Target application

Description

Error building in Space-ROS docker.

Steps to reproduce

  1. Build and run Space-ROS docker image
  2. Build caret in docker
  3. These are errors
Finished <<< tracetools_test [11.3s]
--- stderr: rcl
CMake Error at /home/spaceros-user/spaceros/install/ament_cmake_gtest/share/ament_cmake_gtest/cmake/ament_add_gtest_executable.cmake:50 (add_executable):
  Target "test_client__rmw_fastrtps_cpp" links to target
  "rmw_dds_common::rmw_dds_common__rosidl_typesupport_fastrtps_c" but the
  target was not found.  Perhaps a find_package() call is missing for an
  IMPORTED target, or an ALIAS target is missing?
Call Stack (most recent call first):
  /home/spaceros-user/spaceros/install/ament_cmake_gtest/share/ament_cmake_gtest/cmake/ament_add_gtest_executable.cmake:37 (_ament_add_gtest_executable)
  /home/spaceros-user/spaceros/install/ament_cmake_gtest/share/ament_cmake_gtest/cmake/ament_add_gtest.cmake:68 (ament_add_gtest_executable)
  test/cmake/rcl_add_custom_gtest.cmake:77 (ament_add_gtest)
  test/CMakeLists.txt:60 (rcl_add_custom_gtest)
  test/CMakeLists.txt:51 (test_target_function)
  /home/spaceros-user/ros2_caret_ws/build/rcl/call_for_each_rmw_implementation.cmake:1 (test_target)
  /home/spaceros-user/spaceros/install/rmw_implementation_cmake/share/rmw_implementation_cmake/cmake/call_for_each_rmw_implementation.cmake:64 (include)
  test/CMakeLists.txt:388 (call_for_each_rmw_implementation)

CMake Error at /home/spaceros-user/spaceros/install/ament_cmake_gtest/share/ament_cmake_gtest/cmake/ament_add_gtest_executable.cmake:50 (add_executable):
  Target "test_client__rmw_fastrtps_cpp" links to target
  "rmw_dds_common::rmw_dds_common__rosidl_typesupport_fastrtps_cpp" but the
  target was not found.  Perhaps a find_package() call is missing for an
  IMPORTED target, or an ALIAS target is missing?
Call Stack (most recent call first):
  /home/spaceros-user/spaceros/install/ament_cmake_gtest/share/ament_cmake_gtest/cmake/ament_add_gtest_executable.cmake:37 (_ament_add_gtest_executable)
  /home/spaceros-user/spaceros/install/ament_cmake_gtest/share/ament_cmake_gtest/cmake/ament_add_gtest.cmake:68 (ament_add_gtest_executable)
  test/cmake/rcl_add_custom_gtest.cmake:77 (ament_add_gtest)
  test/CMakeLists.txt:60 (rcl_add_custom_gtest)
  test/CMakeLists.txt:51 (test_target_function)
  /home/spaceros-user/ros2_caret_ws/build/rcl/call_for_each_rmw_implementation.cmake:1 (test_target)
  /home/spaceros-user/spaceros/install/rmw_implementation_cmake/share/rmw_implementation_cmake/cmake/call_for_each_rmw_implementation.cmake:64 (include)
  test/CMakeLists.txt:388 (call_for_each_rmw_implementation)

CMake Error at /home/spaceros-user/spaceros/install/ament_cmake_gtest/share/ament_cmake_gtest/cmake/ament_add_gtest_executable.cmake:50 (add_executable):
  Target "test_time__rmw_fastrtps_cpp" links to target
  "rmw_dds_common::rmw_dds_common__rosidl_typesupport_fastrtps_c" but the
  target was not found.  Perhaps a find_package() call is missing for an
  IMPORTED target, or an ALIAS target is missing?
Call Stack (most recent call first):
  /home/spaceros-user/spaceros/install/ament_cmake_gtest/share/ament_cmake_gtest/cmake/ament_add_gtest_executable.cmake:37 (_ament_add_gtest_executable)
  /home/spaceros-user/spaceros/install/ament_cmake_gtest/share/ament_cmake_gtest/cmake/ament_add_gtest.cmake:68 (ament_add_gtest_executable)
  test/cmake/rcl_add_custom_gtest.cmake:77 (ament_add_gtest)
  test/CMakeLists.txt:68 (rcl_add_custom_gtest)
  test/CMakeLists.txt:51 (test_target_function)
  /home/spaceros-user/ros2_caret_ws/build/rcl/call_for_each_rmw_implementation.cmake:1 (test_target)
  /home/spaceros-user/spaceros/install/rmw_implementation_cmake/share/rmw_implementation_cmake/cmake/call_for_each_rmw_implementation.cmake:64 (include)
  test/CMakeLists.txt:388 (call_for_each_rmw_implementation)

CMake Error at /home/spaceros-user/spaceros/install/ament_cmake_gtest/share/ament_cmake_gtest/cmake/ament_add_gtest_executable.cmake:50 (add_executable):
  Target "test_time__rmw_fastrtps_cpp" links to target
  "rmw_dds_common::rmw_dds_common__rosidl_typesupport_fastrtps_cpp" but the
  target was not found.  Perhaps a find_package() call is missing for an
  IMPORTED target, or an ALIAS target is missing?
Call Stack (most recent call first):
  /home/spaceros-user/spaceros/install/ament_cmake_gtest/share/ament_cmake_gtest/cmake/ament_add_gtest_executable.cmake:37 (_ament_add_gtest_executable)
  /home/spaceros-user/spaceros/install/ament_cmake_gtest/share/ament_cmake_gtest/cmake/ament_add_gtest.cmake:68 (ament_add_gtest_executable)
  test/cmake/rcl_add_custom_gtest.cmake:77 (ament_add_gtest)
  test/CMakeLists.txt:68 (rcl_add_custom_gtest)
  test/CMakeLists.txt:51 (test_target_function)
  /home/spaceros-user/ros2_caret_ws/build/rcl/call_for_each_rmw_implementation.cmake:1 (test_target)
  /home/spaceros-user/spaceros/install/rmw_implementation_cmake/share/rmw_implementation_cmake/cmake/call_for_each_rmw_implementation.cmake:64 (include)
  test/CMakeLists.txt:388 (call_for_each_rmw_implementation)

CMake Error at /home/spaceros-user/spaceros/install/ament_cmake_gtest/share/ament_cmake_gtest/cmake/ament_add_gtest_executable.cmake:50 (add_executable):
  Target "test_timer__rmw_fastrtps_cpp" links to target
  "rmw_dds_common::rmw_dds_common__rosidl_typesupport_fastrtps_c" but the
  target was not found.  Perhaps a find_package() call is missing for an
  IMPORTED target, or an ALIAS target is missing?
Call Stack (most recent call first):
  /home/spaceros-user/spaceros/install/ament_cmake_gtest/share/ament_cmake_gtest/cmake/ament_add_gtest_executable.cmake:37 (_ament_add_gtest_executable)
  /home/spaceros-user/spaceros/install/ament_cmake_gtest/share/ament_cmake_gtest/cmake/ament_add_gtest.cmake:68 (ament_add_gtest_executable)
  test/cmake/rcl_add_custom_gtest.cmake:77 (ament_add_gtest)
  test/CMakeLists.txt:76 (rcl_add_custom_gtest)
  test/CMakeLists.txt:51 (test_target_function)
  /home/spaceros-user/ros2_caret_ws/build/rcl/call_for_each_rmw_implementation.cmake:1 (test_target)
  /home/spaceros-user/spaceros/install/rmw_implementation_cmake/share/rmw_implementation_cmake/cmake/call_for_each_rmw_implementation.cmake:64 (include)
  test/CMakeLists.txt:388 (call_for_each_rmw_implementation)

CMake Error at /home/spaceros-user/spaceros/install/ament_cmake_gtest/share/ament_cmake_gtest/cmake/ament_add_gtest_executable.cmake:50 (add_executable):
  Target "test_timer__rmw_fastrtps_cpp" links to target
  "rmw_dds_common::rmw_dds_common__rosidl_typesupport_fastrtps_cpp" but the
  target was not found.  Perhaps a find_package() call is missing for an
  IMPORTED target, or an ALIAS target is missing?
Call Stack (most recent call first):
  /home/spaceros-user/spaceros/install/ament_cmake_gtest/share/ament_cmake_gtest/cmake/ament_add_gtest_executable.cmake:37 (_ament_add_gtest_executable)
  /home/spaceros-user/spaceros/install/ament_cmake_gtest/share/ament_cmake_gtest/cmake/ament_add_gtest.cmake:68 (ament_add_gtest_executable)
  test/cmake/rcl_add_custom_gtest.cmake:77 (ament_add_gtest)
  test/CMakeLists.txt:76 (rcl_add_custom_gtest)
  test/CMakeLists.txt:51 (test_target_function)
  /home/spaceros-user/ros2_caret_ws/build/rcl/call_for_each_rmw_implementation.cmake:1 (test_target)
  /home/spaceros-user/spaceros/install/rmw_implementation_cmake/share/rmw_implementation_cmake/cmake/call_for_each_rmw_implementation.cmake:64 (include)
  test/CMakeLists.txt:388 (call_for_each_rmw_implementation)

CMake Error at /home/spaceros-user/spaceros/install/ament_cmake_gtest/share/ament_cmake_gtest/cmake/ament_add_gtest_executable.cmake:50 (add_executable):
  Target "test_context__rmw_fastrtps_cpp" links to target
  "rmw_dds_common::rmw_dds_common__rosidl_typesupport_fastrtps_c" but the
  target was not found.  Perhaps a find_package() call is missing for an
  IMPORTED target, or an ALIAS target is missing?
Call Stack (most recent call first):
  /home/spaceros-user/spaceros/install/ament_cmake_gtest/share/ament_cmake_gtest/cmake/ament_add_gtest_executable.cmake:37 (_ament_add_gtest_executable)
  /home/spaceros-user/spaceros/install/ament_cmake_gtest/share/ament_cmake_gtest/cmake/ament_add_gtest.cmake:68 (ament_add_gtest_executable)
  test/cmake/rcl_add_custom_gtest.cmake:77 (ament_add_gtest)
  test/CMakeLists.txt:84 (rcl_add_custom_gtest)
  test/CMakeLists.txt:51 (test_target_function)
  /home/spaceros-user/ros2_caret_ws/build/rcl/call_for_each_rmw_implementation.cmake:1 (test_target)
  /home/spaceros-user/spaceros/install/rmw_implementation_cmake/share/rmw_implementation_cmake/cmake/call_for_each_rmw_implementation.cmake:64 (include)
  test/CMakeLists.txt:388 (call_for_each_rmw_implementation)

CMake Error at /home/spaceros-user/spaceros/install/ament_cmake_gtest/share/ament_cmake_gtest/cmake/ament_add_gtest_executable.cmake:50 (add_executable):
  Target "test_context__rmw_fastrtps_cpp" links to target
  "rmw_dds_common::rmw_dds_common__rosidl_typesupport_fastrtps_cpp" but the
  target was not found.  Perhaps a find_package() call is missing for an
  IMPORTED target, or an ALIAS target is missing?
Call Stack (most recent call first):
  /home/spaceros-user/spaceros/install/ament_cmake_gtest/share/ament_cmake_gtest/cmake/ament_add_gtest_executable.cmake:37 (_ament_add_gtest_executable)
  /home/spaceros-user/spaceros/install/ament_cmake_gtest/share/ament_cmake_gtest/cmake/ament_add_gtest.cmake:68 (ament_add_gtest_executable)
  test/cmake/rcl_add_custom_gtest.cmake:77 (ament_add_gtest)
  test/CMakeLists.txt:84 (rcl_add_custom_gtest)
  test/CMakeLists.txt:51 (test_target_function)
  /home/spaceros-user/ros2_caret_ws/build/rcl/call_for_each_rmw_implementation.cmake:1 (test_target)
  /home/spaceros-user/spaceros/install/rmw_implementation_cmake/share/rmw_implementation_cmake/cmake/call_for_each_rmw_implementation.cmake:64 (include)
  test/CMakeLists.txt:388 (call_for_each_rmw_implementation)

CMake Error at /home/spaceros-user/spaceros/install/ament_cmake_gtest/share/ament_cmake_gtest/cmake/ament_add_gtest_executable.cmake:50 (add_executable):
  Target "test_get_node_names__rmw_fastrtps_cpp" links to target
  "rmw_dds_common::rmw_dds_common__rosidl_typesupport_fastrtps_c" but the
  target was not found.  Perhaps a find_package() call is missing for an
  IMPORTED target, or an ALIAS target is missing?
Call Stack (most recent call first):
  /home/spaceros-user/spaceros/install/ament_cmake_gtest/share/ament_cmake_gtest/cmake/ament_add_gtest_executable.cmake:37 (_ament_add_gtest_executable)
  /home/spaceros-user/spaceros/install/ament_cmake_gtest/share/ament_cmake_gtest/cmake/ament_add_gtest.cmake:68 (ament_add_gtest_executable)
  test/cmake/rcl_add_custom_gtest.cmake:77 (ament_add_gtest)
  test/CMakeLists.txt:92 (rcl_add_custom_gtest)
  test/CMakeLists.txt:51 (test_target_function)
  /home/spaceros-user/ros2_caret_ws/build/rcl/call_for_each_rmw_implementation.cmake:1 (test_target)
  /home/spaceros-user/spaceros/install/rmw_implementation_cmake/share/rmw_implementation_cmake/cmake/call_for_each_rmw_implementation.cmake:64 (include)
  test/CMakeLists.txt:388 (call_for_each_rmw_implementation)

....
....
....

CMake Generate step failed.  Build files cannot be regenerated correctly.
---
Failed   <<< rcl [34.2s, exited with code 1]

Summary: 13 packages finished [51.2s]

Commands

No response

Logs

No response

LTTng trace log file

No response

Screenshots

No response

takeshi-iwanari commented 1 year ago

@emori-ctc Please investigate this issue.

kryptoniancode commented 1 year ago

Soft reminder. I have checked space ros that does not include fast dds, will that can be issues?

Also is it possible to use this on demos https://github.com/space-ros/docker/tree/main/space_robots for perfomance analysis?

kryptoniancode commented 1 year ago

I have build it manually to check the issues and issues can be fixed by following.

sudo apt install ros-humble-rmw-cyclonedds-cpp
export RMW_IMPLEMENTATION=rmw_cyclonedds_cpp

Then build

colcon build --cmake-args -DCMAKE_BUILD_TYPE=Release -DBUILD_TESTING=off  --symlink-install
Starting >>> rclcpp_components
--- stderr: caret_trace
CMake Error at CMakeLists.txt:33 (find_package):
  By not providing "Findfastrtps.cmake" in CMAKE_MODULE_PATH this project has
  asked CMake to find a package configuration file provided by "fastrtps",
  but CMake did not find one.

  Could not find a package configuration file provided by "fastrtps" with any
  of the following names:

    fastrtpsConfig.cmake
    fastrtps-config.cmake

  Add the installation prefix of "fastrtps" to CMAKE_PREFIX_PATH or set
  "fastrtps_DIR" to a directory containing one of the above files.  If
  "fastrtps" provides a separate development package or SDK, be sure it has
  been installed.

---
Failed   <<< caret_trace [6.67s, exited with code 1]
Aborted  <<< rclcpp_components [8.29s]
Aborted  <<< rclcpp_action [8.42s]
Aborted  <<< rclcpp_lifecycle [8.66s]