I am trying to compile moveit from the source. But when I try to compile `moveit_benchmark_gui`, I am getting a linker error as below.
```
[ 5%] Building CXX object CMakeFiles/moveit_benchmark_gui.dir/src/main_window.cpp.o
Linking CXX executable /home/lonewolf/workspace/ros/secondary_packages/devel_isolated/moveit_ros_benchmarks_gui/lib/moveit_ros_benchmarks_gui/moveit_benchmark_gui
CMakeFiles/moveit_benchmark_gui.dir/src/main_window.cpp.o: In function `benchmark_tool::MainWindow::updateGoalPoseMarkers(float, float)':
main_window.cpp:(.text+0x1167): undefined reference to `rviz::InteractiveMarker::update(float)'
main_window.cpp:(.text+0x11ab): undefined reference to `rviz::InteractiveMarker::update(float)'
main_window.cpp:(.text+0x11ca): undefined reference to `rviz::InteractiveMarker::update(float)'
main_window.cpp:(.text+0x11e9): undefined reference to `rviz::InteractiveMarker::update(float)'
CMakeFiles/moveit_benchmark_gui.dir/src/frame_marker.cpp.o: In function `benchmark_tool::FrameMarker::showDescription(std::__cxx11::basic_string, std::allocator> const&)':
frame_marker.cpp:(.text+0x5f6): undefined reference to `rviz::InteractiveMarker::processMessage(visualization_msgs::InteractiveMarker_> const&)'
frame_marker.cpp:(.text+0x645): undefined reference to `rviz::InteractiveMarker::setPose(Ogre::Vector3, Ogre::Quaternion, std::__cxx11::basic_string, std::allocator> const&)'
frame_marker.cpp:(.text+0x66a): undefined reference to `rviz::InteractiveMarker::setShowDescription(bool)'
CMakeFiles/moveit_benchmark_gui.dir/src/frame_marker.cpp.o: In function `benchmark_tool::FrameMarker::setColor(float, float, float, float)':
frame_marker.cpp:(.text+0x7cc): undefined reference to `rviz::InteractiveMarker::processMessage(visualization_msgs::InteractiveMarker_> const&)'
frame_marker.cpp:(.text+0x81b): undefined reference to `rviz::InteractiveMarker::setPose(Ogre::Vector3, Ogre::Quaternion, std::__cxx11::basic_string, std::allocator> const&)'
CMakeFiles/moveit_benchmark_gui.dir/src/frame_marker.cpp.o: In function `benchmark_tool::FrameMarker::setPose(Eigen::Transform&)':
frame_marker.cpp:(.text+0x1535): undefined reference to `rviz::InteractiveMarker::setPose(Ogre::Vector3, Ogre::Quaternion, std::__cxx11::basic_string, std::allocator> const&)'
CMakeFiles/moveit_benchmark_gui.dir/src/frame_marker.cpp.o: In function `benchmark_tool::FrameMarker::buildFrom(std::__cxx11::basic_string, std::allocator> const&, std::__cxx11::basic_string, std::allocator> const&, geometry_msgs::Pose_> const&, double, std_msgs::ColorRGBA_> const&)':
frame_marker.cpp:(.text+0x1f11): undefined reference to `rviz::InteractiveMarker::InteractiveMarker(Ogre::SceneNode*, rviz::DisplayContext*)'
frame_marker.cpp:(.text+0x1f87): undefined reference to `rviz::InteractiveMarker::processMessage(visualization_msgs::InteractiveMarker_> const&)'
frame_marker.cpp:(.text+0x1f98): undefined reference to `rviz::InteractiveMarker::setShowVisualAids(bool)'
frame_marker.cpp:(.text+0x1fa6): undefined reference to `rviz::InteractiveMarker::setShowAxes(bool)'
frame_marker.cpp:(.text+0x1fb4): undefined reference to `rviz::InteractiveMarker::setShowDescription(bool)'
CMakeFiles/moveit_benchmark_gui.dir/src/frame_marker.cpp.o: In function `benchmark_tool::GripperMarker::buildFrom(std::__cxx11::basic_string, std::allocator> const&, std::__cxx11::basic_string, std::allocator> const&, geometry_msgs::Pose_> const&, double, std_msgs::ColorRGBA_> const&)':
frame_marker.cpp:(.text+0x382e): undefined reference to `rviz::InteractiveMarker::InteractiveMarker(Ogre::SceneNode*, rviz::DisplayContext*)'
frame_marker.cpp:(.text+0x38a2): undefined reference to `rviz::InteractiveMarker::processMessage(visualization_msgs::InteractiveMarker_> const&)'
frame_marker.cpp:(.text+0x38b0): undefined reference to `rviz::InteractiveMarker::setShowAxes(bool)'
frame_marker.cpp:(.text+0x38c1): undefined reference to `rviz::InteractiveMarker::setShowVisualAids(bool)'
frame_marker.cpp:(.text+0x38cf): undefined reference to `rviz::InteractiveMarker::setShowDescription(bool)'
frame_marker.cpp:(.text+0x39b9): undefined reference to `rviz::InteractiveMarker::setPose(Ogre::Vector3, Ogre::Quaternion, std::__cxx11::basic_string, std::allocator> const&)'
CMakeFiles/moveit_benchmark_gui.dir/src/frame_marker.cpp.o: In function `benchmark_tool::FrameMarker::hideDescription()':
frame_marker.cpp:(.text+0x27a): undefined reference to `rviz::InteractiveMarker::setShowDescription(bool)'
CMakeFiles/moveit_benchmark_gui.dir/src/frame_marker.cpp.o: In function `benchmark_tool::FrameMarker::updateMarker()':
frame_marker.cpp:(.text._ZN14benchmark_tool11FrameMarker12updateMarkerEv[_ZN14benchmark_tool11FrameMarker12updateMarkerEv]+0xc): undefined reference to `rviz::InteractiveMarker::processMessage(visualization_msgs::InteractiveMarker_> const&)'
CMakeFiles/moveit_benchmark_gui.dir/src/trajectory.cpp.o: In function `benchmark_tool::Trajectory::trajectoryMarkerFeedback(visualization_msgs::InteractiveMarkerFeedback_>&)':
trajectory.cpp:(.text+0x1765): undefined reference to `rviz::InteractiveMarker::setPose(Ogre::Vector3, Ogre::Quaternion, std::__cxx11::basic_string, std::allocator> const&)'
CMakeFiles/moveit_benchmark_gui.dir/src/trajectory.cpp.o: In function `benchmark_tool::Trajectory::rebuildWayPointMarkers()':
trajectory.cpp:(.text+0x2eb8): undefined reference to `rviz::InteractiveMarker::setPose(Ogre::Vector3, Ogre::Quaternion, std::__cxx11::basic_string, std::allocator> const&)'
CMakeFiles/moveit_benchmark_gui.dir/src/tab_states_and_goals.cpp.o: In function `benchmark_tool::MainWindow::goalPoseFeedback(visualization_msgs::InteractiveMarkerFeedback_>&)':
tab_states_and_goals.cpp:(.text+0xe467): undefined reference to `rviz::InteractiveMarker::setPose(Ogre::Vector3, Ogre::Quaternion, std::__cxx11::basic_string, std::allocator> const&)'
collect2: error: ld returned 1 exit status
CMakeFiles/moveit_benchmark_gui.dir/build.make:538: recipe for target '/home/lonewolf/workspace/ros/secondary_packages/devel_isolated/moveit_ros_benchmarks_gui/lib/moveit_ros_benchmarks_gui/moveit_benchmark_gui' failed
make[2]: *** [/home/lonewolf/workspace/ros/secondary_packages/devel_isolated/moveit_ros_benchmarks_gui/lib/moveit_ros_benchmarks_gui/moveit_benchmark_gui] Error 1
CMakeFiles/Makefile2:680: recipe for target 'CMakeFiles/moveit_benchmark_gui.dir/all' failed
make[1]: *** [CMakeFiles/moveit_benchmark_gui.dir/all] Error 2
Makefile:126: recipe for target 'all' failed
make: *** [all] Error 2<== Failed to process package 'moveit_ros_benchmarks_gui':
Command '['/home/lonewolf/workspace/ros/secondary_packages/install_isolated/env.sh', 'make', '-j4', '-l4']' returned non-zero exit status 2
```
But I have both the rviz and InteractiveMarkers packages installed.
↧