Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Humble: moveit_core bullet collision detection header not found #2402

Closed
gabrielfpacheco opened this issue Oct 2, 2023 · 3 comments
Closed
Labels
bug Something isn't working

Comments

@gabrielfpacheco
Copy link

gabrielfpacheco commented Oct 2, 2023

Description

When trying to include collision_detector_allocator_bullet.h, the file is not found since its install path has been changed in 2.5.5.

Your environment

  • ROS Distro: Humble
  • OS Version: Ubuntu 22.04
  • Source or Binary build? Binary
  • If binary, which release version? 2.5.5-1jammy.20230919.231650

Steps to reproduce

  1. Update and (re-)install moveit-core:
sudo apt update && sudo apt install ros-humble-moveit-core
  1. Make sure the release version is 2.5.5:
$ apt show ros-humble-moveit-core
Package: ros-humble-moveit-core
Version: 2.5.5-1jammy.20230919.231650
  1. Create an example package depending on moveit_core only:
ros2 pkg create \
 --build-type ament_cmake \
 --dependencies moveit_core \
 --node-name test_node issue_moveit_core
  1. Update test_node.cpp to include Bullet's collision detector allocator:
#include <cstdio>

#include <moveit/collision_detection_bullet/collision_detector_allocator_bullet.h>

int main(int argc, char ** argv)
{
  (void) argc;
  (void) argv;

  printf("hello world issue_moveit_core package\n");
  return 0;
} 
  1. Build the package
~/ws_moveit$ colcon build --packages-select issue_moveit_core

Expected behaviour

One should able to #include <moveit/collision_detection_bullet/collision_detector_allocator_bullet.h> and the compilation process
should be completed successfully as it does if #include <moveit/collision_detection_fcl/collision_detector_allocator_fcl.h> is used instead.

Actual behaviour

The build fails since the header is not found. Indeed, it is the only thing installed at <ROS_INSTALL_PATH>/include/moveit_core/moveit/ and not at <ROS_INSTALL_PATH>/include/moveit/.

Backtrace or Console output

~/ws_moveit$ colcon build --packages-select issue_moveit_core
[0.721s] WARNING:colcon.colcon_ros.prefix_path.ament:The path '/home/jammy/ws_moveit/install/hello_moveit' in the environment variable AMENT_PREFIX_PATH doesn't exist
[0.721s] WARNING:colcon.colcon_ros.prefix_path.catkin:The path '/home/jammy/ws_moveit/install/hello_moveit' in the environment variable CMAKE_PREFIX_PATH doesn't exist
Starting >>> issue_moveit_core
--- stderr: issue_moveit_core                             
/home/jammy/ws_moveit/src/issue_moveit_core/src/test_node.cpp:3:10: fatal error: moveit/collision_detection_bullet/collision_detector_allocator_bullet.h: No such file or directory
    3 | #include <moveit/collision_detection_bullet/collision_detector_allocator_bullet.h>
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
gmake[2]: *** [CMakeFiles/test_node.dir/build.make:76: CMakeFiles/test_node.dir/src/test_node.cpp.o] Error 1
gmake[1]: *** [CMakeFiles/Makefile2:137: CMakeFiles/test_node.dir/all] Error 2
gmake: *** [Makefile:146: all] Error 2
---
Failed   <<< issue_moveit_core [0.17s, exited with code 2]

Summary: 0 packages finished [0.74s]
  1 package failed: issue_moveit_core
  1 package had stderr output: issue_moveit_core
@gabrielfpacheco
Copy link
Author

I think the issue is related to the fact that the destination path has been changed (unwillingly?) just for collision_detection_bullet without updating target_include_directories accordingly.

However, as per the description of #1889, it seems to me that the intention of the PR was not to modify the install path for collision_detection_bullet but only to remove ament_export_targets from this subfolder (maybe it occurred due to a wrong rebase process?).

gabrielfpacheco pushed a commit to gabrielfpacheco/moveit2 that referenced this issue Oct 2, 2023
…eit`

- `collision_detection_bullet` was the only subfolder whose install path
updated for version 2.5.5
- In this update, the `target_include_directories` was not updated
accordingly, causing moveit#2402
sjahr added a commit that referenced this issue Oct 3, 2023
…eit` (#2403)

- `collision_detection_bullet` was the only subfolder whose install path
updated for version 2.5.5
- In this update, the `target_include_directories` was not updated
accordingly, causing #2402

Co-authored-by: gpacheco <gpacheco@krakenrobotics.com.br>
Co-authored-by: Sebastian Jahr <sebastian.jahr@picknik.ai>
@sjahr
Copy link
Contributor

sjahr commented Oct 4, 2023

Closing this because it is fixed with #2403 @gabrielfpacheco please re-open if that's not the case and thank you for the fix!

@sjahr sjahr closed this as completed Oct 4, 2023
@gabrielfpacheco
Copy link
Author

Closing this because it is fixed with #2403 @gabrielfpacheco please re-open if that's not the case and thank you for the fix!

Thank you for the fast reply :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants