Colcon Build error

Hello,
We are a group of students trying to recreate SOLO8 with TI boards and CAN connection.
Thanks to this open source, we were able to build the hardware, and now we’re trying to build Solo.

Unfortunately, we are not familiar with ROS and CMAKE,
and we are facing some problems while trying 'colcon build.

What we did:

  • using Ubuntu 20.04
  • installed ROS2 foxy
  • installed Miniconda
  • Tried ‘colcon build’ but ran into multiple errors.

We kept installing some apts and packages by reading the error messages,

also including this line:

#include <boost/date_time/posix_time/posix_time.hpp>

in the ‘condition_variable.cpp’ file due to the error saying,
that posix_time is not declared while building ‘shared memory’ of ‘robot_properties_solo’

however, still new errors are showing up and the latest terminal message is like below:

$ colcon build

Starting >>> mpi_cmake_modules
Starting >>> pybind11
Starting >>> googletest-distribution
Starting >>> master_board_sdk
Finished <<< mpi_cmake_modules [0.12s]                                   
Starting >>> bullet_utils
Finished <<< pybind11 [0.27s]                                      
Finished <<< googletest-distribution [0.27s]
Starting >>> real_time_tools
Starting >>> shared_memory
Starting >>> signal_handler
Starting >>> yaml_utils
Starting >>> serialization_utils                                           
Finished <<< master_board_sdk [0.45s]                                   
Starting >>> odri_control_interface
Finished <<< yaml_utils [0.18s]
Finished <<< signal_handler [0.20s]
Finished <<< serialization_utils [0.22s]                    
Finished <<< real_time_tools [0.26s]
Starting >>> slider_box
Finished <<< slider_box [0.17s]                             
--- stderr: bullet_utils
The documentation is not being built as the mpi_cmake_modules is not found
---
Finished <<< bullet_utils [0.63s]
Starting >>> robot_properties_solo
Finished <<< odri_control_interface [0.31s]
resources =  ['resources/impedance_ctrl.yaml', 'resources/dynamic_graph_manager/dgm_parameters_solo12.yaml', 'resources/dynamic_graph_manager/dgm_parameters_solo8.yaml', 'resources/dynamic_graph_manager/dgm_parameters_solo12_nyu.yaml', 'resources/dynamic_graph_manager/dgm_parameters_solo12_mpi_is.yaml', 'resources/dynamic_graph_manager/dgm_parameters_solo8ti.yaml', 'resources/dynamic_graph_manager/dgm_parameters_solo12_wireless_mpi_is.yaml', 'resources/meshes/sphere.obj', 'resources/meshes/plane.obj', 'resources/meshes/cylinder.obj', 'resources/meshes/cube.obj', 'resources/meshes/checker_blue.png', 'resources/meshes/plane.mtl', 'resources/meshes/obj/with_foot/solo_foot.obj', 'resources/meshes/obj/with_foot/solo_upper_leg_left_side.mtl', 'resources/meshes/obj/with_foot/solo_lower_leg_right_side.obj', 'resources/meshes/obj/with_foot/solo_lower_leg_right_side.mtl', 'resources/meshes/obj/with_foot/solo_lower_leg_left_side.mtl', 'resources/meshes/obj/with_foot/solo_upper_leg_left_side.obj', 'resources/meshes/obj/with_foot/solo_foot.mtl', 'resources/meshes/obj/with_foot/solo_body.mtl', 'resources/meshes/obj/with_foot/solo_upper_leg_right_side.mtl', 'resources/meshes/obj/with_foot/solo_body.obj', 'resources/meshes/obj/with_foot/solo_upper_leg_right_side.obj', 'resources/meshes/obj/with_foot/solo_lower_leg_left_side.obj', 'resources/meshes/obj/without_foot/solo_upper_leg_left_side.mtl', 'resources/meshes/obj/without_foot/solo_lower_leg_right_side.obj', 'resources/meshes/obj/without_foot/solo_lower_leg_right_side.mtl', 'resources/meshes/obj/without_foot/solo_lower_leg_left_side.mtl', 'resources/meshes/obj/without_foot/solo_upper_leg_left_side.obj', 'resources/meshes/obj/without_foot/solo_body.mtl', 'resources/meshes/obj/without_foot/solo_upper_leg_right_side.mtl', 'resources/meshes/obj/without_foot/solo_body.obj', 'resources/meshes/obj/without_foot/solo_upper_leg_right_side.obj', 'resources/meshes/obj/without_foot/solo_lower_leg_left_side.obj', 'resources/meshes/stl/solo12/solo12_upper_leg_left_side.stl', 'resources/meshes/stl/solo12/solo12_coordinate_systems_2.png', 'resources/meshes/stl/solo12/solo12_hip_fe_hr.stl', 'resources/meshes/stl/solo12/solo12_hip_fe_fl.stl', 'resources/meshes/stl/solo12/solo12_hip_fe_hl.stl', 'resources/meshes/stl/solo12/solo12_coordinate_systems_4.png', 'resources/meshes/stl/solo12/solo12_upper_leg_right_side.stl', 'resources/meshes/stl/solo12/solo12_lower_leg_left_side.stl', 'resources/meshes/stl/solo12/solo12_hip_fe_fr.stl', 'resources/meshes/stl/solo12/_solo12_visualisation_model.PDF', 'resources/meshes/stl/solo12/solo12_coordinate_systems.png', 'resources/meshes/stl/solo12/solo12_coordinate_systems_3.png', 'resources/meshes/stl/solo12/solo12_lower_leg_right_side.stl', 'resources/meshes/stl/solo12/solo_12_base.stl', 'resources/meshes/stl/with_foot/solo_upper_leg_right_side.stl', 'resources/meshes/stl/with_foot/solo_foot.stl', 'resources/meshes/stl/with_foot/solo_lower_leg_right_side.stl', 'resources/meshes/stl/with_foot/solo_lower_leg_left_side.stl', 'resources/meshes/stl/with_foot/solo_body.stl', 'resources/meshes/stl/with_foot/solo_upper_leg_left_side.stl', 'resources/meshes/stl/without_foot/solo_upper_leg_right_side.stl', 'resources/meshes/stl/without_foot/solo_lower_leg_v2_right_side.stl', 'resources/meshes/stl/without_foot/solo_lower_leg_right_side.stl', 'resources/meshes/stl/without_foot/solo_lower_leg_left_side.stl', 'resources/meshes/stl/without_foot/solo_body.stl', 'resources/meshes/stl/without_foot/solo_lower_leg_v2_left_side.stl', 'resources/meshes/stl/without_foot/solo_upper_leg_left_side.stl', 'resources/odri_control_interface/solo12_driver.yaml', 'resources/rviz/solo.rviz', 'resources/rviz/display.rviz', 'resources/rviz/dgbullet_vs_pybullet.rviz', 'resources/xacro/leg.xacro', 'resources/xacro/plane_with_restitution.urdf.xacro', 'resources/xacro/solo12.urdf.xacro', 'resources/xacro/solo8.urdf.xacro', 'resources/rqt/solo.perspective.in', 'resources/pre_generated_urdf/readme.md', 'resources/launch/bringup.launch', 'resources/launch/dashboard.launch', 'resources/launch/rviz.launch', 'resources/launch/visual_rviz.launch', 'resources/srdf/solo.srdf']
--- stderr: robot_properties_solo                                      
resources =  ['resources/impedance_ctrl.yaml', 'resources/dynamic_graph_manager/dgm_parameters_solo12.yaml', 'resources/dynamic_graph_manager/dgm_parameters_solo8.yaml', 'resources/dynamic_graph_manager/dgm_parameters_solo12_nyu.yaml', 'resources/dynamic_graph_manager/dgm_parameters_solo12_mpi_is.yaml', 'resources/dynamic_graph_manager/dgm_parameters_solo8ti.yaml', 'resources/dynamic_graph_manager/dgm_parameters_solo12_wireless_mpi_is.yaml', 'resources/meshes/sphere.obj', 'resources/meshes/plane.obj', 'resources/meshes/cylinder.obj', 'resources/meshes/cube.obj', 'resources/meshes/checker_blue.png', 'resources/meshes/plane.mtl', 'resources/meshes/obj/with_foot/solo_foot.obj', 'resources/meshes/obj/with_foot/solo_upper_leg_left_side.mtl', 'resources/meshes/obj/with_foot/solo_lower_leg_right_side.obj', 'resources/meshes/obj/with_foot/solo_lower_leg_right_side.mtl', 'resources/meshes/obj/with_foot/solo_lower_leg_left_side.mtl', 'resources/meshes/obj/with_foot/solo_upper_leg_left_side.obj', 'resources/meshes/obj/with_foot/solo_foot.mtl', 'resources/meshes/obj/with_foot/solo_body.mtl', 'resources/meshes/obj/with_foot/solo_upper_leg_right_side.mtl', 'resources/meshes/obj/with_foot/solo_body.obj', 'resources/meshes/obj/with_foot/solo_upper_leg_right_side.obj', 'resources/meshes/obj/with_foot/solo_lower_leg_left_side.obj', 'resources/meshes/obj/without_foot/solo_upper_leg_left_side.mtl', 'resources/meshes/obj/without_foot/solo_lower_leg_right_side.obj', 'resources/meshes/obj/without_foot/solo_lower_leg_right_side.mtl', 'resources/meshes/obj/without_foot/solo_lower_leg_left_side.mtl', 'resources/meshes/obj/without_foot/solo_upper_leg_left_side.obj', 'resources/meshes/obj/without_foot/solo_body.mtl', 'resources/meshes/obj/without_foot/solo_upper_leg_right_side.mtl', 'resources/meshes/obj/without_foot/solo_body.obj', 'resources/meshes/obj/without_foot/solo_upper_leg_right_side.obj', 'resources/meshes/obj/without_foot/solo_lower_leg_left_side.obj', 'resources/meshes/stl/solo12/solo12_upper_leg_left_side.stl', 'resources/meshes/stl/solo12/solo12_coordinate_systems_2.png', 'resources/meshes/stl/solo12/solo12_hip_fe_hr.stl', 'resources/meshes/stl/solo12/solo12_hip_fe_fl.stl', 'resources/meshes/stl/solo12/solo12_hip_fe_hl.stl', 'resources/meshes/stl/solo12/solo12_coordinate_systems_4.png', 'resources/meshes/stl/solo12/solo12_upper_leg_right_side.stl', 'resources/meshes/stl/solo12/solo12_lower_leg_left_side.stl', 'resources/meshes/stl/solo12/solo12_hip_fe_fr.stl', 'resources/meshes/stl/solo12/_solo12_visualisation_model.PDF', 'resources/meshes/stl/solo12/solo12_coordinate_systems.png', 'resources/meshes/stl/solo12/solo12_coordinate_systems_3.png', 'resources/meshes/stl/solo12/solo12_lower_leg_right_side.stl', 'resources/meshes/stl/solo12/solo_12_base.stl', 'resources/meshes/stl/with_foot/solo_upper_leg_right_side.stl', 'resources/meshes/stl/with_foot/solo_foot.stl', 'resources/meshes/stl/with_foot/solo_lower_leg_right_side.stl', 'resources/meshes/stl/with_foot/solo_lower_leg_left_side.stl', 'resources/meshes/stl/with_foot/solo_body.stl', 'resources/meshes/stl/with_foot/solo_upper_leg_left_side.stl', 'resources/meshes/stl/without_foot/solo_upper_leg_right_side.stl', 'resources/meshes/stl/without_foot/solo_lower_leg_v2_right_side.stl', 'resources/meshes/stl/without_foot/solo_lower_leg_right_side.stl', 'resources/meshes/stl/without_foot/solo_lower_leg_left_side.stl', 'resources/meshes/stl/without_foot/solo_body.stl', 'resources/meshes/stl/without_foot/solo_lower_leg_v2_left_side.stl', 'resources/meshes/stl/without_foot/solo_upper_leg_left_side.stl', 'resources/odri_control_interface/solo12_driver.yaml', 'resources/rviz/solo.rviz', 'resources/rviz/display.rviz', 'resources/rviz/dgbullet_vs_pybullet.rviz', 'resources/xacro/leg.xacro', 'resources/xacro/plane_with_restitution.urdf.xacro', 'resources/xacro/solo12.urdf.xacro', 'resources/xacro/solo8.urdf.xacro', 'resources/rqt/solo.perspective.in', 'resources/pre_generated_urdf/readme.md', 'resources/launch/bringup.launch', 'resources/launch/dashboard.launch', 'resources/launch/rviz.launch', 'resources/launch/visual_rviz.launch', 'resources/srdf/solo.srdf']

building xacro file ( /home/yim/devel/workspace/src/robot_properties_solo/src/robot_properties_solo/resources/xacro/plane_with_restitution.urdf.xacro ) into ( /home/yim/devel/workspace/build/robot_properties_solo/build/lib/robot_properties_solo/resources/urdf/plane_with_restitution.urdf )
building xacro file ( /home/yim/devel/workspace/src/robot_properties_solo/src/robot_properties_solo/resources/xacro/solo12.urdf.xacro ) into ( /home/yim/devel/workspace/build/robot_properties_solo/build/lib/robot_properties_solo/resources/urdf/solo12.urdf )
building xacro file ( /home/yim/devel/workspace/src/robot_properties_solo/src/robot_properties_solo/resources/xacro/solo8.urdf.xacro ) into ( /home/yim/devel/workspace/build/robot_properties_solo/build/lib/robot_properties_solo/resources/urdf/solo8.urdf )
building xacro file ( /home/yim/devel/workspace/src/robot_properties_solo/src/robot_properties_solo/resources/xacro/plane_with_restitution.urdf.xacro ) into ( /home/yim/devel/workspace/build/robot_properties_solo/build/lib/robot_properties_solo/resources/urdf/plane_with_restitution.urdf )
building xacro file ( /home/yim/devel/workspace/src/robot_properties_solo/src/robot_properties_solo/resources/xacro/solo12.urdf.xacro ) into ( /home/yim/devel/workspace/build/robot_properties_solo/build/lib/robot_properties_solo/resources/urdf/solo12.urdf )
building xacro file ( /home/yim/devel/workspace/src/robot_properties_solo/src/robot_properties_solo/resources/xacro/solo8.urdf.xacro ) into ( /home/yim/devel/workspace/build/robot_properties_solo/build/lib/robot_properties_solo/resources/urdf/solo8.urdf )
building xacro file ( /home/yim/devel/workspace/src/robot_properties_solo/src/robot_properties_solo/resources/xacro/plane_with_restitution.urdf.xacro ) into ( /home/yim/devel/workspace/build/robot_properties_solo/build/lib/robot_properties_solo/resources/urdf/plane_with_restitution.urdf )
building xacro file ( /home/yim/devel/workspace/src/robot_properties_solo/src/robot_properties_solo/resources/xacro/solo12.urdf.xacro ) into ( /home/yim/devel/workspace/build/robot_properties_solo/build/lib/robot_properties_solo/resources/urdf/solo12.urdf )
building xacro file ( /home/yim/devel/workspace/src/robot_properties_solo/src/robot_properties_solo/resources/xacro/solo8.urdf.xacro ) into ( /home/yim/devel/workspace/build/robot_properties_solo/build/lib/robot_properties_solo/resources/urdf/solo8.urdf )
---
Finished <<< robot_properties_solo [0.74s]
--- stderr: shared_memory                              
/home/yim/devel/workspace/src/shared_memory/src/condition_variable.cpp: In member function ‘bool shared_memory::ConditionVariable::timed_wait(shared_memory::Lock&, long int)’:
/home/yim/devel/workspace/src/shared_memory/src/condition_variable.cpp:52:30: error: ‘boost::interprocess::microsec_clock’ has not been declared
   52 |         boost::interprocess::microsec_clock::universal_time();
      |                              ^~~~~~~~~~~~~~
/home/yim/devel/workspace/src/shared_memory/src/locked_condition_variable.cpp: In member function ‘bool shared_memory::LockedConditionVariable::timed_wait(long int)’:
/home/yim/devel/workspace/src/shared_memory/src/locked_condition_variable.cpp:65:34: error: ‘boost::interprocess::microsec_clock’ has not been declared
   65 |             boost::interprocess::microsec_clock::universal_time();
      |                                  ^~~~~~~~~~~~~~
make[2]: *** [CMakeFiles/shared_memory.dir/build.make:89: CMakeFiles/shared_memory.dir/src/condition_variable.cpp.o] 오류 1
make[2]: *** 끝나지 않은 작업을 기다리고 있습니다....
make[2]: *** [CMakeFiles/shared_memory.dir/build.make:76: CMakeFiles/shared_memory.dir/src/locked_condition_variable.cpp.o] 오류 1
make[1]: *** [CMakeFiles/Makefile2:491: CMakeFiles/shared_memory.dir/all] 오류 2
make: *** [Makefile:141: all] 오류 2
---
Failed   <<< shared_memory [2.03s, exited with code 2]

Summary: 12 packages finished [2.57s]
  1 package failed: shared_memory
  3 packages had stderr output: bullet_utils robot_properties_solo shared_memory
  3 packages not processed

we will continue to try to fix the errors step by step,
but because there are so many errors than we expected and we have very little knowledge of ROS,
we are concerned about the possibility that we maybe missing somethings or did something wrong in the first place.

Can anyone help us?

Thank you in advance,
Brian

ps. the strange thing is that we were able to build ‘blmc_drivers’