Universal_Robots_ROS_Driver icon indicating copy to clipboard operation
Universal_Robots_ROS_Driver copied to clipboard

Add optional calibration step for all-source build

Open captain-yoshi opened this issue 3 years ago • 5 comments

With the all-source build, the proposed calibration launch pkg fails to build, because it searches for the ur_client_library in the binary global space /opt/ros/noetic. With the proposed changes, it searches the catkin workspace beforehand and successfully finds the library. Using ROS-Noetic with catkin-tools.

Errors     << example_organization_ur_launch:cmake /home/captain-yoshi/ws/ros/mimic_ws/logs/example_organization_ur_launch/build.cmake.002.log          
CMake Error at /opt/ros/noetic/share/catkin/cmake/catkinConfig.cmake:83 (find_package):
  Could not find a package configuration file provided by "ur_client_library"
  with any of the following names:

    ur_client_libraryConfig.cmake
    ur_client_library-config.cmake

  Add the installation prefix of "ur_client_library" to CMAKE_PREFIX_PATH or
  set "ur_client_library_DIR" to a directory containing one of the above
  files.  If "ur_client_library" provides a separate development package or
  SDK, be sure it has been installed.
Call Stack (most recent call first):
  CMakeLists.txt:10 (find_package)

captain-yoshi avatar Jun 21 '22 17:06 captain-yoshi

I never had problems building it without the modification, but the supposed change might make sense to actually merge into the CMakeLists.txt directly...

fmauch avatar Jun 22 '22 07:06 fmauch

Oh, wait, this should solve #349? That would be aweseome!

fmauch avatar Oct 10 '22 09:10 fmauch

I don't think so. The CMakeLists.txt seems to bet set properly in both ur_calibration and ur_robot_driver (even from 2 years ago). On my end and without the proposed example_organization_ur_launch package it runs fine. Maybe a complete clean of the workspace would have helped out.

The problem I have is only when creating the example_organization_ur_launch because of this line

$ catkin_create_pkg example_organization_ur_launch ur_client_library \
-D "Package containing calibrations and launch files for our UR robots."

which adds the non catkin package ur_client_library as a catkin component

find_package(catkin REQUIRED COMPONENTS
  ur_client_library
)

which overshadows the local workspace build of example_organization_ur_launch.

Will update a better fix soon.

captain-yoshi avatar Oct 10 '22 14:10 captain-yoshi

Ah, now I get it. In fact, the dependency on ur_client_library is indeed wrong. It should be ur_robot_driver instead. Then, it also will not cause the problem you are mentioning.

fmauch avatar Oct 10 '22 14:10 fmauch

@fmauch Changed the wrong dependency and it works as expected.

captain-yoshi avatar Oct 10 '22 16:10 captain-yoshi