moveit / moveit2_tutorials

A sphinx-based centralized documentation repo for MoveIt 2
https://moveit.picknik.ai
BSD 3-Clause "New" or "Revised" License
155 stars 195 forks source link

Imported target "Boost::filesystem" includes non-existent path "/include" #490

Closed minghuiwsw closed 11 months ago

minghuiwsw commented 2 years ago

Environment

Steps to reproduce

I followed this moveit tutorial step by step. When I build packages using colcon build --mixin release, I encountered this problem:

Starting >>> geometric_shapes
Starting >>> moveit_msgs
Starting >>> moveit_common
Starting >>> moveit_resources_panda_description
Starting >>> launch_param_builder
Starting >>> moveit_resources_fanuc_description
Starting >>> moveit_resources_pr2_description
Starting >>> moveit_resources_prbt_support
Starting >>> rviz_visual_tools
Finished <<< moveit_common [0.49s]                                                                  
Finished <<< moveit_resources_panda_description [0.49s]
Starting >>> moveit_resources_panda_moveit_config
Finished <<< moveit_resources_prbt_support [0.47s]
Finished <<< moveit_resources_fanuc_description [0.49s]
Finished <<< moveit_resources_pr2_description [0.50s]
Starting >>> moveit_resources_fanuc_moveit_config
Finished <<< moveit_resources_panda_moveit_config [0.17s]                                           
Finished <<< moveit_resources_fanuc_moveit_config [0.15s]
Starting >>> moveit_resources
--- stderr: geometric_shapes                                                                        
CMake Error in CMakeLists.txt:
  Imported target "Boost::filesystem" includes non-existent path

    "/include"

  in its INTERFACE_INCLUDE_DIRECTORIES.  Possible reasons include:

  * The path was deleted, renamed, or moved to another location.

  * An install or uninstall procedure did not complete successfully.

  * The installation package was faulty and references files it does not
  provide.

CMake Error in CMakeLists.txt:
  Imported target "Boost::filesystem" includes non-existent path

    "/include"

  in its INTERFACE_INCLUDE_DIRECTORIES.  Possible reasons include:

  * The path was deleted, renamed, or moved to another location.

  * An install or uninstall procedure did not complete successfully.

  * The installation package was faulty and references files it does not
  provide.

CMake Generate step failed.  Build files cannot be regenerated correctly.
---
Failed   <<< geometric_shapes [0.89s, exited with code 1]
Aborted  <<< launch_param_builder [0.95s]                                      
Aborted  <<< moveit_resources [0.65s]                                          
Aborted  <<< rviz_visual_tools [29.0s]                                             
Aborted  <<< moveit_msgs [37.8s]                                    

Summary: 7 packages finished [38.1s]
  1 package failed: geometric_shapes
  4 packages aborted: launch_param_builder moveit_msgs moveit_resources rviz_visual_tools
  1 package had stderr output: geometric_shapes
  33 packages not processed

I guess the cause of this problem is as follow (from export_geometric_shapesExport.cmake):

set_target_properties(geometric_shapes::geometric_shapes PROPERTIES
  INTERFACE_INCLUDE_DIRECTORIES "/opt/ros/galactic/include;/usr/include/eigen3;/include;/usr/include;/usr/include/libqhull_r;${_IMPORT_PREFIX}/include"
  INTERFACE_LINK_LIBRARIES "console_bridge::console_bridge;geometry_msgs::geometry_msgs__rosidl_generator_c;geometry_msgs::geometry_msgs__rosidl_typesupport_introspection_c;geometry_msgs::geometry_msgs__rosidl_typesupport_c;geometry_msgs::geometry_msgs__rosidl_generator_cpp;geometry_msgs::geometry_msgs__rosidl_typesupport_introspection_cpp;geometry_msgs::geometry_msgs__rosidl_typesupport_cpp;rclcpp::rclcpp;resource_retriever::resource_retriever;shape_msgs::shape_msgs__rosidl_generator_c;shape_msgs::shape_msgs__rosidl_typesupport_introspection_c;shape_msgs::shape_msgs__rosidl_typesupport_c;shape_msgs::shape_msgs__rosidl_generator_cpp;shape_msgs::shape_msgs__rosidl_typesupport_introspection_cpp;shape_msgs::shape_msgs__rosidl_typesupport_cpp;visualization_msgs::visualization_msgs__rosidl_generator_c;visualization_msgs::visualization_msgs__rosidl_typesupport_introspection_c;visualization_msgs::visualization_msgs__rosidl_typesupport_c;visualization_msgs::visualization_msgs__rosidl_generator_cpp;visualization_msgs::visualization_msgs__rosidl_typesupport_introspection_cpp;visualization_msgs::visualization_msgs__rosidl_typesupport_cpp;/opt/ros/galactic/lib/liboctomap.so;/opt/ros/galactic/lib/liboctomath.so;/opt/ros/galactic/lib/librandom_numbers.so;Boost::filesystem;/usr/lib/x86_64-linux-gnu/libassimp.so.5;\$<\$<NOT:\$<CONFIG:DEBUG>>:/usr/lib/x86_64-linux-gnu/libqhull_r.so>;\$<\$<CONFIG:DEBUG>:/usr/lib/x86_64-linux-gnu/libqhull_r.so>"
  INTERFACE_SYSTEM_INCLUDE_DIRECTORIES "/usr/include;/usr/include/libqhull_r"
)

NTERFACE_INCLUDE_DIRECTORIES contains a directory /include which apparently I don't have.

Could anybody give me some suggestions?

vatanaksoytezer commented 2 years ago

Hello @minghuiwsw, thank you for reporting your issue. Please use the binary version of geometric shapes, by removing it from your workspace (rm -rf geometric_shapes under your src) and install using apt (sudo apt install ros-galactic-geometric-shapes).