Universal Robots+

URtool installation breaks cmake boost discovery

Summary

Recently I installed the SDK on linux ubuntu machine (not using the VM from starter package).
Everything was fine and I could use it as expected. Unfortunately the installation of the SDK broke the discovery of Boost library from the ROS build system (Catkin, cmake).
This issue has already been reported here. I re post here since using ROS and UR is not an unusual combination and I believe it has to be fixed.

Versions

  • ROS Kinetic
  • ubuntu 16.04
  • URCap_SDK-1.10.0
  • urtool3_0.3
  • cmake 3.5.1

Impact

cmake will find the boost library installed by the urtool inside /opt directory and not the original one that is usually located inside /usr directory, causing compiling errors.

Issue details

The reason this happens is that the default findboost.cmake file will find the wrong installation of boost from urtool, I am not really sure why. The reason for this is because findboost.cmake is using in some point the $PATH env viariable of linux to get a hint of the location of boost and since the installation of urtool append this line /opt/urtool-3.0/ in the variable the findboost.cmake finds the urtool instance of boost.

Steps to Reproduce

As ROS is using cmake it can be reproduced by including this line:

  • find_package(Boost)
    and have a code that is using boost.

Workaround Suggestion

Removing the path of urtool from the $PATH variable will fix the problem. Dont forget to clean

1 Like