Robotics StackExchange | Archived questions

How to Install FCL library in ROS-Kinetic (catkin workspace)

PROBLEM:: I am not able to compile FCL using catkin_make ??

ERROR::

CMake Error at path_planner/CMakeLists.txt:6 (find_package):
By not providing "Findfcl.cmake" in CMAKE_MODULE_PATH this project has
asked CMake to find a package configuration file provided by "fcl", but
CMake did not find one.

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

fclConfig.cmake
fcl-config.cmake

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

<------------------------------------------------------------------------------------------------------------------->

My package has this cmake file:::

cmake_minimum_required(VERSION 2.8.3)

project(path_planning)

set (CMAKE_CXX_STANDARD 11)

find_package(octomap REQUIRED)

find_package(fcl REQUIRED)

find_package(OMPL REQUIRED)

find_package(catkin REQUIRED COMPONENTS
  octomap_msgs
  octomap_ros
  pcl_conversions
  pcl_ros
  roscpp
  std_msgs
)

catkin_package(
  INCLUDE_DIRS include
  LIBRARIES path_planning
  CATKIN_DEPENDS octomap_msgs octomap_ros pcl_conversions pcl_ros roscpp std_msgs
#  DEPENDS octomap PCL
)

include_directories(
  ${PROJECT_SOURCE_DIR}/include
  ${catkin_INCLUDE_DIRS}
  ${PCL_INCLUDE_DIRS}
  ${OCTOMAP_INCLUDE_DIRS}
  ${Boost_INCLUDE_DIR}
  ${OMPL_INCLUDE_DIRS}
  ${fcl_INCLUDE_DIRS}
)

link_libraries(${OCTOMAP_LIBRARIES}  ${OMPL_LIBRARY_DIRS} ${fcl_LIBRARY_DIRS})

Asked by puneet.tiwari on 2018-01-08 23:56:41 UTC

Comments

Hello, I have the same ERROR with you when compile "path_planning" in ros kinetic. So, have you worked this error out? I need your help, thanks!

Asked by zhchpan on 2018-01-21 09:38:18 UTC

No, this problem is still not solved. If anyhow you find a solution, please let me know as well. Instead of using this library, Now I am using voxels in octomap to check any collision.

Thanks

Asked by puneet.tiwari on 2018-01-22 01:42:21 UTC

When I browse fcl's website, I found that fcl before version 0.5 doesn't have 'fclConfig.cmake', so I solve this bug by downloading and compiling the fcl library of version 0.5.

Asked by zhchpan on 2018-01-22 02:43:36 UTC

Answers

If you mean this FCL version, you can't build it in using catkin_make, because it's not a catkin package.

You might be able to build it using catkin_tools, but I believe you'd need to create a package.xml specifying a <buildtool_depend> of cmake.

See: https://catkin-tools.readthedocs.io/en/latest/build_types.html

Asked by joq on 2018-01-09 11:18:02 UTC

Comments

Thanks a lot. However, I am searching fcl, which I can build with catkin_make. Do you have any idea about fcl which I can build with catkin_make??

Asked by puneet.tiwari on 2018-01-10 00:08:57 UTC

<?xml version="1.0"?>

path_planning

0.0.0

The path_planning package

hitech

TODO

catkin

Asked by puneet.tiwari on 2018-01-10 00:54:18 UTC

octomap_msgs

octomap_ros

pcl_conversions

pcl_ros

roscpp

std_msgs

octomap_msgs

Asked by puneet.tiwari on 2018-01-10 00:55:32 UTC

octomap_ros

pcl_conversions

pcl_ros

roscpp

std_msgs

Asked by puneet.tiwari on 2018-01-10 00:56:15 UTC

I am not aware of any "catkinized" FCL version. Maybe someone else knows.

Asked by joq on 2018-01-10 11:15:10 UTC

To use FCL, I followed this, meaning:

I have removed previously installed versions,

sudo apt-get -qq remove libfcl0 libfcl-dev ros-kinetic-octomap
sudo apt-get -qq install libccd-dev

I have cloned the code from github and added the package.xml with:

wget https://raw.githubusercontent.com/ros-gbp/fcl-release/debian/jade/fcl/package.xml

I did not follow the last step, were it was needed to rename the package, since it was not required for what I wanted to do.

Next, I compiled the workspace with only the fcl package inside. After, I added another package, which will use fcl and I made sure it detected the fcl package, by following this answer.

I understand that this is not a direct answer to your question, but it may help, so here it is.

Asked by jpde.lopes on 2018-05-22 10:50:40 UTC

Comments

Hi, just an update in case someone else also has this problem and want to use the libfcl-0.5-dev package. The moveit-package also uses the fcl-library and their CMakeList looks the following way:

https://github.com/ros-planning/moveit/blob/master/moveit_core/CMakeLists.txt

Asked by smichael on 2019-12-18 07:18:29 UTC

Comments