ros-visualization/visualization_tutorials

rviz_plugin_tutorials: Linkedit errors for Hydro on OS X

wjwwood opened this issue · 2 comments

When building the Hydro version on OS X I get:

==> Processing catkin package: 'rviz_plugin_tutorials'
==> Creating build directory: 'build_isolated/rviz_plugin_tutorials'
==> Building with env: '/Users/william/hydro/install_isolated/env.sh'
==> cmake /Users/william/hydro/src/rviz_plugin_tutorials -DCATKIN_DEVEL_PREFIX=/Users/william/hydro/devel_isolated/rviz_plugin_tutorials -DCMAKE_INSTALL_PREFIX=/Users/william/hydro/install_isolated in '/Users/william/hydro/build_isolated/rviz_plugin_tutorials'
-- The C compiler identification is Clang 4.2.0
-- The CXX compiler identification is Clang 4.2.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Using CATKIN_DEVEL_PREFIX: /Users/william/hydro/devel_isolated/rviz_plugin_tutorials
-- Using CMAKE_PREFIX_PATH: /Users/william/hydro/install_isolated
-- This workspace overlays: /Users/william/hydro/install_isolated
-- Found PythonInterp: /usr/bin/python (found version "2.7.2")
-- Using default Python package layout
-- Found PY_em: /Library/Python/2.7/site-packages/em.pyc
-- Using CATKIN_ENABLE_TESTING: ON
-- Using CATKIN_TEST_RESULTS_DIR: /Users/william/hydro/build_isolated/rviz_plugin_tutorials/test_results
-- Found gtest: gtests will be built
-- catkin 0.5.70
-- Looking for Q_WS_X11
-- Looking for Q_WS_X11 - not found
-- Looking for Q_WS_WIN
-- Looking for Q_WS_WIN - not found
-- Looking for Q_WS_QWS
-- Looking for Q_WS_QWS - not found
-- Looking for Q_WS_MAC
-- Looking for Q_WS_MAC - found
-- Looking for QT_MAC_USE_COCOA
-- Looking for QT_MAC_USE_COCOA - found
-- Found Qt4: /usr/local/bin/qmake (found version "4.8.4")
-- Configuring done
-- Generating done
-- Build files have been written to: /Users/william/hydro/build_isolated/rviz_plugin_tutorials
==> make -j4 -l4 in '/Users/william/hydro/build_isolated/rviz_plugin_tutorials'
[  7%] [ 15%] [ 23%] [ 30%] Generating src/moc_teleop_panel.cxx
Generating src/moc_drive_widget.cxx
Generating src/moc_plant_flag_tool.cxx
Generating src/moc_imu_display.cxx
Scanning dependencies of target rviz_plugin_tutorials
[ 38%] [ 46%] [ 53%] [ 61%] Building CXX object CMakeFiles/rviz_plugin_tutorials.dir/src/drive_widget.cpp.o
Building CXX object CMakeFiles/rviz_plugin_tutorials.dir/src/imu_visual.cpp.o
Building CXX object CMakeFiles/rviz_plugin_tutorials.dir/src/imu_display.cpp.o
Building CXX object CMakeFiles/rviz_plugin_tutorials.dir/src/plant_flag_tool.cpp.o
[ 69%] Building CXX object CMakeFiles/rviz_plugin_tutorials.dir/src/teleop_panel.cpp.o
[ 76%] Building CXX object CMakeFiles/rviz_plugin_tutorials.dir/src/moc_drive_widget.cxx.o
[ 84%] Building CXX object CMakeFiles/rviz_plugin_tutorials.dir/src/moc_imu_display.cxx.o
[ 92%] Building CXX object CMakeFiles/rviz_plugin_tutorials.dir/src/moc_plant_flag_tool.cxx.o
[100%] Building CXX object CMakeFiles/rviz_plugin_tutorials.dir/src/moc_teleop_panel.cxx.o
Linking CXX shared library /Users/william/hydro/devel_isolated/rviz_plugin_tutorials/lib/librviz_plugin_tutorials.dylib
Undefined symbols for architecture x86_64:
  "class_loader::class_loader_private::AbstractMetaObjectBase::addOwningClassLoader(class_loader::ClassLoader*)", referenced from:
      void class_loader::class_loader_private::registerPlugin<rviz_plugin_tutorials::ImuDisplay, rviz::Display>(std::string const&, std::string const&) in imu_display.cpp.o
      void class_loader::class_loader_private::registerPlugin<rviz_plugin_tutorials::PlantFlagTool, rviz::Tool>(std::string const&, std::string const&) in plant_flag_tool.cpp.o
      void class_loader::class_loader_private::registerPlugin<rviz_plugin_tutorials::TeleopPanel, rviz::Panel>(std::string const&, std::string const&) in teleop_panel.cpp.o
  "class_loader::class_loader_private::AbstractMetaObjectBase::setAssociatedLibraryPath(std::string)", referenced from:
      void class_loader::class_loader_private::registerPlugin<rviz_plugin_tutorials::ImuDisplay, rviz::Display>(std::string const&, std::string const&) in imu_display.cpp.o
      void class_loader::class_loader_private::registerPlugin<rviz_plugin_tutorials::PlantFlagTool, rviz::Tool>(std::string const&, std::string const&) in plant_flag_tool.cpp.o
      void class_loader::class_loader_private::registerPlugin<rviz_plugin_tutorials::TeleopPanel, rviz::Panel>(std::string const&, std::string const&) in teleop_panel.cpp.o
  "class_loader::class_loader_private::AbstractMetaObjectBase::AbstractMetaObjectBase(std::string const&, std::string const&)", referenced from:
      class_loader::class_loader_private::AbstractMetaObject<rviz::Display>::AbstractMetaObject(std::string const&, std::string const&) in imu_display.cpp.o
      class_loader::class_loader_private::AbstractMetaObject<rviz::Tool>::AbstractMetaObject(std::string const&, std::string const&) in plant_flag_tool.cpp.o
      class_loader::class_loader_private::AbstractMetaObject<rviz::Panel>::AbstractMetaObject(std::string const&, std::string const&) in teleop_panel.cpp.o
  "class_loader::class_loader_private::AbstractMetaObjectBase::~AbstractMetaObjectBase()", referenced from:
      class_loader::class_loader_private::AbstractMetaObject<rviz::Display>::AbstractMetaObject(std::string const&, std::string const&) in imu_display.cpp.o
      class_loader::class_loader_private::AbstractMetaObject<rviz::Tool>::AbstractMetaObject(std::string const&, std::string const&) in plant_flag_tool.cpp.o
      class_loader::class_loader_private::AbstractMetaObject<rviz::Panel>::AbstractMetaObject(std::string const&, std::string const&) in teleop_panel.cpp.o
  "class_loader::class_loader_private::getFactoryMapForBaseClass(std::string const&)", referenced from:
      std::map<std::string, class_loader::class_loader_private::AbstractMetaObjectBase*, std::less<std::string>, std::allocator<std::pair<std::string const, class_loader::class_loader_private::AbstractMetaObjectBase*> > >& class_loader::class_loader_private::getFactoryMapForBaseClass<rviz::Display>() in imu_display.cpp.o
      std::map<std::string, class_loader::class_loader_private::AbstractMetaObjectBase*, std::less<std::string>, std::allocator<std::pair<std::string const, class_loader::class_loader_private::AbstractMetaObjectBase*> > >& class_loader::class_loader_private::getFactoryMapForBaseClass<rviz::Tool>() in plant_flag_tool.cpp.o
      std::map<std::string, class_loader::class_loader_private::AbstractMetaObjectBase*, std::less<std::string>, std::allocator<std::pair<std::string const, class_loader::class_loader_private::AbstractMetaObjectBase*> > >& class_loader::class_loader_private::getFactoryMapForBaseClass<rviz::Panel>() in teleop_panel.cpp.o
  "class_loader::class_loader_private::getCurrentlyActiveClassLoader()", referenced from:
      void class_loader::class_loader_private::registerPlugin<rviz_plugin_tutorials::ImuDisplay, rviz::Display>(std::string const&, std::string const&) in imu_display.cpp.o
      void class_loader::class_loader_private::registerPlugin<rviz_plugin_tutorials::PlantFlagTool, rviz::Tool>(std::string const&, std::string const&) in plant_flag_tool.cpp.o
      void class_loader::class_loader_private::registerPlugin<rviz_plugin_tutorials::TeleopPanel, rviz::Panel>(std::string const&, std::string const&) in teleop_panel.cpp.o
  "class_loader::class_loader_private::getCurrentlyLoadingLibraryName()", referenced from:
      void class_loader::class_loader_private::registerPlugin<rviz_plugin_tutorials::ImuDisplay, rviz::Display>(std::string const&, std::string const&) in imu_display.cpp.o
      void class_loader::class_loader_private::registerPlugin<rviz_plugin_tutorials::PlantFlagTool, rviz::Tool>(std::string const&, std::string const&) in plant_flag_tool.cpp.o
      void class_loader::class_loader_private::registerPlugin<rviz_plugin_tutorials::TeleopPanel, rviz::Panel>(std::string const&, std::string const&) in teleop_panel.cpp.o
  "class_loader::class_loader_private::getPluginBaseToFactoryMapMapMutex()", referenced from:
      void class_loader::class_loader_private::registerPlugin<rviz_plugin_tutorials::ImuDisplay, rviz::Display>(std::string const&, std::string const&) in imu_display.cpp.o
      void class_loader::class_loader_private::registerPlugin<rviz_plugin_tutorials::PlantFlagTool, rviz::Tool>(std::string const&, std::string const&) in plant_flag_tool.cpp.o
      void class_loader::class_loader_private::registerPlugin<rviz_plugin_tutorials::TeleopPanel, rviz::Panel>(std::string const&, std::string const&) in teleop_panel.cpp.o
  "class_loader::class_loader_private::hasANonPurePluginLibraryBeenOpened(bool)", referenced from:
      void class_loader::class_loader_private::registerPlugin<rviz_plugin_tutorials::ImuDisplay, rviz::Display>(std::string const&, std::string const&) in imu_display.cpp.o
      void class_loader::class_loader_private::registerPlugin<rviz_plugin_tutorials::PlantFlagTool, rviz::Tool>(std::string const&, std::string const&) in plant_flag_tool.cpp.o
      void class_loader::class_loader_private::registerPlugin<rviz_plugin_tutorials::TeleopPanel, rviz::Panel>(std::string const&, std::string const&) in teleop_panel.cpp.o
  "console_bridge::log(char const*, int, console_bridge::LogLevel, char const*, ...)", referenced from:
      (anonymous namespace)::ProxyExec0::ProxyExec0() in imu_display.cpp.o
      void class_loader::class_loader_private::registerPlugin<rviz_plugin_tutorials::ImuDisplay, rviz::Display>(std::string const&, std::string const&) in imu_display.cpp.o
      (anonymous namespace)::ProxyExec0::ProxyExec0() in plant_flag_tool.cpp.o
      void class_loader::class_loader_private::registerPlugin<rviz_plugin_tutorials::PlantFlagTool, rviz::Tool>(std::string const&, std::string const&) in plant_flag_tool.cpp.o
      (anonymous namespace)::ProxyExec0::ProxyExec0() in teleop_panel.cpp.o
      void class_loader::class_loader_private::registerPlugin<rviz_plugin_tutorials::TeleopPanel, rviz::Panel>(std::string const&, std::string const&) in teleop_panel.cpp.o
  "message_filters::Connection::disconnect()", referenced from:
      void tf::MessageFilter<sensor_msgs::Imu_<std::allocator<void> > >::connectInput<message_filters::Subscriber<sensor_msgs::Imu_<std::allocator<void> > > >(message_filters::Subscriber<sensor_msgs::Imu_<std::allocator<void> > >&) in imu_display.cpp.o
      tf::MessageFilter<sensor_msgs::Imu_<std::allocator<void> > >::~MessageFilter() in imu_display.cpp.o
  "message_filters::Connection::Connection(boost::function<void (message_filters::Connection const&)> const&, boost::signals::connection)", referenced from:
      tf::MessageFilter<sensor_msgs::Imu_<std::allocator<void> > >::registerFailureCallback(boost::function<void (boost::shared_ptr<sensor_msgs::Imu_<std::allocator<void> > const> const&, tf::filter_failure_reasons::FilterFailureReason)> const&) in imu_display.cpp.o
  "message_filters::Connection::Connection(boost::function<void ()> const&)", referenced from:
      message_filters::Connection message_filters::SimpleFilter<sensor_msgs::Imu_<std::allocator<void> > >::registerCallback<boost::_bi::bind_t<void, boost::_mfi::mf1<void, rviz::MessageFilterDisplay<sensor_msgs::Imu_<std::allocator<void> > >, boost::shared_ptr<sensor_msgs::Imu_<std::allocator<void> > const> const&>, boost::_bi::list2<boost::_bi::value<rviz::MessageFilterDisplay<sensor_msgs::Imu_<std::allocator<void> > >*>, boost::arg<1> > > >(boost::_bi::bind_t<void, boost::_mfi::mf1<void, rviz::MessageFilterDisplay<sensor_msgs::Imu_<std::allocator<void> > >, boost::shared_ptr<sensor_msgs::Imu_<std::allocator<void> > const> const&>, boost::_bi::list2<boost::_bi::value<rviz::MessageFilterDisplay<sensor_msgs::Imu_<std::allocator<void> > >*>, boost::arg<1> > > const&) in imu_display.cpp.o
      message_filters::Connection message_filters::SimpleFilter<sensor_msgs::Imu_<std::allocator<void> > >::registerCallback<boost::_bi::bind_t<void, boost::_mfi::mf2<void, rviz::FrameManager, boost::shared_ptr<sensor_msgs::Imu_<std::allocator<void> > const> const&, rviz::Display*>, boost::_bi::list3<boost::_bi::value<rviz::FrameManager*>, boost::arg<1>, boost::_bi::value<rviz::Display*> > > >(boost::_bi::bind_t<void, boost::_mfi::mf2<void, rviz::FrameManager, boost::shared_ptr<sensor_msgs::Imu_<std::allocator<void> > const> const&, rviz::Display*>, boost::_bi::list3<boost::_bi::value<rviz::FrameManager*>, boost::arg<1>, boost::_bi::value<rviz::Display*> > > const&) in imu_display.cpp.o
      message_filters::Connection message_filters::SimpleFilter<sensor_msgs::Imu_<std::allocator<void> > >::registerCallback<tf::MessageFilter<sensor_msgs::Imu_<std::allocator<void> > >, ros::MessageEvent<sensor_msgs::Imu_<std::allocator<void> > const> const&>(void (tf::MessageFilter<sensor_msgs::Imu_<std::allocator<void> > >::*)(ros::MessageEvent<sensor_msgs::Imu_<std::allocator<void> > const> const&), tf::MessageFilter<sensor_msgs::Imu_<std::allocator<void> > >*) in imu_display.cpp.o
  "tf::Transformer::addTransformsChangedListener(boost::function<void ()>)", referenced from:
      tf::MessageFilter<sensor_msgs::Imu_<std::allocator<void> > >::init() in imu_display.cpp.o
  "tf::Transformer::removeTransformsChangedListener(boost::signals::connection)", referenced from:
      tf::MessageFilter<sensor_msgs::Imu_<std::allocator<void> > >::~MessageFilter() in imu_display.cpp.o
  "ros::NodeHandle::advertise(ros::AdvertiseOptions&)", referenced from:
      ros::Publisher ros::NodeHandle::advertise<geometry_msgs::Twist_<std::allocator<void> > >(std::string const&, unsigned int, bool) in teleop_panel.cpp.o
  "ros::NodeHandle::subscribe(ros::SubscribeOptions&)", referenced from:
      message_filters::Subscriber<sensor_msgs::Imu_<std::allocator<void> > >::subscribe(ros::NodeHandle&, std::string const&, unsigned int, ros::TransportHints const&, ros::CallbackQueueInterface*) in imu_display.cpp.o
      message_filters::Subscriber<sensor_msgs::Imu_<std::allocator<void> > >::subscribe() in imu_display.cpp.o
      message_filters::Subscriber<sensor_msgs::Imu_<std::allocator<void> > >::subscribe(ros::NodeHandle&, std::string const&, unsigned int, ros::TransportHints const&, ros::CallbackQueueInterface*) in moc_imu_display.cxx.o
  "ros::NodeHandle::NodeHandle(ros::NodeHandle const&)", referenced from:
      rviz::MessageFilterDisplay<sensor_msgs::Imu_<std::allocator<void> > >::onInitialize() in imu_display.cpp.o
      tf::MessageFilter<sensor_msgs::Imu_<std::allocator<void> > >::MessageFilter(tf::Transformer&, std::string const&, unsigned int, ros::NodeHandle, ros::Duration) in imu_display.cpp.o
  "ros::NodeHandle::NodeHandle(std::string const&, std::map<std::string, std::string, std::less<std::string>, std::allocator<std::pair<std::string const, std::string> > > const&)", referenced from:
      message_filters::Subscriber<sensor_msgs::Imu_<std::allocator<void> > >::Subscriber() in imu_display.cpp.o
      rviz_plugin_tutorials::TeleopPanel::TeleopPanel(QWidget*) in teleop_panel.cpp.o
  "ros::NodeHandle::~NodeHandle()", referenced from:
      rviz::MessageFilterDisplay<sensor_msgs::Imu_<std::allocator<void> > >::onInitialize() in imu_display.cpp.o
      tf::MessageFilter<sensor_msgs::Imu_<std::allocator<void> > >::MessageFilter(tf::Transformer&, std::string const&, unsigned int, ros::NodeHandle, ros::Duration) in imu_display.cpp.o
      tf::MessageFilter<sensor_msgs::Imu_<std::allocator<void> > >::~MessageFilter() in imu_display.cpp.o
      message_filters::Subscriber<sensor_msgs::Imu_<std::allocator<void> > >::~Subscriber() in imu_display.cpp.o
      rviz_plugin_tutorials::TeleopPanel::TeleopPanel(QWidget*) in teleop_panel.cpp.o
      rviz_plugin_tutorials::TeleopPanel::~TeleopPanel() in moc_teleop_panel.cxx.o
  "ros::NodeHandle::operator=(ros::NodeHandle const&)", referenced from:
      message_filters::Subscriber<sensor_msgs::Imu_<std::allocator<void> > >::subscribe(ros::NodeHandle&, std::string const&, unsigned int, ros::TransportHints const&, ros::CallbackQueueInterface*) in imu_display.cpp.o
      message_filters::Subscriber<sensor_msgs::Imu_<std::allocator<void> > >::subscribe(ros::NodeHandle&, std::string const&, unsigned int, ros::TransportHints const&, ros::CallbackQueueInterface*) in moc_imu_display.cxx.o
  "ros::Subscriber::shutdown()", referenced from:
      message_filters::Subscriber<sensor_msgs::Imu_<std::allocator<void> > >::unsubscribe() in imu_display.cpp.o
      message_filters::Subscriber<sensor_msgs::Imu_<std::allocator<void> > >::unsubscribe() in moc_imu_display.cxx.o
  "ros::Subscriber::~Subscriber()", referenced from:
      message_filters::Subscriber<sensor_msgs::Imu_<std::allocator<void> > >::subscribe(ros::NodeHandle&, std::string const&, unsigned int, ros::TransportHints const&, ros::CallbackQueueInterface*) in imu_display.cpp.o
      message_filters::Subscriber<sensor_msgs::Imu_<std::allocator<void> > >::~Subscriber() in imu_display.cpp.o
      message_filters::Subscriber<sensor_msgs::Imu_<std::allocator<void> > >::subscribe() in imu_display.cpp.o
      message_filters::Subscriber<sensor_msgs::Imu_<std::allocator<void> > >::Subscriber() in imu_display.cpp.o
      message_filters::Subscriber<sensor_msgs::Imu_<std::allocator<void> > >::subscribe(ros::NodeHandle&, std::string const&, unsigned int, ros::TransportHints const&, ros::CallbackQueueInterface*) in moc_imu_display.cxx.o
  "ros::DurationBase<ros::Duration>::fromSec(double)", referenced from:
      ros::Duration::Duration(double) in imu_display.cpp.o
  "ros::serialization::throwStreamOverrun()", referenced from:
      void ros::serialization::Serializer<double>::read<ros::serialization::IStream>(ros::serialization::IStream&, double&) in imu_display.cpp.o
      void ros::serialization::ArraySerializer<double, 9ul, void>::read<ros::serialization::IStream>(ros::serialization::IStream&, boost::array<double, 9ul>&) in imu_display.cpp.o
      void ros::serialization::Serializer<std::string>::read<ros::serialization::IStream>(ros::serialization::IStream&, std::string&) in imu_display.cpp.o
      void ros::serialization::Serializer<unsigned int>::read<ros::serialization::IStream>(ros::serialization::IStream&, unsigned int&) in imu_display.cpp.o
      void ros::serialization::Serializer<double>::write<ros::serialization::OStream>(ros::serialization::OStream&, double) in teleop_panel.cpp.o
      void ros::serialization::Serializer<unsigned int>::write<ros::serialization::OStream>(ros::serialization::OStream&, unsigned int) in teleop_panel.cpp.o
      void ros::serialization::Serializer<double>::read<ros::serialization::IStream>(ros::serialization::IStream&, double&) in moc_imu_display.cxx.o
      ...
  "ros::ok()", referenced from:
      rviz_plugin_tutorials::TeleopPanel::sendVel() in teleop_panel.cpp.o
  "ros::Time::now()", referenced from:
      tf::MessageFilter<sensor_msgs::Imu_<std::allocator<void> > >::checkFailures() in imu_display.cpp.o
  "ros::Timer::~Timer()", referenced from:
      tf::MessageFilter<sensor_msgs::Imu_<std::allocator<void> > >::MessageFilter(tf::Transformer&, std::string const&, unsigned int, ros::NodeHandle, ros::Duration) in imu_display.cpp.o
      tf::MessageFilter<sensor_msgs::Imu_<std::allocator<void> > >::init() in imu_display.cpp.o
      tf::MessageFilter<sensor_msgs::Imu_<std::allocator<void> > >::~MessageFilter() in imu_display.cpp.o
  "ros::console::initialize()", referenced from:
      rviz_plugin_tutorials::ImuDisplay::processMessage(boost::shared_ptr<sensor_msgs::Imu_<std::allocator<void> > const> const&) in imu_display.cpp.o
      tf::MessageFilter<sensor_msgs::Imu_<std::allocator<void> > >::add(ros::MessageEvent<sensor_msgs::Imu_<std::allocator<void> > const> const&) in imu_display.cpp.o
      tf::MessageFilter<sensor_msgs::Imu_<std::allocator<void> > >::testMessages() in imu_display.cpp.o
      tf::MessageFilter<sensor_msgs::Imu_<std::allocator<void> > >::testMessage(ros::MessageEvent<sensor_msgs::Imu_<std::allocator<void> > const> const&) in imu_display.cpp.o
      tf::MessageFilter<sensor_msgs::Imu_<std::allocator<void> > >::clear() in imu_display.cpp.o
      tf::MessageFilter<sensor_msgs::Imu_<std::allocator<void> > >::~MessageFilter() in imu_display.cpp.o
      tf::MessageFilter<sensor_msgs::Imu_<std::allocator<void> > >::checkFailures() in imu_display.cpp.o
      ...
  "ros::console::g_initialized", referenced from:
      rviz_plugin_tutorials::ImuDisplay::processMessage(boost::shared_ptr<sensor_msgs::Imu_<std::allocator<void> > const> const&) in imu_display.cpp.o
      tf::MessageFilter<sensor_msgs::Imu_<std::allocator<void> > >::add(ros::MessageEvent<sensor_msgs::Imu_<std::allocator<void> > const> const&) in imu_display.cpp.o
      tf::MessageFilter<sensor_msgs::Imu_<std::allocator<void> > >::testMessages() in imu_display.cpp.o
      tf::MessageFilter<sensor_msgs::Imu_<std::allocator<void> > >::testMessage(ros::MessageEvent<sensor_msgs::Imu_<std::allocator<void> > const> const&) in imu_display.cpp.o
      tf::MessageFilter<sensor_msgs::Imu_<std::allocator<void> > >::clear() in imu_display.cpp.o
      tf::MessageFilter<sensor_msgs::Imu_<std::allocator<void> > >::~MessageFilter() in imu_display.cpp.o
      tf::MessageFilter<sensor_msgs::Imu_<std::allocator<void> > >::checkFailures() in imu_display.cpp.o
      ...
  "ros::console::setLogLocationLevel(ros::console::LogLocation*, ros::console::levels::Level)", referenced from:
      rviz_plugin_tutorials::ImuDisplay::processMessage(boost::shared_ptr<sensor_msgs::Imu_<std::allocator<void> > const> const&) in imu_display.cpp.o
      tf::MessageFilter<sensor_msgs::Imu_<std::allocator<void> > >::add(ros::MessageEvent<sensor_msgs::Imu_<std::allocator<void> > const> const&) in imu_display.cpp.o
      tf::MessageFilter<sensor_msgs::Imu_<std::allocator<void> > >::testMessages() in imu_display.cpp.o
      tf::MessageFilter<sensor_msgs::Imu_<std::allocator<void> > >::testMessage(ros::MessageEvent<sensor_msgs::Imu_<std::allocator<void> > const> const&) in imu_display.cpp.o
      tf::MessageFilter<sensor_msgs::Imu_<std::allocator<void> > >::clear() in imu_display.cpp.o
      tf::MessageFilter<sensor_msgs::Imu_<std::allocator<void> > >::~MessageFilter() in imu_display.cpp.o
      tf::MessageFilter<sensor_msgs::Imu_<std::allocator<void> > >::checkFailures() in imu_display.cpp.o
      ...
  "ros::console::initializeLogLocation(ros::console::LogLocation*, std::string const&, ros::console::levels::Level)", referenced from:
      rviz_plugin_tutorials::ImuDisplay::processMessage(boost::shared_ptr<sensor_msgs::Imu_<std::allocator<void> > const> const&) in imu_display.cpp.o
      tf::MessageFilter<sensor_msgs::Imu_<std::allocator<void> > >::add(ros::MessageEvent<sensor_msgs::Imu_<std::allocator<void> > const> const&) in imu_display.cpp.o
      tf::MessageFilter<sensor_msgs::Imu_<std::allocator<void> > >::testMessages() in imu_display.cpp.o
      tf::MessageFilter<sensor_msgs::Imu_<std::allocator<void> > >::testMessage(ros::MessageEvent<sensor_msgs::Imu_<std::allocator<void> > const> const&) in imu_display.cpp.o
      tf::MessageFilter<sensor_msgs::Imu_<std::allocator<void> > >::clear() in imu_display.cpp.o
      tf::MessageFilter<sensor_msgs::Imu_<std::allocator<void> > >::~MessageFilter() in imu_display.cpp.o
      tf::MessageFilter<sensor_msgs::Imu_<std::allocator<void> > >::checkFailures() in imu_display.cpp.o
      ...
  "ros::console::checkLogLocationEnabled(ros::console::LogLocation*)", referenced from:
      rviz_plugin_tutorials::ImuDisplay::processMessage(boost::shared_ptr<sensor_msgs::Imu_<std::allocator<void> > const> const&) in imu_display.cpp.o
      tf::MessageFilter<sensor_msgs::Imu_<std::allocator<void> > >::add(ros::MessageEvent<sensor_msgs::Imu_<std::allocator<void> > const> const&) in imu_display.cpp.o
      tf::MessageFilter<sensor_msgs::Imu_<std::allocator<void> > >::testMessages() in imu_display.cpp.o
      tf::MessageFilter<sensor_msgs::Imu_<std::allocator<void> > >::testMessage(ros::MessageEvent<sensor_msgs::Imu_<std::allocator<void> > const> const&) in imu_display.cpp.o
      tf::MessageFilter<sensor_msgs::Imu_<std::allocator<void> > >::clear() in imu_display.cpp.o
      tf::MessageFilter<sensor_msgs::Imu_<std::allocator<void> > >::~MessageFilter() in imu_display.cpp.o
      tf::MessageFilter<sensor_msgs::Imu_<std::allocator<void> > >::checkFailures() in imu_display.cpp.o
      ...
  "ros::console::print(ros::console::FilterBase*, log4cxx::Logger*, ros::console::levels::Level, char const*, int, char const*, char const*, ...)", referenced from:
      rviz_plugin_tutorials::ImuDisplay::processMessage(boost::shared_ptr<sensor_msgs::Imu_<std::allocator<void> > const> const&) in imu_display.cpp.o
      tf::MessageFilter<sensor_msgs::Imu_<std::allocator<void> > >::add(ros::MessageEvent<sensor_msgs::Imu_<std::allocator<void> > const> const&) in imu_display.cpp.o
      tf::MessageFilter<sensor_msgs::Imu_<std::allocator<void> > >::testMessages() in imu_display.cpp.o
      tf::MessageFilter<sensor_msgs::Imu_<std::allocator<void> > >::testMessage(ros::MessageEvent<sensor_msgs::Imu_<std::allocator<void> > const> const&) in imu_display.cpp.o
      tf::MessageFilter<sensor_msgs::Imu_<std::allocator<void> > >::clear() in imu_display.cpp.o
      tf::MessageFilter<sensor_msgs::Imu_<std::allocator<void> > >::~MessageFilter() in imu_display.cpp.o
      tf::MessageFilter<sensor_msgs::Imu_<std::allocator<void> > >::checkFailures() in imu_display.cpp.o
      ...
  "ros::Publisher::shutdown()", referenced from:
      rviz_plugin_tutorials::TeleopPanel::setTopic(QString const&) in teleop_panel.cpp.o
  "ros::Publisher::~Publisher()", referenced from:
      rviz_plugin_tutorials::TeleopPanel::TeleopPanel(QWidget*) in teleop_panel.cpp.o
      rviz_plugin_tutorials::TeleopPanel::setTopic(QString const&) in teleop_panel.cpp.o
      rviz_plugin_tutorials::TeleopPanel::~TeleopPanel() in moc_teleop_panel.cxx.o
  "boost::signals::connection::connection(boost::signals::connection const&)", referenced from:
      message_filters::Connection::getBoostConnection() const in imu_display.cpp.o
      tf::MessageFilter<sensor_msgs::Imu_<std::allocator<void> > >::~MessageFilter() in imu_display.cpp.o
  "boost::signals::connection::~connection()", referenced from:
      tf::MessageFilter<sensor_msgs::Imu_<std::allocator<void> > >::registerFailureCallback(boost::function<void (boost::shared_ptr<sensor_msgs::Imu_<std::allocator<void> > const> const&, tf::filter_failure_reasons::FilterFailureReason)> const&) in imu_display.cpp.o
      tf::MessageFilter<sensor_msgs::Imu_<std::allocator<void> > >::disconnectFailure(message_filters::Connection const&) in imu_display.cpp.o
      boost::signals::detail::slot_base::data_t::~data_t() in imu_display.cpp.o
      message_filters::Connection::~Connection() in imu_display.cpp.o
      tf::MessageFilter<sensor_msgs::Imu_<std::allocator<void> > >::MessageFilter(tf::Transformer&, std::string const&, unsigned int, ros::NodeHandle, ros::Duration) in imu_display.cpp.o
      tf::MessageFilter<sensor_msgs::Imu_<std::allocator<void> > >::init() in imu_display.cpp.o
      tf::MessageFilter<sensor_msgs::Imu_<std::allocator<void> > >::~MessageFilter() in imu_display.cpp.o
      ...
  "boost::signals::connection::operator=(boost::signals::connection const&)", referenced from:
      message_filters::Connection::operator=(message_filters::Connection const&) in imu_display.cpp.o
      tf::MessageFilter<sensor_msgs::Imu_<std::allocator<void> > >::init() in imu_display.cpp.o
  "boost::signals::detail::signal_base::signal_base(boost::function2<bool, boost::signals::detail::stored_group, boost::signals::detail::stored_group> const&, boost::any const&)", referenced from:
      boost::signal2<void, boost::shared_ptr<sensor_msgs::Imu_<std::allocator<void> > const> const&, tf::filter_failure_reasons::FilterFailureReason, boost::last_value<void>, int, std::less<int>, boost::function<void (boost::shared_ptr<sensor_msgs::Imu_<std::allocator<void> > const> const&, tf::filter_failure_reasons::FilterFailureReason)> >::signal2(boost::last_value<void> const&, std::less<int> const&) in imu_display.cpp.o
  "boost::signals::detail::signal_base::~signal_base()", referenced from:
      boost::signal2<void, boost::shared_ptr<sensor_msgs::Imu_<std::allocator<void> > const> const&, tf::filter_failure_reasons::FilterFailureReason, boost::last_value<void>, int, std::less<int>, boost::function<void (boost::shared_ptr<sensor_msgs::Imu_<std::allocator<void> > const> const&, tf::filter_failure_reasons::FilterFailureReason)> >::~signal2() in imu_display.cpp.o
      boost::signal2<void, boost::shared_ptr<sensor_msgs::Imu_<std::allocator<void> > const> const&, tf::filter_failure_reasons::FilterFailureReason, boost::last_value<void>, int, std::less<int>, boost::function<void (boost::shared_ptr<sensor_msgs::Imu_<std::allocator<void> > const> const&, tf::filter_failure_reasons::FilterFailureReason)> >::signal2(boost::last_value<void> const&, std::less<int> const&) in imu_display.cpp.o
  "boost::signals::detail::named_slot_map::end()", referenced from:
      boost::signal2<void, boost::shared_ptr<sensor_msgs::Imu_<std::allocator<void> > const> const&, tf::filter_failure_reasons::FilterFailureReason, boost::last_value<void>, int, std::less<int>, boost::function<void (boost::shared_ptr<sensor_msgs::Imu_<std::allocator<void> > const> const&, tf::filter_failure_reasons::FilterFailureReason)> >::operator()(boost::shared_ptr<sensor_msgs::Imu_<std::allocator<void> > const> const&, tf::filter_failure_reasons::FilterFailureReason) in imu_display.cpp.o
  "boost::signals::detail::named_slot_map::begin()", referenced from:
      boost::signal2<void, boost::shared_ptr<sensor_msgs::Imu_<std::allocator<void> > const> const&, tf::filter_failure_reasons::FilterFailureReason, boost::last_value<void>, int, std::less<int>, boost::function<void (boost::shared_ptr<sensor_msgs::Imu_<std::allocator<void> > const> const&, tf::filter_failure_reasons::FilterFailureReason)> >::operator()(boost::shared_ptr<sensor_msgs::Imu_<std::allocator<void> > const> const&, tf::filter_failure_reasons::FilterFailureReason) in imu_display.cpp.o
  "boost::signals::detail::signal_base_impl::connect_slot(boost::any const&, boost::signals::detail::stored_group const&, boost::shared_ptr<boost::signals::detail::slot_base::data_t>, boost::signals::connect_position)", referenced from:
      boost::signal2<void, boost::shared_ptr<sensor_msgs::Imu_<std::allocator<void> > const> const&, tf::filter_failure_reasons::FilterFailureReason, boost::last_value<void>, int, std::less<int>, boost::function<void (boost::shared_ptr<sensor_msgs::Imu_<std::allocator<void> > const> const&, tf::filter_failure_reasons::FilterFailureReason)> >::connect(boost::slot<boost::function<void (boost::shared_ptr<sensor_msgs::Imu_<std::allocator<void> > const> const&, tf::filter_failure_reasons::FilterFailureReason)> > const&, boost::signals::connect_position) in imu_display.cpp.o
  "boost::signals::detail::call_notification::call_notification(boost::shared_ptr<boost::signals::detail::signal_base_impl> const&)", referenced from:
      boost::signal2<void, boost::shared_ptr<sensor_msgs::Imu_<std::allocator<void> > const> const&, tf::filter_failure_reasons::FilterFailureReason, boost::last_value<void>, int, std::less<int>, boost::function<void (boost::shared_ptr<sensor_msgs::Imu_<std::allocator<void> > const> const&, tf::filter_failure_reasons::FilterFailureReason)> >::operator()(boost::shared_ptr<sensor_msgs::Imu_<std::allocator<void> > const> const&, tf::filter_failure_reasons::FilterFailureReason) in imu_display.cpp.o
  "boost::signals::detail::call_notification::~call_notification()", referenced from:
      boost::signal2<void, boost::shared_ptr<sensor_msgs::Imu_<std::allocator<void> > const> const&, tf::filter_failure_reasons::FilterFailureReason, boost::last_value<void>, int, std::less<int>, boost::function<void (boost::shared_ptr<sensor_msgs::Imu_<std::allocator<void> > const> const&, tf::filter_failure_reasons::FilterFailureReason)> >::operator()(boost::shared_ptr<sensor_msgs::Imu_<std::allocator<void> > const> const&, tf::filter_failure_reasons::FilterFailureReason) in imu_display.cpp.o
  "boost::signals::detail::slot_base::create_connection()", referenced from:
      boost::slot<boost::function<void (boost::shared_ptr<sensor_msgs::Imu_<std::allocator<void> > const> const&, tf::filter_failure_reasons::FilterFailureReason)> >::slot<boost::function<void (boost::shared_ptr<sensor_msgs::Imu_<std::allocator<void> > const> const&, tf::filter_failure_reasons::FilterFailureReason)> >(boost::function<void (boost::shared_ptr<sensor_msgs::Imu_<std::allocator<void> > const> const&, tf::filter_failure_reasons::FilterFailureReason)> const&) in imu_display.cpp.o
  "boost::signals::trackable::~trackable()", referenced from:
      boost::signal2<void, boost::shared_ptr<sensor_msgs::Imu_<std::allocator<void> > const> const&, tf::filter_failure_reasons::FilterFailureReason, boost::last_value<void>, int, std::less<int>, boost::function<void (boost::shared_ptr<sensor_msgs::Imu_<std::allocator<void> > const> const&, tf::filter_failure_reasons::FilterFailureReason)> >::~signal2() in imu_display.cpp.o
  "tf::Transformer::canTransform(std::string const&, std::string const&, ros::Time const&, std::string*) const", referenced from:
      tf::MessageFilter<sensor_msgs::Imu_<std::allocator<void> > >::testMessage(ros::MessageEvent<sensor_msgs::Imu_<std::allocator<void> > const> const&) in imu_display.cpp.o
  "tf::Transformer::getLatestCommonTime(std::string const&, std::string const&, ros::Time&, std::string*) const", referenced from:
      tf::MessageFilter<sensor_msgs::Imu_<std::allocator<void> > >::testMessage(ros::MessageEvent<sensor_msgs::Imu_<std::allocator<void> > const> const&) in imu_display.cpp.o
  "ros::NodeHandle::createTimer(ros::Duration, boost::function<void (ros::TimerEvent const&)> const&, bool, bool) const", referenced from:
      ros::Timer ros::NodeHandle::createTimer<tf::MessageFilter<sensor_msgs::Imu_<std::allocator<void> > > >(ros::Duration, void (tf::MessageFilter<sensor_msgs::Imu_<std::allocator<void> > >::*)(ros::TimerEvent const&), tf::MessageFilter<sensor_msgs::Imu_<std::allocator<void> > >*, bool, bool) const in imu_display.cpp.o
  "ros::DurationBase<ros::Duration>::operator==(ros::Duration const&) const", referenced from:
      ros::DurationBase<ros::Duration>::operator!=(ros::Duration const&) const in imu_display.cpp.o
  "ros::TimeBase<ros::Time, ros::Duration>::operator==(ros::Time const&) const", referenced from:
      ros::TimeBase<ros::Time, ros::Duration>::operator!=(ros::Time const&) const in imu_display.cpp.o
  "ros::TimeBase<ros::Time, ros::Duration>::operator>=(ros::Time const&) const", referenced from:
      tf::MessageFilter<sensor_msgs::Imu_<std::allocator<void> > >::checkFailures() in imu_display.cpp.o
  "ros::TimeBase<ros::Time, ros::Duration>::operator<(ros::Time const&) const", referenced from:
      tf::MessageFilter<sensor_msgs::Imu_<std::allocator<void> > >::testMessage(ros::MessageEvent<sensor_msgs::Imu_<std::allocator<void> > const> const&) in imu_display.cpp.o
  "ros::TimeBase<ros::Time, ros::Duration>::operator+(ros::Duration const&) const", referenced from:
      tf::MessageFilter<sensor_msgs::Imu_<std::allocator<void> > >::testMessage(ros::MessageEvent<sensor_msgs::Imu_<std::allocator<void> > const> const&) in imu_display.cpp.o
      tf::MessageFilter<sensor_msgs::Imu_<std::allocator<void> > >::checkFailures() in imu_display.cpp.o
  "ros::Publisher::Impl::isValid() const", referenced from:
      ros::Publisher::operator void*() const in teleop_panel.cpp.o
      void ros::Publisher::publish<geometry_msgs::Twist_<std::allocator<void> > >(geometry_msgs::Twist_<std::allocator<void> > const&) const in teleop_panel.cpp.o
  "ros::Publisher::publish(boost::function<ros::SerializedMessage ()> const&, ros::SerializedMessage&) const", referenced from:
      void ros::Publisher::publish<geometry_msgs::Twist_<std::allocator<void> > >(geometry_msgs::Twist_<std::allocator<void> > const&) const in teleop_panel.cpp.o
  "boost::signals::connection::disconnect() const", referenced from:
      tf::MessageFilter<sensor_msgs::Imu_<std::allocator<void> > >::disconnectFailure(message_filters::Connection const&) in imu_display.cpp.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [/Users/william/hydro/devel_isolated/rviz_plugin_tutorials/lib/librviz_plugin_tutorials.dylib] Error 1
make[1]: *** [CMakeFiles/rviz_plugin_tutorials.dir/all] Error 2
make: *** [all] Error 2

I will have a fix soon.

Turns out this leads to a more complicated bug, but is also related to:

ros-visualization/rviz#655

Fixed.