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
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"?>
Asked by puneet.tiwari on 2018-01-10 00:54:18 UTC
Asked by puneet.tiwari on 2018-01-10 00:55:32 UTC
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
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