micro-ROS / micro_ros_platformio

micro-ROS library for Platform.IO
Apache License 2.0
220 stars 79 forks source link

Modules won't compile with colcon build #117

Closed Russ76 closed 1 year ago

Russ76 commented 1 year ago

Issue template

Steps to reproduce the issue

Expected behavior

Firmware demos and agents would be installed

Actual behavior

Most modules would not compile

Additional information

erik@erik-MINI-S:~/microros_ws$ ros2 run micro_ros_setup build_firmware.sh
Compiling for host environment: not cleaning path
Building firmware for host platform generic
Starting >>> microcdr
--- stderr: microcdr                              
CMake Warning:
  Manually-specified variables were not used by the project:

    BUILD_TESTING

---
Finished <<< microcdr [2.32s]
Starting >>> rosidl_typesupport_microxrcedds_c
Finished <<< rosidl_typesupport_microxrcedds_c [1.52s]                     

Summary: 2 packages finished [4.26s]
  1 package had stderr output: microcdr
Starting >>> microcdr
Finished <<< microcdr [0.21s]                     
Starting >>> rosidl_typesupport_microxrcedds_c
Finished <<< rosidl_typesupport_microxrcedds_c [0.73s]                     
Starting >>> rosidl_typesupport_microxrcedds_cpp
Finished <<< rosidl_typesupport_microxrcedds_cpp [1.58s]                     

Summary: 3 packages finished [2.94s]
[0.868s] WARNING:colcon.colcon_core.package_selection:Some selected packages are already built in one or more underlay workspaces:
    'std_srvs' is in: /opt/ros/galactic
    'builtin_interfaces' is in: /opt/ros/galactic
    'statistics_msgs' is in: /opt/ros/galactic
    'sensor_msgs' is in: /opt/ros/galactic
    'common_interfaces' is in: /opt/ros/galactic
    'std_msgs' is in: /opt/ros/galactic
    'rcl_interfaces' is in: /opt/ros/galactic
    'unique_identifier_msgs' is in: /opt/ros/galactic
    'geometry_msgs' is in: /opt/ros/galactic
    'rosgraph_msgs' is in: /opt/ros/galactic
    'nav_msgs' is in: /opt/ros/galactic
    'example_interfaces' is in: /opt/ros/galactic
    'lifecycle_msgs' is in: /opt/ros/galactic
    'composition_interfaces' is in: /opt/ros/galactic
    'action_msgs' is in: /opt/ros/galactic
    'visualization_msgs' is in: /opt/ros/galactic
If a package in a merged underlay workspace is overridden and it installs headers, then all packages in the overlay must sort their include directories by workspace order. Failure to do so may result in build failures or undefined behavior at run time.
If the overridden package is used by another package in any underlay, then the overriding package in the overlay must be API and ABI compatible or undefined behavior at run time may occur.

If you understand the risks and want to override a package anyways, add the following to the command line:
    --allow-overriding action_msgs builtin_interfaces common_interfaces composition_interfaces example_interfaces geometry_msgs lifecycle_msgs nav_msgs rcl_interfaces rosgraph_msgs sensor_msgs statistics_msgs std_msgs std_srvs unique_identifier_msgs visualization_msgs

This may be promoted to an error in a future release of colcon-override-check.
Starting >>> builtin_interfaces
Starting >>> microcdr
Starting >>> unique_identifier_msgs
Starting >>> micro_ros_msgs
Finished <<< microcdr [0.34s]                                           
Starting >>> rosidl_typesupport_microxrcedds_c
Finished <<< rosidl_typesupport_microxrcedds_c [1.13s]                  
Starting >>> rosidl_typesupport_microxrcedds_cpp
Finished <<< rosidl_typesupport_microxrcedds_cpp [1.07s]                
Starting >>> microxrcedds_client
--- stderr: microxrcedds_client                                               
CMake Warning:
  Manually-specified variables were not used by the project:

    BUILD_TESTING

---
Finished <<< microxrcedds_client [11.1s]
Starting >>> micro_ros_utilities
Finished <<< micro_ros_utilities [3.66s]                                      
Starting >>> std_srvs
Finished <<< unique_identifier_msgs [17.8s]                                   
Starting >>> lifecycle_msgs
Finished <<< builtin_interfaces [23.3s]                                        
Starting >>> std_msgs
Finished <<< micro_ros_msgs [26.2s]                                        
Starting >>> action_msgs
Finished <<< std_srvs [27.4s]                                        
Starting >>> rcl_interfaces
Finished <<< action_msgs [38.3s]                                              
Starting >>> example_interfaces
Finished <<< lifecycle_msgs [1min 2s]                                          
Starting >>> complex_msgs
Finished <<< complex_msgs [21.6s]                                              
Starting >>> rmw_microxrcedds
Finished <<< rmw_microxrcedds [6.12s]                                          
Starting >>> rosidl_typesupport_microxrcedds_test_msg
--- stderr: rosidl_typesupport_microxrcedds_test_msg                           
CMake Warning:
  Manually-specified variables were not used by the project:

    BUILD_SHARED_LIBS

---
Finished <<< rosidl_typesupport_microxrcedds_test_msg [1.51s]
Starting >>> test_msgs
--- stderr: test_msgs                                                          
CMake Error at CMakeLists.txt:21 (find_package):
  By not providing "Findtest_interface_files.cmake" in CMAKE_MODULE_PATH this
  project has asked CMake to find a package configuration file provided by
  "test_interface_files", but CMake did not find one.

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

    test_interface_filesConfig.cmake
    test_interface_files-config.cmake

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

---
Failed   <<< test_msgs [1.77s, exited with code 1]
Aborted  <<< rcl_interfaces [1min 58s]                  
Aborted  <<< std_msgs [2min 41s]                        
Aborted  <<< example_interfaces [2min 30s]  

Summary: 14 packages finished [3min 35s]
  1 package failed: test_msgs
  3 packages aborted: example_interfaces rcl_interfaces std_msgs
  3 packages had stderr output: microxrcedds_client rosidl_typesupport_microxrcedds_test_msg test_msgs
  21 packages not processed
pablogs9 commented 1 year ago

Galactic is deprecated, please try to use a supported ROS 2 and micro-ROS version.