frankaemika/franka_ros

franka_ros 0.9.0 not building against libfranka 0.8.0

Closed this issue · 1 comments

I have checked out and built libfranka 0.8.0 in ~/libfranka using git checkout tags/0.8.0 and built it according to https://frankaemika.github.io/docs/installation_linux.html
I need this version since I cannot update the robot at this moment.

After building libfranka, the franka_ros package is retreived from github and built following the instructions on the above mentioned page. Initially I checked out melodic-devel version and later on I checked out the tags/0.9.0 version.

During the following command:
catkin_make -DCMAKE_BUILD_TYPE=Release -DFranka_DIR:PATH=/home/<<my_username>>/libfranka/build
I get the following error during the building of franka_gripper:

....
-- ~~  traversing 9 packages in topological order:
-- ~~  - franka_description
-- ~~  - franka_ros (metapackage)
-- ~~  - franka_msgs
-- ~~  - franka_gripper
-- ~~  - franka_visualization
-- ~~  - franka_hw
-- ~~  - franka_control
-- ~~  - franka_example_controllers
-- ~~  - franka_gazebo
-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-- +++ processing catkin package: 'franka_description'
-- ==> add_subdirectory(franka_ros/franka_description)
-- +++ processing catkin metapackage: 'franka_ros'
-- ==> add_subdirectory(franka_ros/franka_ros)
-- +++ processing catkin package: 'franka_msgs'
-- ==> add_subdirectory(franka_ros/franka_msgs)
-- Using these message generators: gencpp;geneus;genlisp;gennodejs;genpy
-- Generating .msg files for action franka_msgs/ErrorRecovery /home/<<my_username>>/franka_ros_ws/src/franka_ros/franka_msgs/action/ErrorRecovery.action
Generating for action ErrorRecovery
-- franka_msgs: 9 messages, 7 services
-- +++ processing catkin package: 'franka_gripper'
-- ==> add_subdirectory(franka_ros/franka_gripper)
-- Using these message generators: gencpp;geneus;genlisp;gennodejs;genpy
CMake Error at franka_ros/franka_gripper/CMakeLists.txt:19 (find_package):
  By not providing "FindFranka.cmake" in CMAKE_MODULE_PATH this project has
  asked CMake to find a package configuration file provided by "Franka", but
  CMake did not find one.

  Could not find a package configuration file provided by "Franka" (requested
  version 0.8.0) with any of the following names:

    FrankaConfig.cmake
    franka-config.cmake

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


-- Configuring incomplete, errors occurred!
...

The franka_ros changelog says version 0.9.0 should be compatible with libfranka >= 0.8.0, but it seems not to be the case in my situation. Workaround for me now is checking out the 0.8.2 tag of franka_ros.

I tested this on a clean installation of Ubuntu 18.04 with ros-melodic-desktop installed (+ additional build tools for packages as per instructions on the ROS Melodic installation page for Ubuntu).

Seems like you didnt install libfranka properly. Just run:

git clone --recursive https://github.com/frankaemika/libfranka --branch 0.8.0
cd libfranka
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Release -DBUILD_TESTS=OFF ..
cmake --build .
cpack -G DEB
sudo dpkg -i libfranka-0.8.0-amd64.deb

and then run catkin_make without -DFranka_DIR