ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

Revision history [back]

Another issue: the build gets pretty far, but then it gets to tf2_ros and has some serious linking issues. I cd'd over to the directory and ran the build command manually with VERBOSE=1 on so that I could see the invocation:

Ayrbook:tf2_ros ayrton$ make -j8 -l8 VERBOSE=1
/usr/local/Cellar/cmake/2.8.10.2/bin/cmake -H/Users/ayrton/ros_catkin_ws/src/tf2_ros -B/Users/ayrton/ros_catkin_ws/build_isolated/tf2_ros --check-build-system CMakeFiles/Makefile.cmake 0
/usr/local/Cellar/cmake/2.8.10.2/bin/cmake -E cmake_progress_start /Users/ayrton/ros_catkin_ws/build_isolated/tf2_ros/CMakeFiles /Users/ayrton/ros_catkin_ws/build_isolated/tf2_ros/CMakeFiles/progress.marks
make -f CMakeFiles/Makefile2 all
make -f CMakeFiles/tf2_ros.dir/build.make CMakeFiles/tf2_ros.dir/depend
cd /Users/ayrton/ros_catkin_ws/build_isolated/tf2_ros && /usr/local/Cellar/cmake/2.8.10.2/bin/cmake -E cmake_depends "Unix Makefiles" /Users/ayrton/ros_catkin_ws/src/tf2_ros /Users/ayrton/ros_catkin_ws/src/tf2_ros /Users/ayrton/ros_catkin_ws/build_isolated/tf2_ros /Users/ayrton/ros_catkin_ws/build_isolated/tf2_ros /Users/ayrton/ros_catkin_ws/build_isolated/tf2_ros/CMakeFiles/tf2_ros.dir/DependInfo.cmake --color=
make -f CMakeFiles/tf2_ros.dir/build.make CMakeFiles/tf2_ros.dir/build
Linking CXX shared library /Users/ayrton/ros_catkin_ws/devel_isolated/tf2_ros/lib/libtf2_ros.dylib
/usr/local/Cellar/cmake/2.8.10.2/bin/cmake -E cmake_link_script CMakeFiles/tf2_ros.dir/link.txt --verbose=1
/usr/bin/c++   -dynamiclib -Wl,-headerpad_max_install_names   -o /Users/ayrton/ros_catkin_ws/devel_isolated/tf2_ros/lib/libtf2_ros.dylib -install_name /Users/ayrton/ros_catkin_ws/devel_isolated/tf2_ros/lib/libtf2_ros.dylib CMakeFiles/tf2_ros.dir/src/buffer.cpp.o CMakeFiles/tf2_ros.dir/src/transform_listener.cpp.o CMakeFiles/tf2_ros.dir/src/buffer_client.cpp.o CMakeFiles/tf2_ros.dir/src/buffer_server.cpp.o CMakeFiles/tf2_ros.dir/src/transform_broadcaster.cpp.o CMakeFiles/tf2_ros.dir/src/static_transform_broadcaster.cpp.o 
Undefined symbols for architecture x86_64:
  "ros::NodeHandle::advertiseService(ros::AdvertiseServiceOptions&)", referenced from:
      ros::ServiceServer ros::NodeHandle::advertiseService<tf2::buffer, tf2_msgs::framegraphrequest_<std::allocator<void=""> >, tf2_msgs::FrameGraphResponse_<std::allocator<void> > >(std::string const&, bool (tf2::Buffer::*)(tf2_msgs::FrameGraphRequest_<std::allocator<void> >&, tf2_msgs::FrameGraphResponse_<std::allocator<void> >&), tf2::Buffer*) in buffer.cpp.o
  "ros::NodeHandle::advertise(ros::AdvertiseOptions&)", referenced from:
      ros::Publisher actionlib::ActionClient<tf2_msgs::lookuptransformaction_<std::allocator<void> > >::queue_advertise<tf2_msgs::lookuptransformactiongoal_<std::allocator<void> > >(std::string const&, unsigned int, boost::function<void (ros::singlesubscriberpublisher="" const&)=""> const&, boost::function<void (ros::singlesubscriberpublisher="" const&)=""> const&, ros::CallbackQueueInterface*) in buffer_client.cpp.o
      ros::Publisher actionlib::ActionClient<tf2_msgs::lookuptransformaction_<std::allocator<void> > >::queue_advertise<actionlib_msgs::goalid_<std::allocator<void> > >(std::string const&, unsigned int, boost::function<void (ros::singlesubscriberpublisher="" const&)=""> const&, boost::function<void (ros::singlesubscriberpublisher="" const&)=""> const&, ros::CallbackQueueInterface*) in buffer_client.cpp.o
      ros::Publisher ros::NodeHandle::advertise<tf2_msgs::lookuptransformactionresult_<std::allocator<void> > >(std::string const&, unsigned int, bool) in buffer_server.cpp.o
      ros::Publisher ros::NodeHandle::advertise<tf2_msgs::lookuptransformactionfeedback_<std::allocator<void> > >(std::string const&, unsigned int, bool) in buffer_server.cpp.o
      ros::Publisher ros::NodeHandle::advertise<actionlib_msgs::goalstatusarray_<std::allocator<void> > >(std::string const&, unsigned int, bool) in buffer_server.cpp.o
      ros::Publisher ros::NodeHandle::advertise<tf2_msgs::tfmessage_<std::allocator<void> > >(std::string const&, unsigned int, bool) in transform_broadcaster.cpp.o
      ros::Publisher ros::NodeHandle::advertise<tf2_msgs::tfmessage_<std::allocator<void> > >(std::string const&, unsigned int, bool) in static_transform_broadcaster.cpp.o
      ...
  "ros::NodeHandle::subscribe(ros::SubscribeOptions&)", referenced from:
      tf2::TransformListener::initWithThread() in transform_listener.cpp.o
      ros::Subscriber ros::NodeHandle::subscribe<tf2_msgs::tfmessage_<std::allocator<void> > >(std::string const&, unsigned int, boost::function<void (boost::shared_ptr<tf2_msgs::tfmessage_<std::allocator<void=""> > const> const&)> const&, boost::shared_ptr<void const=""> const&, ros::TransportHints const&) in transform_listener.cpp.o
      ros::Subscriber actionlib::ActionClient<tf2_msgs::lookuptransformaction_<std::allocator<void> > >::queue_subscribe<actionlib_msgs::goalstatusarray_<std::allocator<void> >, actionlib::ActionClient<tf2_msgs::lookuptransformaction_<std::allocator<void> > > >(std::string const&, unsigned int, void (actionlib::ActionClient<tf2_msgs::lookuptransformaction_<std::allocator<void> > >::*)(boost::shared_ptr<actionlib_msgs::goalstatusarray_<std::allocator<void> > const> const&), actionlib::ActionClient<tf2_msgs::lookuptransformaction_<std::allocator<void> > >*, ros::CallbackQueueInterface*) in buffer_client.cpp.o
      ros::Subscriber actionlib::ActionClient<tf2_msgs::lookuptransformaction_<std::allocator<void> > >::queue_subscribe<tf2_msgs::lookuptransformactionfeedback_<std::allocator<void> >, actionlib::ActionClient<tf2_msgs::lookuptransformaction_<std::allocator<void> > > >(std::string const&, unsigned int, void (actionlib::ActionClient<tf2_msgs::lookuptransformaction_<std::allocator<void> > >::*)(boost::shared_ptr<tf2_msgs::lookuptransformactionfeedback_<std::allocator<void> > const> const&), actionlib::ActionClient<tf2_msgs::lookuptransformaction_<std::allocator<void> > >*, ros::CallbackQueueInterface*) in buffer_client.cpp.o
      ros::Subscriber actionlib::ActionClient<tf2_msgs::lookuptransformaction_<std::allocator<void> > >::queue_subscribe<tf2_msgs::lookuptransformactionresult_<std::allocator<void> >, actionlib::ActionClient<tf2_msgs::lookuptransformaction_<std::allocator<void> > > >(std::string const&, unsigned int, void (actionlib::ActionClient<tf2_msgs::lookuptransformaction_<std::allocator<void> > >::*)(boost::shared_ptr<tf2_msgs::lookuptransformactionresult_<std::allocator<void> > const> const&), actionlib::ActionClient<tf2_msgs::lookuptransformaction_<std::allocator<void> > >*, ros::CallbackQueueInterface*) in buffer_client.cpp.o
      ros::Subscriber ros::NodeHandle::subscribe<tf2_msgs::lookuptransformactiongoal_<std::allocator<void> > >(std::string const&, unsigned int, boost::function<void (boost::shared_ptr<tf2_msgs::lookuptransformactiongoal_<std::allocator<void=""> > const> const&)> const&, boost::shared_ptr<void const=""> const&, ros::TransportHints const&) in buffer_server.cpp.o
      ros::Subscriber ros::NodeHandle::subscribe<actionlib_msgs::goalid_<std::allocator<void> > >(std::string const&, unsigned int, boost::function<void (boost::shared_ptr<actionlib_msgs::goalid_<std::allocator<void=""> > const> const&)> const&, boost::shared_ptr<void const=""> const&, ros::TransportHints const&) in buffer_server.cpp.o
      ...
  "ros::NodeHandle::NodeHandle(ros::NodeHandle const&)", referenced from:
      tf2::TransformListener::TransformListener(tf2::BufferCore&, ros::NodeHandle const&, bool) in transform_listener.cpp.o
  "ros::NodeHandle::NodeHandle(ros::NodeHandle const&, std::string const&)", referenced from:
      actionlib::ActionClient<tf2_msgs::lookuptransformaction_<std::allocator<void> > >::ActionClient(ros::NodeHandle const&, std::string const&, ros::CallbackQueueInterface*) in buffer_client.cpp.o
      actionlib::ActionServer<tf2_msgs::lookuptransformaction_<std::allocator<void> > >::ActionServer(ros::NodeHandle, std::string, boost::function<void (actionlib::servergoalhandle<tf2_msgs::lookuptransformaction_<std::allocator<void=""> > >)>, boost::function<void (actionlib::servergoalhandle<tf2_msgs::lookuptransformaction_<std::allocator<void=""> > >)>, bool) in buffer_server.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:
      tf2::Buffer::Buffer(ros::Duration, bool) in buffer.cpp.o
      tf2::TransformListener::TransformListener(tf2::BufferCore&, bool) in transform_listener.cpp.o
      actionlib::SimpleActionClient<tf2_msgs::lookuptransformaction_<std::allocator<void> > >::SimpleActionClient(std::string const&, bool) in buffer_client.cpp.o
      tf2::BufferServer::BufferServer(tf2::Buffer const&, std::string const&, bool, ros::Duration) in buffer_server.cpp.o
      tf2::TransformBroadcaster::TransformBroadcaster() in transform_broadcaster.cpp.o
      tf2::StaticTransformBroadcaster::StaticTransformBroadcaster() in static_transform_broadcaster.cpp.o
  "ros::NodeHandle::~NodeHandle()", referenced from:
      tf2::Buffer::Buffer(ros::Duration, bool) in buffer.cpp.o
      tf2::TransformListener::TransformListener(tf2::BufferCore&, bool) in transform_listener.cpp.o
      tf2::TransformListener::TransformListener(tf2::BufferCore&, ros::NodeHandle const&, bool) in transform_listener.cpp.o
      tf2::TransformListener::~TransformListener() in transform_listener.cpp.o
      actionlib::SimpleActionClient<tf2_msgs::lookuptransformaction_<std::allocator<void> > >::SimpleActionClient(std::string const&, bool) in buffer_client.cpp.o
      actionlib::ActionClient<tf2_msgs::lookuptransformaction_<std::allocator<void> > >::~ActionClient() in buffer_client.cpp.o
      actionlib::ActionClient<tf2_msgs::lookuptransformaction_<std::allocator<void> > >::ActionClient(ros::NodeHandle const&, std::string const&, ros::CallbackQueueInterface*) in buffer_client.cpp.o
      ...
  "ros::Subscriber::~Subscriber()", referenced from:
      tf2::TransformListener::TransformListener(tf2::BufferCore&, bool) in transform_listener.cpp.o
      tf2::TransformListener::initWithThread() in transform_listener.cpp.o
      tf2::TransformListener::init() in transform_listener.cpp.o
      tf2::TransformListener::TransformListener(tf2::BufferCore&, ros::NodeHandle const&, bool) in transform_listener.cpp.o
      tf2::TransformListener::~TransformListener() in transform_listener.cpp.o
      actionlib::ActionClient<tf2_msgs::lookuptransformaction_<std::allocator<void> > >::~ActionClient() in buffer_client.cpp.o
      actionlib::ActionClient<tf2_msgs::lookuptransformaction_<std::allocator<void> > >::ActionClient(ros::NodeHandle const&, std::string const&, ros::CallbackQueueInterface*) in buffer_client.cpp.o
      ...
  "ros::DurationBase<ros::wallduration>::fromSec(double)", referenced from:
      ros::WallDuration::WallDuration(double) in transform_listener.cpp.o
      ros::WallDuration::WallDuration(double) in buffer_client.cpp.o
  "ros::DurationBase<ros::duration>::fromSec(double)", referenced from:
      ros::Duration::Duration(double) in buffer.cpp.o
      ros::Duration::Duration(double) in buffer_server.cpp.o
  "ros::CallbackQueue::callAvailable(ros::WallDuration)", referenced from:
      tf2::TransformListener::dedicatedListenerThread() in transform_listener.cpp.o
      actionlib::SimpleActionClient<tf2_msgs::lookuptransformaction_<std::allocator<void> > >::spinThread() in buffer_client.cpp.o
  "ros::CallbackQueue::CallbackQueue(bool)", referenced from:
      tf2::TransformListener::TransformListener(tf2::BufferCore&, bool) in transform_listener.cpp.o
      tf2::TransformListener::TransformListener(tf2::BufferCore&, ros::NodeHandle const&, bool) in transform_listener.cpp.o
      actionlib::SimpleActionClient<tf2_msgs::lookuptransformaction_<std::allocator<void> > >::SimpleActionClient(std::string const&, bool) in buffer_client.cpp.o
  "ros::CallbackQueue::~CallbackQueue()", referenced from:
      tf2::TransformListener::TransformListener(tf2::BufferCore&, bool) in transform_listener.cpp.o
      tf2::TransformListener::TransformListener(tf2::BufferCore&, ros::NodeHandle const&, bool) in transform_listener.cpp.o
      tf2::TransformListener::~TransformListener() in transform_listener.cpp.o
      actionlib::SimpleActionClient<tf2_msgs::lookuptransformaction_<std::allocator<void> > >::SimpleActionClient(std::string const&, bool) in buffer_client.cpp.o
  "ros::ServiceServer::~ServiceServer()", referenced from:
      tf2::Buffer::Buffer(ros::Duration, bool) in buffer.cpp.o
      tf2::Buffer::~Buffer() in buffer.cpp.o
  "ros::serialization::throwStreamOverrun()", referenced from:
      void ros::serialization::Serializer<std::string>::write<ros::serialization::ostream>(ros::serialization::OStream&, std::string const&) in buffer.cpp.o
      void ros::serialization::Serializer<unsigned int="">::write<ros::serialization::ostream>(ros::serialization::OStream&, unsigned int) in buffer.cpp.o
      void ros::serialization::Serializer<unsigned char="">::write<ros::serialization::ostream>(ros::serialization::OStream&, unsigned char) in buffer.cpp.o
      void ros::serialization::Serializer<double>::read<ros::serialization::istream>(ros::serialization::IStream&, double&) in transform_listener.cpp.o
      void ros::serialization::Serializer<std::string>::read<ros::serialization::istream>(ros::serialization::IStream&, std::string&) in transform_listener.cpp.o
      void ros::serialization::Serializer<unsigned int="">::read<ros::serialization::istream>(ros::serialization::IStream&, unsigned int&) in transform_listener.cpp.o
      void ros::serialization::Serializer<std::string>::write<ros::serialization::ostream>(ros::serialization::OStream&, std::string const&) in buffer_client.cpp.o
      ...
  "ros::normalizeSecNSec(unsigned int&, unsigned int&)", referenced from:
      ros::TimeBase<ros::time, ros::duration="">::TimeBase(unsigned int, unsigned int) in buffer_client.cpp.o
  "ros::ok()", referenced from:
      tf2::BufferClient::processGoal(tf2_msgs::LookupTransformGoal_<std::allocator<void> > const&) const in buffer_client.cpp.o
  "ros::Rate::sleep()", referenced from:
      tf2::BufferClient::processGoal(tf2_msgs::LookupTransformGoal_<std::allocator<void> > const&) const in buffer_client.cpp.o
  "ros::Rate::Rate(double)", referenced from:
      tf2::BufferClient::processGoal(tf2_msgs::LookupTransformGoal_<std::allocator<void> > const&) const in buffer_client.cpp.o
  "ros::Time::now()", referenced from:
      tf2::Buffer::canTransform(std::string const&, std::string const&, ros::Time const&, ros::Duration, std::string*) const in buffer.cpp.o
      tf2::Buffer::canTransform(std::string const&, ros::Time const&, std::string const&, ros::Time const&, std::string const&, ros::Duration, std::string*) const in buffer.cpp.o
      tf2::BufferClient::processGoal(tf2_msgs::LookupTransformGoal_<std::allocator<void> > const&) const in buffer_client.cpp.o
      actionlib::GoalManager<tf2_msgs::lookuptransformaction_<std::allocator<void> > >::initGoal(tf2_msgs::LookupTransformGoal_<std::allocator<void> > const&, boost::function<void (actionlib::clientgoalhandle<tf2_msgs::lookuptransformaction_<std::allocator<void=""> > >)>, boost::function<void (actionlib::clientgoalhandle<tf2_msgs::lookuptransformaction_<std::allocator<void=""> > >, boost::shared_ptr<tf2_msgs::lookuptransformfeedback_<std::allocator<void> > const> const&)>) in buffer_client.cpp.o
      tf2::BufferServer::goalCB(actionlib::ServerGoalHandle<tf2_msgs::lookuptransformaction_<std::allocator<void> > >) in buffer_server.cpp.o
      tf2::BufferServer::checkTransforms(ros::TimerEvent const&) in buffer_server.cpp.o
      actionlib::ActionServer<tf2_msgs::lookuptransformaction_<std::allocator<void> > >::publishStatus() in buffer_server.cpp.o
      ...
  "ros::Timer::~Timer()", referenced from:
      tf2::BufferServer::BufferServer(tf2::Buffer const&, std::string const&, bool, ros::Duration) in buffer_server.cpp.o
      actionlib::ActionServer<tf2_msgs::lookuptransformaction_<std::allocator<void> > >::initialize() in buffer_server.cpp.o
      actionlib::ActionServer<tf2_msgs::lookuptransformaction_<std::allocator<void> > >::~ActionServer() in buffer_server.cpp.o
      actionlib::ActionServer<tf2_msgs::lookuptransformaction_<std::allocator<void> > >::ActionServer(ros::NodeHandle, std::string, boost::function<void (actionlib::servergoalhandle<tf2_msgs::lookuptransformaction_<std::allocator<void=""> > >)>, boost::function<void (actionlib::servergoalhandle<tf2_msgs::lookuptransformaction_<std::allocator<void=""> > >)>, bool) in buffer_server.cpp.o
  "ros::console::initialize()", referenced from:
      void ros::AdvertiseServiceOptions::init<tf2_msgs::framegraphrequest_<std::allocator<void> >, tf2_msgs::FrameGraphResponse_<std::allocator<void> > >(std::string const&, boost::function<bool (tf2_msgs::framegraphrequest_<std::allocator<void=""> >&, tf2_msgs::FrameGraphResponse_<std::allocator<void> >&)> const&) in buffer.cpp.o
      tf2::TransformListener::subscription_callback_impl(boost::shared_ptr<tf2_msgs::tfmessage_<std::allocator<void> > const> const&, bool) in transform_listener.cpp.o
      ros::SubscriptionCallbackHelperT<boost::shared_ptr<tf2_msgs::tfmessage_<std::allocator<void> > const> const&, void>::deserialize(ros::SubscriptionCallbackHelperDeserializeParams const&) in transform_listener.cpp.o
      actionlib::SimpleActionClient<tf2_msgs::lookuptransformaction_<std::allocator<void> > >::getState() in buffer_client.cpp.o
      actionlib::SimpleActionClient<tf2_msgs::lookuptransformaction_<std::allocator<void> > >::cancelGoal() in buffer_client.cpp.o
      actionlib::SimpleActionClient<tf2_msgs::lookuptransformaction_<std::allocator<void> > >::getResult() in buffer_client.cpp.o
      actionlib::ClientGoalHandle<tf2_msgs::lookuptransformaction_<std::allocator<void> > >::getResult() in buffer_client.cpp.o
      ...
  "ros::console::g_initialized", referenced from:
      void ros::AdvertiseServiceOptions::init<tf2_msgs::framegraphrequest_<std::allocator<void> >, tf2_msgs::FrameGraphResponse_<std::allocator<void> > >(std::string const&, boost::function<bool (tf2_msgs::framegraphrequest_<std::allocator<void=""> >&, tf2_msgs::FrameGraphResponse_<std::allocator<void> >&)> const&) in buffer.cpp.o
      tf2::TransformListener::subscription_callback_impl(boost::shared_ptr<tf2_msgs::tfmessage_<std::allocator<void> > const> const&, bool) in transform_listener.cpp.o
      ros::SubscriptionCallbackHelperT<boost::shared_ptr<tf2_msgs::tfmessage_<std::allocator<void> > const> const&, void>::deserialize(ros::SubscriptionCallbackHelperDeserializeParams const&) in transform_listener.cpp.o
      actionlib::SimpleActionClient<tf2_msgs::lookuptransformaction_<std::allocator<void> > >::getState() in buffer_client.cpp.o
      actionlib::SimpleActionClient<tf2_msgs::lookuptransformaction_<std::allocator<void> > >::cancelGoal() in buffer_client.cpp.o
      actionlib::SimpleActionClient<tf2_msgs::lookuptransformaction_<std::allocator<void> > >::getResult() in buffer_client.cpp.o
      actionlib::ClientGoalHandle<tf2_msgs::lookuptransformaction_<std::allocator<void> > >::getResult() in buffer_client.cpp.o
      ...
  "ros::console::setLogLocationLevel(ros::console::LogLocation*, ros::console::levels::Level)", referenced from:
      void ros::AdvertiseServiceOptions::init<tf2_msgs::framegraphrequest_<std::allocator<void> >, tf2_msgs::FrameGraphResponse_<std::allocator<void> > >(std::string const&, boost::function<bool (tf2_msgs::framegraphrequest_<std::allocator<void=""> >&, tf2_msgs::FrameGraphResponse_<std::allocator<void> >&)> const&) in buffer.cpp.o
      tf2::TransformListener::subscription_callback_impl(boost::shared_ptr<tf2_msgs::tfmessage_<std::allocator<void> > const> const&, bool) in transform_listener.cpp.o
      ros::SubscriptionCallbackHelperT<boost::shared_ptr<tf2_msgs::tfmessage_<std::allocator<void> > const> const&, void>::deserialize(ros::SubscriptionCallbackHelperDeserializeParams const&) in transform_listener.cpp.o
      actionlib::SimpleActionClient<tf2_msgs::lookuptransformaction_<std::allocator<void> > >::getState() in buffer_client.cpp.o
      actionlib::SimpleActionClient<tf2_msgs::lookuptransformaction_<std::allocator<void> > >::cancelGoal() in buffer_client.cpp.o
      actionlib::SimpleActionClient<tf2_msgs::lookuptransformaction_<std::allocator<void> > >::getResult() in buffer_client.cpp.o
      actionlib::ClientGoalHandle<tf2_msgs::lookuptransformaction_<std::allocator<void> > >::getResult() in buffer_client.cpp.o
      ...
  "ros::console::initializeLogLocation(ros::console::LogLocation*, std::string const&, ros::console::levels::Level)", referenced from:
      void ros::AdvertiseServiceOptions::init<tf2_msgs::framegraphrequest_<std::allocator<void> >, tf2_msgs::FrameGraphResponse_<std::allocator<void> > >(std::string const&, boost::function<bool (tf2_msgs::framegraphrequest_<std::allocator<void=""> >&, tf2_msgs::FrameGraphResponse_<std::allocator<void> >&)> const&) in buffer.cpp.o
      tf2::TransformListener::subscription_callback_impl(boost::shared_ptr<tf2_msgs::tfmessage_<std::allocator<void> > const> const&, bool) in transform_listener.cpp.o
      ros::SubscriptionCallbackHelperT<boost::shared_ptr<tf2_msgs::tfmessage_<std::allocator<void> > const> const&, void>::deserialize(ros::SubscriptionCallbackHelperDeserializeParams const&) in transform_listener.cpp.o
      actionlib::SimpleActionClient<tf2_msgs::lookuptransformaction_<std::allocator<void> > >::getState() in buffer_client.cpp.o
      actionlib::SimpleActionClient<tf2_msgs::lookuptransformaction_<std::allocator<void> > >::cancelGoal() in buffer_client.cpp.o
      actionlib::SimpleActionClient<tf2_msgs::lookuptransformaction_<std::allocator<void> > >::getResult() in buffer_client.cpp.o
      actionlib::ClientGoalHandle<tf2_msgs::lookuptransformaction_<std::allocator<void> > >::getResult() in buffer_client.cpp.o
      ...
  "ros::console::checkLogLocationEnabled(ros::console::LogLocation*)", referenced from:
      void ros::AdvertiseServiceOptions::init<tf2_msgs::framegraphrequest_<std::allocator<void> >, tf2_msgs::FrameGraphResponse_<std::allocator<void> > >(std::string const&, boost::function<bool (tf2_msgs::framegraphrequest_<std::allocator<void=""> >&, tf2_msgs::FrameGraphResponse_<std::allocator<void> >&)> const&) in buffer.cpp.o
      tf2::TransformListener::subscription_callback_impl(boost::shared_ptr<tf2_msgs::tfmessage_<std::allocator<void> > const> const&, bool) in transform_listener.cpp.o
      ros::SubscriptionCallbackHelperT<boost::shared_ptr<tf2_msgs::tfmessage_<std::allocator<void> > const> const&, void>::deserialize(ros::SubscriptionCallbackHelperDeserializeParams const&) in transform_listener.cpp.o
      actionlib::SimpleActionClient<tf2_msgs::lookuptransformaction_<std::allocator<void> > >::getState() in buffer_client.cpp.o
      actionlib::SimpleActionClient<tf2_msgs::lookuptransformaction_<std::allocator<void> > >::cancelGoal() in buffer_client.cpp.o
      actionlib::SimpleActionClient<tf2_msgs::lookuptransformaction_<std::allocator<void> > >::getResult() in buffer_client.cpp.o
      actionlib::ClientGoalHandle<tf2_msgs::lookuptransformaction_<std::allocator<void> > >::getResult() in buffer_client.cpp.o
      ...
  "ros::console::print(ros::console::FilterBase*, log4cxx::Logger*, ros::console::levels::Level, char const*, int, char const*, char const*, ...)", referenced from:
      void ros::AdvertiseServiceOptions::init<tf2_msgs::framegraphrequest_<std::allocator<void> >, tf2_msgs::FrameGraphResponse_<std::allocator<void> > >(std::string const&, boost::function<bool (tf2_msgs::framegraphrequest_<std::allocator<void=""> >&, tf2_msgs::FrameGraphResponse_<std::allocator<void> >&)> const&) in buffer.cpp.o
      tf2::TransformListener::subscription_callback_impl(boost::shared_ptr<tf2_msgs::tfmessage_<std::allocator<void> > const> const&, bool) in transform_listener.cpp.o
      ros::SubscriptionCallbackHelperT<boost::shared_ptr<tf2_msgs::tfmessage_<std::allocator<void> > const> const&, void>::deserialize(ros::SubscriptionCallbackHelperDeserializeParams const&) in transform_listener.cpp.o
      actionlib::SimpleActionClient<tf2_msgs::lookuptransformaction_<std::allocator<void> > >::getState() in buffer_client.cpp.o
      actionlib::SimpleActionClient<tf2_msgs::lookuptransformaction_<std::allocator<void> > >::cancelGoal() in buffer_client.cpp.o
      actionlib::SimpleActionClient<tf2_msgs::lookuptransformaction_<std::allocator<void> > >::getResult() in buffer_client.cpp.o
      actionlib::ClientGoalHandle<tf2_msgs::lookuptransformaction_<std::allocator<void> > >::getResult() in buffer_client.cpp.o
      ...
  "ros::service::exists(std::string const&, bool)", referenced from:
      tf2::Buffer::Buffer(ros::Duration, bool) in buffer.cpp.o
  "ros::Publisher::~Publisher()", referenced from:
      actionlib::ActionClient<tf2_msgs::lookuptransformaction_<std::allocator<void> > >::~ActionClient() in buffer_client.cpp.o
      actionlib::ActionClient<tf2_msgs::lookuptransformaction_<std::allocator<void> > >::ActionClient(ros::NodeHandle const&, std::string const&, ros::CallbackQueueInterface*) in buffer_client.cpp.o
      actionlib::ActionClient<tf2_msgs::lookuptransformaction_<std::allocator<void> > >::initClient(ros::CallbackQueueInterface*) in buffer_client.cpp.o
      actionlib::ActionServer<tf2_msgs::lookuptransformaction_<std::allocator<void> > >::initialize() in buffer_server.cpp.o
      actionlib::ActionServer<tf2_msgs::lookuptransformaction_<std::allocator<void> > >::~ActionServer() in buffer_server.cpp.o
      actionlib::ActionServer<tf2_msgs::lookuptransformaction_<std::allocator<void> > >::ActionServer(ros::NodeHandle, std::string, boost::function<void (actionlib::servergoalhandle<tf2_msgs::lookuptransformaction_<std::allocator<void=""> > >)>, boost::function<void (actionlib::servergoalhandle<tf2_msgs::lookuptransformaction_<std::allocator<void=""> > >)>, bool) in buffer_server.cpp.o
      tf2::TransformBroadcaster::TransformBroadcaster() in transform_broadcaster.cpp.o
      ...
  "tf2::BufferCore::setTransform(geometry_msgs::TransformStamped_<std::allocator<void> > const&, std::string const&, bool)", referenced from:
      tf2::TransformListener::subscription_callback_impl(boost::shared_ptr<tf2_msgs::tfmessage_<std::allocator<void> > const> const&, bool) in transform_listener.cpp.o
  "tf2::BufferCore::BufferCore(ros::Duration)", referenced from:
      tf2::Buffer::Buffer(ros::Duration, bool) in buffer.cpp.o
  "tf2::BufferCore::~BufferCore()", referenced from:
      tf2::Buffer::Buffer(ros::Duration, bool) in buffer.cpp.o
      tf2::Buffer::~Buffer() in buffer.cpp.o
  "boost::this_thread::interruption_point()", referenced from:
      bool boost::condition_variable_any::do_wait_until<boost::unique_lock<boost::mutex> >(boost::unique_lock<boost::mutex>&, timespec const&) in buffer_client.cpp.o
      bool boost::condition_variable_any::do_wait_until<boost::unique_lock<boost::mutex> >(boost::unique_lock<boost::mutex>&, timespec const&) in buffer_server.cpp.o
  "boost::detail::thread_data_base::~thread_data_base()", referenced from:
      boost::detail::thread_data<boost::_bi::bind_t<void, boost::_mfi::mf0<void,="" tf2::transformlistener="">, boost::_bi::list1<boost::_bi::value<tf2::transformlistener*> > > >::~thread_data() in transform_listener.cpp.o
      boost::detail::thread_data<boost::_bi::bind_t<void, boost::_mfi::mf0<void,="" actionlib::simpleactionclient<tf2_msgs::lookuptransformaction_<std::allocator<void=""> > > >, boost::_bi::list1<boost::_bi::value<actionlib::simpleactionclient<tf2_msgs::lookuptransformaction_<std::allocator<void> > >*> > > >::~thread_data() in buffer_client.cpp.o
  "boost::detail::get_current_thread_data()", referenced from:
      boost::detail::interruption_checker::interruption_checker(_opaque_pthread_mutex_t*, _opaque_pthread_cond_t*) in buffer_client.cpp.o
      boost::detail::interruption_checker::interruption_checker(_opaque_pthread_mutex_t*, _opaque_pthread_cond_t*) in buffer_server.cpp.o
  "boost::system::system_category()", referenced from:
      ___cxx_global_var_init3 in buffer.cpp.o
      ___cxx_global_var_init12 in transform_listener.cpp.o
      boost::thread_exception::thread_exception(int, char const*) in transform_listener.cpp.o
      ___cxx_global_var_init3 in buffer_client.cpp.o
      boost::thread_exception::thread_exception(int, char const*) in buffer_client.cpp.o
      boost::condition_error::condition_error(int, char const*) in buffer_client.cpp.o
      ___cxx_global_var_init12 in buffer_server.cpp.o
      ...
  "boost::system::generic_category()", referenced from:
      ___cxx_global_var_init1 in buffer.cpp.o
      ___cxx_global_var_init2 in buffer.cpp.o
      ___cxx_global_var_init10 in transform_listener.cpp.o
      ___cxx_global_var_init11 in transform_listener.cpp.o
      ___cxx_global_var_init1 in buffer_client.cpp.o
      ___cxx_global_var_init2 in buffer_client.cpp.o
      ___cxx_global_var_init10 in buffer_server.cpp.o
      ...
  "boost::thread::join_noexcept()", referenced from:
      boost::thread::join() in transform_listener.cpp.o
  "boost::thread::native_handle()", referenced from:
      boost::thread::get_id() const in transform_listener.cpp.o
  "boost::thread::start_thread_noexcept()", referenced from:
      boost::thread::start_thread() in transform_listener.cpp.o
      boost::thread::start_thread() in buffer_client.cpp.o
  "boost::thread::detach()", referenced from:
      boost::thread::~thread() in transform_listener.cpp.o
  "actionlib::GoalIDGenerator::generateID()", referenced from:
      actionlib::GoalManager<tf2_msgs::lookuptransformaction_<std::allocator<void> > >::initGoal(tf2_msgs::LookupTransformGoal_<std::allocator<void> > const&, boost::function<void (actionlib::clientgoalhandle<tf2_msgs::lookuptransformaction_<std::allocator<void=""> > >)>, boost::function<void (actionlib::clientgoalhandle<tf2_msgs::lookuptransformaction_<std::allocator<void=""> > >, boost::shared_ptr<tf2_msgs::lookuptransformfeedback_<std::allocator<void> > const> const&)>) in buffer_client.cpp.o
      actionlib::StatusTracker<tf2_msgs::lookuptransformaction_<std::allocator<void> > >::StatusTracker(boost::shared_ptr<tf2_msgs::lookuptransformactiongoal_<std::allocator<void> > const> const&) in buffer_server.cpp.o
  "actionlib::GoalIDGenerator::GoalIDGenerator()", referenced from:
      actionlib::GoalManager<tf2_msgs::lookuptransformaction_<std::allocator<void> > >::GoalManager(boost::shared_ptr<actionlib::destructionguard> const&) in buffer_client.cpp.o
      actionlib::StatusTracker<tf2_msgs::lookuptransformaction_<std::allocator<void> > >::StatusTracker(actionlib_msgs::GoalID_<std::allocator<void> > const&, unsigned int) in buffer_server.cpp.o
      actionlib::StatusTracker<tf2_msgs::lookuptransformaction_<std::allocator<void> > >::StatusTracker(boost::shared_ptr<tf2_msgs::lookuptransformactiongoal_<std::allocator<void> > const> const&) in buffer_server.cpp.o
      actionlib::ActionServer<tf2_msgs::lookuptransformaction_<std::allocator<void> > >::ActionServer(ros::NodeHandle, std::string, boost::function<void (actionlib::servergoalhandle<tf2_msgs::lookuptransformaction_<std::allocator<void=""> > >)>, boost::function<void (actionlib::servergoalhandle<tf2_msgs::lookuptransformaction_<std::allocator<void=""> > >)>, bool) in buffer_server.cpp.o
  "actionlib::ConnectionMonitor::processStatus(boost::shared_ptr<actionlib_msgs::goalstatusarray_<std::allocator<void> > const> const&)", referenced from:
      actionlib::ActionClient<tf2_msgs::lookuptransformaction_<std::allocator<void> > >::statusCb(boost::shared_ptr<actionlib_msgs::goalstatusarray_<std::allocator<void> > const> const&) in buffer_client.cpp.o
  "actionlib::ConnectionMonitor::goalConnectCallback(ros::SingleSubscriberPublisher const&)", referenced from:
      actionlib::ActionClient<tf2_msgs::lookuptransformaction_<std::allocator<void> > >::initClient(ros::CallbackQueueInterface*) in buffer_client.cpp.o
  "actionlib::ConnectionMonitor::cancelConnectCallback(ros::SingleSubscriberPublisher const&)", referenced from:
      actionlib::ActionClient<tf2_msgs::lookuptransformaction_<std::allocator<void> > >::initClient(ros::CallbackQueueInterface*) in buffer_client.cpp.o
  "actionlib::ConnectionMonitor::goalDisconnectCallback(ros::SingleSubscriberPublisher const&)", referenced from:
      actionlib::ActionClient<tf2_msgs::lookuptransformaction_<std::allocator<void> > >::initClient(ros::CallbackQueueInterface*) in buffer_client.cpp.o
  "actionlib::ConnectionMonitor::cancelDisconnectCallback(ros::SingleSubscriberPublisher const&)", referenced from:
      actionlib::ActionClient<tf2_msgs::lookuptransformaction_<std::allocator<void> > >::initClient(ros::CallbackQueueInterface*) in buffer_client.cpp.o
  "actionlib::ConnectionMonitor::ConnectionMonitor(ros::Subscriber&, ros::Subscriber&)", referenced from:
      actionlib::ActionClient<tf2_msgs::lookuptransformaction_<std::allocator<void> > >::initClient(ros::CallbackQueueInterface*) in buffer_client.cpp.o
  "ros::NodeHandle::createTimer(ros::Duration, boost::function<void (ros::timerevent="" const&)=""> const&, bool, bool) const", referenced from:
      tf2::BufferServer::BufferServer(tf2::Buffer const&, std::string const&, bool, ros::Duration) in buffer_server.cpp.o
      actionlib::ActionServer<tf2_msgs::lookuptransformaction_<std::allocator<void> > >::initialize() in buffer_server.cpp.o
  "ros::NodeHandle::searchParam(std::string const&, std::string&) const", referenced from:
      actionlib::ActionServer<tf2_msgs::lookuptransformaction_<std::allocator<void> > >::initialize() in buffer_server.cpp.o
  "ros::NodeHandle::ok() const", referenced from:
      actionlib::SimpleActionClient<tf2_msgs::lookuptransformaction_<std::allocator<void> > >::spinThread() in buffer_client.cpp.o
  "ros::NodeHandle::getParam(std::string const&, double&) const", referenced from:
      actionlib::ActionServer<tf2_msgs::lookuptransformaction_<std::allocator<void> > >::initialize() in buffer_server.cpp.o
      void ros::NodeHandle::param<double>(std::string const&, double&, double const&) const in buffer_server.cpp.o
  "ros::NodeHandle::hasParam(std::string const&) const", referenced from:
      void ros::NodeHandle::param<double>(std::string const&, double&, double const&) const in buffer_server.cpp.o
  "ros::Duration::sleep() const", referenced from:
      tf2::Buffer::canTransform(std::string const&, std::string const&, ros::Time const&, ros::Duration, std::string*) const in buffer.cpp.o
      tf2::Buffer::canTransform(std::string const&, ros::Time const&, std::string const&, ros::Time const&, std::string const&, ros::Duration, std::string*) const in buffer.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 buffer_server.cpp.o
      actionlib::ActionServer<tf2_msgs::lookuptransformaction_<std::allocator<void> > >::cancelCallback(boost::shared_ptr<actionlib_msgs::goalid_<std::allocator<void> > const> const&) in buffer_server.cpp.o
      actionlib::StatusTracker<tf2_msgs::lookuptransformaction_<std::allocator<void> > >::StatusTracker(boost::shared_ptr<tf2_msgs::lookuptransformactiongoal_<std::allocator<void> > const> const&) in buffer_server.cpp.o
  "ros::TimeBase<ros::time, ros::duration="">::operator>(ros::Time const&) const", referenced from:
      tf2::BufferClient::processGoal(tf2_msgs::LookupTransformGoal_<std::allocator<void> > const&) const in buffer_client.cpp.o
      actionlib::ActionServer<tf2_msgs::lookuptransformaction_<std::allocator<void> > >::cancelCallback(boost::shared_ptr<actionlib_msgs::goalid_<std::allocator<void> > const> const&) in buffer_server.cpp.o
  "ros::TimeBase<ros::time, ros::duration="">::operator<=(ros::Time const&) const", referenced from:
      tf2::BufferServer::goalCB(actionlib::ServerGoalHandle<tf2_msgs::lookuptransformaction_<std::allocator<void> > >) in buffer_server.cpp.o
      actionlib::ActionServer<tf2_msgs::lookuptransformaction_<std::allocator<void> > >::goalCallback(boost::shared_ptr<tf2_msgs::lookuptransformactiongoal_<std::allocator<void> > const> const&) in buffer_server.cpp.o
      actionlib::ActionServer<tf2_msgs::lookuptransformaction_<std::allocator<void> > >::cancelCallback(boost::shared_ptr<actionlib_msgs::goalid_<std::allocator<void> > const> const&) in buffer_server.cpp.o
  "ros::TimeBase<ros::time, ros::duration="">::operator<(ros::Time const&) const", referenced from:
      tf2::Buffer::canTransform(std::string const&, std::string const&, ros::Time const&, ros::Duration, std::string*) const in buffer.cpp.o
      tf2::Buffer::canTransform(std::string const&, ros::Time const&, std::string const&, ros::Time const&, std::string const&, ros::Duration, std::string*) const in buffer.cpp.o
      tf2::BufferServer::checkTransforms(ros::TimerEvent const&) in buffer_server.cpp.o
      actionlib::ActionServer<tf2_msgs::lookuptransformaction_<std::allocator<void> > >::publishStatus() in buffer_server.cpp.o
  "ros::TimeBase<ros::time, ros::duration="">::operator+(ros::Duration const&) const", referenced from:
      tf2::Buffer::canTransform(std::string const&, std::string const&, ros::Time const&, ros::Duration, std::string*) const in buffer.cpp.o
      tf2::Buffer::canTransform(std::string const&, ros::Time const&, std::string const&, ros::Time const&, std::string const&, ros::Duration, std::string*) const in buffer.cpp.o
      tf2::BufferClient::processGoal(tf2_msgs::LookupTransformGoal_<std::allocator<void> > const&) const in buffer_client.cpp.o
      tf2::BufferServer::goalCB(actionlib::ServerGoalHandle<tf2_msgs::lookuptransformaction_<std::allocator<void> > >) in buffer_server.cpp.o
      actionlib::ActionServer<tf2_msgs::lookuptransformaction_<std::allocator<void> > >::publishStatus() in buffer_server.cpp.o
  "ros::Publisher::Impl::isValid() const", referenced from:
      void ros::Publisher::publish<actionlib_msgs::goalid_<std::allocator<void> > >(actionlib_msgs::GoalID_<std::allocator<void> > const&) const in buffer_client.cpp.o
      void ros::Publisher::publish<tf2_msgs::lookuptransformactiongoal_<std::allocator<void> > const>(boost::shared_ptr<tf2_msgs::lookuptransformactiongoal_<std::allocator<void> > const> const&) const in buffer_client.cpp.o
      void ros::Publisher::publish<actionlib_msgs::goalstatusarray_<std::allocator<void> > >(actionlib_msgs::GoalStatusArray_<std::allocator<void> > const&) const in buffer_server.cpp.o
      void ros::Publisher::publish<tf2_msgs::lookuptransformactionresult_<std::allocator<void> > >(boost::shared_ptr<tf2_msgs::lookuptransformactionresult_<std::allocator<void> > > const&) const in buffer_server.cpp.o
      void ros::Publisher::publish<tf2_msgs::tfmessage_<std::allocator<void> > >(tf2_msgs::TFMessage_<std::allocator<void> > const&) const in transform_broadcaster.cpp.o
      void ros::Publisher::publish<tf2_msgs::tfmessage_<std::allocator<void> > >(tf2_msgs::TFMessage_<std::allocator<void> > const&) const in static_transform_broadcaster.cpp.o
  "ros::Publisher::publish(boost::function<ros::serializedmessage ()=""> const&, ros::SerializedMessage&) const", referenced from:
      void ros::Publisher::publish<actionlib_msgs::goalid_<std::allocator<void> > >(actionlib_msgs::GoalID_<std::allocator<void> > const&) const in buffer_client.cpp.o
      void ros::Publisher::publish<tf2_msgs::lookuptransformactiongoal_<std::allocator<void> > const>(boost::shared_ptr<tf2_msgs::lookuptransformactiongoal_<std::allocator<void> > const> const&) const in buffer_client.cpp.o
      void ros::Publisher::publish<actionlib_msgs::goalstatusarray_<std::allocator<void> > >(actionlib_msgs::GoalStatusArray_<std::allocator<void> > const&) const in buffer_server.cpp.o
      void ros::Publisher::publish<tf2_msgs::lookuptransformactionresult_<std::allocator<void> > >(boost::shared_ptr<tf2_msgs::lookuptransformactionresult_<std::allocator<void> > > const&) const in buffer_server.cpp.o
      void ros::Publisher::publish<tf2_msgs::tfmessage_<std::allocator<void> > >(tf2_msgs::TFMessage_<std::allocator<void> > const&) const in transform_broadcaster.cpp.o
      void ros::Publisher::publish<tf2_msgs::tfmessage_<std::allocator<void> > >(tf2_msgs::TFMessage_<std::allocator<void> > const&) const in static_transform_broadcaster.cpp.o
  "tf2::BufferCore::canTransform(std::string const&, ros::Time const&, std::string const&, ros::Time const&, std::string const&, std::string*) const", referenced from:
      tf2::Buffer::canTransform(std::string const&, ros::Time const&, std::string const&, ros::Time const&, std::string const&, ros::Duration, std::string*) const in buffer.cpp.o
      tf2::BufferServer::canTransform(actionlib::ServerGoalHandle<tf2_msgs::lookuptransformaction_<std::allocator<void> > >) in buffer_server.cpp.o
  "tf2::BufferCore::canTransform(std::string const&, std::string const&, ros::Time const&, std::string*) const", referenced from:
      tf2::Buffer::canTransform(std::string const&, std::string const&, ros::Time const&, ros::Duration, std::string*) const in buffer.cpp.o
      tf2::BufferServer::canTransform(actionlib::ServerGoalHandle<tf2_msgs::lookuptransformaction_<std::allocator<void> > >) in buffer_server.cpp.o
  "tf2::BufferCore::allFramesAsYAML() const", referenced from:
      tf2::Buffer::getFrames(tf2_msgs::FrameGraphRequest_<std::allocator<void> >&, tf2_msgs::FrameGraphResponse_<std::allocator<void> >&) in buffer.cpp.o
  "tf2::BufferCore::lookupTransform(std::string const&, ros::Time const&, std::string const&, ros::Time const&, std::string const&) const", referenced from:
      tf2::Buffer::lookupTransform(std::string const&, ros::Time const&, std::string const&, ros::Time const&, std::string const&, ros::Duration) const in buffer.cpp.o
      tf2::BufferServer::lookupTransform(actionlib::ServerGoalHandle<tf2_msgs::lookuptransformaction_<std::allocator<void> > >) in buffer_server.cpp.o
  "tf2::BufferCore::lookupTransform(std::string const&, std::string const&, ros::Time const&) const", referenced from:
      tf2::Buffer::lookupTransform(std::string const&, std::string const&, ros::Time const&, ros::Duration) const in buffer.cpp.o
      tf2::BufferServer::lookupTransform(actionlib::ServerGoalHandle<tf2_msgs::lookuptransformaction_<std::allocator<void> > >) in buffer_server.cpp.o
  "typeinfo for tf2::BufferCore", referenced from:
      typeinfo for tf2::Buffer in buffer.cpp.o
  "typeinfo for boost::detail::thread_data_base", referenced from:
      typeinfo for boost::detail::thread_data<boost::_bi::bind_t<void, boost::_mfi::mf0<void,="" tf2::transformlistener="">, boost::_bi::list1<boost::_bi::value<tf2::transformlistener*> > > > in transform_listener.cpp.o
      typeinfo for boost::detail::thread_data<boost::_bi::bind_t<void, boost::_mfi::mf0<void,="" actionlib::simpleactionclient<tf2_msgs::lookuptransformaction_<std::allocator<void=""> > > >, boost::_bi::list1<boost::_bi::value<actionlib::simpleactionclient<tf2_msgs::lookuptransformaction_<std::allocator<void> > >*> > > > in buffer_client.cpp.o
  "vtable for boost::detail::thread_data_base", referenced from:
      boost::detail::thread_data_base::thread_data_base() in transform_listener.cpp.o
      boost::detail::thread_data_base::thread_data_base() in buffer_client.cpp.o
  NOTE: a missing vtable usually means the first non-inline virtual member function has no definition.
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/ayrton/ros_catkin_ws/devel_isolated/tf2_ros/lib/libtf2_ros.dylib] Error 1
make[1]: *** [CMakeFiles/tf2_ros.dir/all] Error 2
make: *** [all] Error 2]