Robotics StackExchange | Archived questions

Linking errors after updating to Hydro

I updated my ROS distribution to Hydro from Fuerte today and followed the migration guide to update my codes(mostly related to PCL). But building it gives much linking error after compiling:

In function `message_filters::Synchronizer >, sensor_msgs::Image_ >, message_filters::NullType, message_filters::NullType, message_filters::NullType, message_filters::NullType, message_filters::NullType, message_filters::NullType, message_filters::NullType> >::disconnectAll()':
/opt/ros/hydro/include/message_filters/synchronizer.h:351: undefined reference to `message_filters::Connection::disconnect()'
...
In function `void pcl::detail::FieldMapper::operator()()':
/usr/include/pcl-1.7/pcl/conversions.h:106: undefined reference to `pcl::console::print(pcl::console::VERBOSITY_LEVEL, char const*, ...)'
...
In function `Duration':
/opt/ros/hydro/include/ros/duration.h:119: undefined reference to `tf::Transformer::DEFAULT_CACHE_TIME'
undefined reference to `tf::Transformer::waitForTransform(std::basic_string, std::allocator > const&, ros::Time const&, std::basic_string, std::allocator > const&, ros::Time const&, std::basic_string, std::allocator > const&, ros::Duration const&, ros::Duration const&, std::basic_string, std::allocator >*) const'
undefined reference to `tf::Transformer::lookupTransform(std::basic_string, std::allocator > const&, ros::Time const&, std::basic_string, std::allocator > const&, ros::Time const&, std::basic_string, std::allocator > const&, tf::StampedTransform&) const'

This was an rosbuild managed project and it works well on ROS Fuerte. I was managing the projects through env var $ROSPACKAGE. This package depends on `stdmsgs,roscpp,sensormsgs...tf...pclconversions` in the manifest.xml, and it uses OpenCV, Qt4, PCL and many other 3rd party system dependencies in CMakeLists.txt .

So what am I missing? Should more dependencies be added into the manifest.xml?

Asked by K Chen on 2013-09-12 04:22:33 UTC

Comments

What were you missing in the end? I'm getting same errors :x

Asked by Gust on 2013-11-02 07:00:47 UTC

In fact a small mistake I remember, but sorry I cannot recall the details..

Asked by K Chen on 2013-11-27 02:45:19 UTC

I fixed my "undefined reference to tf::Transformer..." by including "tf" in the "find_package" part of the CMakeLists.

Asked by Angus on 2014-07-17 09:06:24 UTC

and add <build_depend>tf</build_depend> <run_depend>tf</run_depend> to your package.xml

Asked by user23fj239 on 2016-05-01 15:43:55 UTC

Answers