Cannot compile UR ROS Driver (catkin_make Error)

Hi, I’m trying to build the Universal Robots ROS Driver on ROS Melodic (Ubuntu 18.04), however, I get the following error when I try to build with catkin_make.

In file included from /opt/ros/melodic/include/ur_client_library/rtde/rtde_parser.h:31:0,
from /opt/ros/melodic/include/ur_client_library/rtde/rtde_client.h:36,
from /opt/ros/melodic/include/ur_client_library/ur/ur_driver.h:33,
from /home/jwt/catkin_ws/src/Universal_Robots_ROS_Driver/ur_robot_driver/include/ur_robot_driver/hardware_interface.h:62,
from /home/jwt/catkin_ws/src/Universal_Robots_ROS_Driver/ur_robot_driver/src/hardware_interface.cpp:30:
/opt/ros/melodic/include/ur_client_library/rtde/data_package.h: In member function ‘bool urcl::rtde_interface::DataPackage::getData(const string&, T&)’:
/opt/ros/melodic/include/ur_client_library/rtde/data_package.h:129:20: error: ‘strict_get’ is not a member of ‘boost’
val = boost::strict_get(data_[name]);
^~~~~~~~~~
/opt/ros/melodic/include/ur_client_library/rtde/data_package.h:129:32: error: expected primary-expression before ‘>’ token
val = boost::strict_get(data_[name]);
^
/opt/ros/melodic/include/ur_client_library/rtde/data_package.h: In member function ‘bool urcl::rtde_interface::DataPackage::getData(const string&, std::bitset&)’:
/opt/ros/melodic/include/ur_client_library/rtde/data_package.h:156:35: error: ‘strict_get’ is not a member of ‘boost’
val = std::bitset(boost::strict_get(data_[name]));
^~~~~~~~~~
/opt/ros/melodic/include/ur_client_library/rtde/data_package.h:156:27: error: expected primary-expression before ‘(’ token
val = std::bitset(boost::strict_get(data_[name]));
^
/opt/ros/melodic/include/ur_client_library/rtde/data_package.h:156:35: error: ‘strict_get’ is not a member of ‘boost’
val = std::bitset(boost::strict_get(data_[name]));
^~~~~~~~~~
/opt/ros/melodic/include/ur_client_library/rtde/data_package.h:156:47: error: expected primary-expression before ‘>’ token
val = std::bitset(boost::strict_get(data_[name]));
^
In file included from /opt/ros/melodic/include/ur_client_library/rtde/rtde_parser.h:31:0,
from /opt/ros/melodic/include/ur_client_library/rtde/rtde_client.h:36,
from /opt/ros/melodic/include/ur_client_library/ur/ur_driver.h:33,
from /home/jwt/catkin_ws/src/Universal_Robots_ROS_Driver/ur_robot_driver/include/ur_robot_driver/hardware_interface.h:62,
from /home/jwt/catkin_ws/src/Universal_Robots_ROS_Driver/ur_robot_driver/src/hardware_interface.cpp:30:
/opt/ros/melodic/include/ur_client_library/rtde/data_package.h: In member function ‘bool urcl::rtde_interface::DataPackage::getData(const string&, T&)’:
/opt/ros/melodic/include/ur_client_library/rtde/data_package.h:129:20: error: ‘strict_get’ is not a member of ‘boost’
val = boost::strict_get(data_[name]);
^~~~~~~~~~
/opt/ros/melodic/include/ur_client_library/rtde/data_package.h:129:32: error: expected primary-expression before ‘>’ token
val = boost::strict_get(data_[name]);
^
/opt/ros/melodic/include/ur_client_library/rtde/data_package.h: In member function ‘bool urcl::rtde_interface::DataPackage::getData(const string&, std::bitset&)’:
/opt/ros/melodic/include/ur_client_library/rtde/data_package.h:156:35: error: ‘strict_get’ is not a member of ‘boost’
val = std::bitset(boost::strict_get(data_[name]));
^~~~~~~~~~
/opt/ros/melodic/include/ur_client_library/rtde/data_package.h:156:27: error: expected primary-expression before ‘(’ token
val = std::bitset(boost::strict_get(data_[name]));
^
/opt/ros/melodic/include/ur_client_library/rtde/data_package.h:156:35: error: ‘strict_get’ is not a member of ‘boost’
val = std::bitset(boost::strict_get(data_[name]));
^~~~~~~~~~
/opt/ros/melodic/include/ur_client_library/rtde/data_package.h:156:47: error: expected primary-expression before ‘>’ token
val = std::bitset(boost::strict_get(data_[name]));
^
In file included from /opt/ros/melodic/include/ur_client_library/rtde/rtde_parser.h:31:0,
from /opt/ros/melodic/include/ur_client_library/rtde/rtde_client.h:36,
from /opt/ros/melodic/include/ur_client_library/ur/ur_driver.h:33,
from /home/jwt/catkin_ws/src/Universal_Robots_ROS_Driver/ur_robot_driver/include/ur_robot_driver/hardware_interface.h:62,
from /home/jwt/catkin_ws/src/Universal_Robots_ROS_Driver/ur_robot_driver/src/hardware_interface_node.cpp:32:
/opt/ros/melodic/include/ur_client_library/rtde/data_package.h: In member function ‘bool urcl::rtde_interface::DataPackage::getData(const string&, T&)’:
/opt/ros/melodic/include/ur_client_library/rtde/data_package.h:129:20: error: ‘strict_get’ is not a member of ‘boost’
val = boost::strict_get(data_[name]);
^~~~~~~~~~
/opt/ros/melodic/include/ur_client_library/rtde/data_package.h:129:20: note: suggested alternative: ‘xtime_get’
val = boost::strict_get(data_[name]);
^~~~~~~~~~
xtime_get
/opt/ros/melodic/include/ur_client_library/rtde/data_package.h:129:32: error: expected primary-expression before ‘>’ token
val = boost::strict_get(data_[name]);
^
/opt/ros/melodic/include/ur_client_library/rtde/data_package.h: In member function ‘bool urcl::rtde_interface::DataPackage::getData(const string&, std::bitset&)’:
/opt/ros/melodic/include/ur_client_library/rtde/data_package.h:156:35: error: ‘strict_get’ is not a member of ‘boost’
val = std::bitset(boost::strict_get(data_[name]));
^~~~~~~~~~
/opt/ros/melodic/include/ur_client_library/rtde/data_package.h:156:35: note: suggested alternative: ‘xtime_get’
val = std::bitset(boost::strict_get(data_[name]));
^~~~~~~~~~
xtime_get
/opt/ros/melodic/include/ur_client_library/rtde/data_package.h:156:27: error: expected primary-expression before ‘(’ token
val = std::bitset(boost::strict_get(data_[name]));
^
/opt/ros/melodic/include/ur_client_library/rtde/data_package.h:156:35: error: ‘strict_get’ is not a member of ‘boost’
val = std::bitset(boost::strict_get(data_[name]));
^~~~~~~~~~
/opt/ros/melodic/include/ur_client_library/rtde/data_package.h:156:35: note: suggested alternative: ‘xtime_get’
val = std::bitset(boost::strict_get(data_[name]));
^~~~~~~~~~
xtime_get
/opt/ros/melodic/include/ur_client_library/rtde/data_package.h:156:47: error: expected primary-expression before ‘>’ token
val = std::bitset(boost::strict_get(data_[name]));
^

Can anyone help me solve this problem?

Thanks in advance.

Using catkin build as a build system instead of catkin_make fixed a similar, but not the same, build error in my case.

Where you ever able to resolve this issue? I am getting the same thing.