Robotics StackExchange | Archived questions

Can't Find FCL when Installing MoveIt From Source

I'm trying to install MoveIt and OMPL from source to use with ROS Kinetic and catkin tools for compiling. I've created a new catkin workspace.

Following these instructions, I've first downloaded OMPL and FCL in my workspace:

cd moveit_ws/src
git clone https://github.com/ompl/ompl
sudo apt -qq install libccd-dev
git clone https://github.com/flexible-collision-library/fcl
cd fcl
git checkout fcl-0.5
wget https://raw.githubusercontent.com/ros-gbp/fcl-release/debian/jade/fcl/package.xml

I then renamed the project to libfcl-dev in this package.xml as instructed so fcl builds before MoveIt. Next, to install MoveIt:

rosdep update
sudo apt update
sudo apt dist-upgrade
sudo apt install python-wstool python-catkin-tools clang-format-10
source /opt/ros/kinetic/setup.bash
wstool init src
wstool merge -t src https://raw.githubusercontent.com/ros-planning/moveit/master/moveit.rosinstall
wstool update -t src
rosdep install -r --from-paths src --ignore-src --rosdistro ${ROS_DISTRO}

As fcl was already added to my repo, I get this error: libfcl-dev: Cannot locate rosdep definition for [libccd] I instead run:

rosdep install -r --from-paths src --ignore-src --rosdistro ${ROS_DISTRO}
catkin config --extend /opt/ros/${ROS_DISTRO} --cmake-args -DCMAKE_BUILD_TYPE=Release
catkin build

fcl, ompl, and a few of the MoveIt packages compile fine, but moveit-core can't find fcl:

Errors     << moveit_core:cmake /home/mcorsaro/moveit_ws/logs/moveit_core/build.cmake.001.logNot searching for unused variables given on the command line.
Re-run cmake no build system arguments
moveit_core: You did not request a specific build type: Choosing 'Release' for maximum performance
-- Boost version: 1.58.0
-- Found the following Boost libraries:
--   system
--   filesystem
--   date_time
--   thread
--   iostreams
--   regex
--   chrono
--   atomic
-- Could NOT find Bullet: Found unsuitable version "2.83", but required is at least "2.87" (found BulletSoftBody;BulletDynamics;BulletCollision;LinearMath)
-- Version of Bullet too old or not available: disabling Bullet collision detection plugin. Try using Ubuntu 18.04 or later.
-- Checking for module 'fcl'
--   No package 'fcl' found
CMake Error at /usr/share/cmake-3.5/Modules/FindPkgConfig.cmake:367 (message):
  A required package was not found
Call Stack (most recent call first):
  /usr/share/cmake-3.5/Modules/FindPkgConfig.cmake:532 (_pkg_check_modules_internal)
  CMakeLists.txt:50 (pkg_check_modules)

I get the same error when I change the libfcl-dev package name back to fcl and rebuild a couple of times.

Is this a problem on my end? Or is adding a package.xml not enough to turn fcl into a ROS package? Are there other things that should be added to fcl's CMake files? I hacked around and tried to make fcl generate a fclConfig.cmake, but it still wouldn't compile. What else can I do to debug this issue?

Asked by wijdpoqwaijdmolqwdinm on 2020-09-04 23:23:02 UTC

Comments

Answers