Hi guys. I have this package that used to run on ROS fuerte. Now I have changed to Hydro and I'm having compilation problems. So, I have a clear full install of ROS Hydro on Mint 15, 32bits.
When I try to compile the package I get some crazy template errors, here they are:
In file included from /opt/ros/hydro/include/ros/serialization.h:37:0,
from /opt/ros/hydro/include/ros/publisher.h:34,
from /opt/ros/hydro/include/ros/node_handle.h:32,
from /opt/ros/hydro/include/ros/ros.h:45,
from /home/caiom/ros_workspace/obstacledetection/src/main.cpp:6:
/opt/ros/hydro/include/ros/message_traits.h: In instantiation of ‘static ros::Time ros::message_traits::TimeStamp<M, typename boost::enable_if<ros::message_traits::HasHeader<M> >::type>::value(const M&) [with M = pcl::PointCloud<pcl::PointXYZRGB>]’:
/opt/ros/hydro/include/message_filters/sync_policies/exact_time.h:126:102: required from ‘void message_filters::sync_policies::ExactTime<M0, M1, M2, M3, M4, M5, M6, M7, M8>::add(const typename boost::mpl::at_c<typename message_filters::PolicyBase<M0, M1, M2, M3, M4, M5, M6, M7, M8>::Events, i>::type&) [with int i = 1; M0 = sensor_msgs::Image_<std::allocator<void> >; M1 = pcl::PointCloud<pcl::PointXYZRGB>; M2 = message_filters::NullType; M3 = message_filters::NullType; M4 = message_filters::NullType; M5 = message_filters::NullType; M6 = message_filters::NullType; M7 = message_filters::NullType; M8 = message_filters::NullType; typename boost::mpl::at_c<typename message_filters::PolicyBase<M0, M1, M2, M3, M4, M5, M6, M7, M8>::Events, i>::type = ros::MessageEvent<const pcl::PointCloud<pcl::PointXYZRGB> >]’
/opt/ros/hydro/include/message_filters/synchronizer.h:358:5: required from ‘void message_filters::Synchronizer<Policy>::cb(const typename boost::mpl::at_c<typename Policy::Events, i>::type&) [with int i = 1; Policy = message_filters::sync_policies::ExactTime<sensor_msgs::Image_<std::allocator<void> >, pcl::PointCloud<pcl::PointXYZRGB>, message_filters::NullType, message_filters::NullType, message_filters::NullType, message_filters::NullType, message_filters::NullType, message_filters::NullType, message_filters::NullType>; typename boost::mpl::at_c<typename Policy::Events, i>::type = ros::MessageEvent<const pcl::PointCloud<pcl::PointXYZRGB> >]’
/opt/ros/hydro/include/message_filters/synchronizer.h:291:5: required from ‘void message_filters::Synchronizer<Policy>::connectInput(F0&, F1&, F2&, F3&, F4&, F5&, F6&, F7&, F8&) [with F0 = message_filters::Subscriber<sensor_msgs::Image_<std::allocator<void> > >; F1 = message_filters::Subscriber<pcl::PointCloud<pcl::PointXYZRGB> >; F2 = message_filters::NullFilter<message_filters::NullType>; F3 = message_filters::NullFilter<message_filters::NullType>; F4 = message_filters::NullFilter<message_filters::NullType>; F5 = message_filters::NullFilter<message_filters::NullType>; F6 = message_filters::NullFilter<message_filters::NullType>; F7 = message_filters::NullFilter<message_filters::NullType>; F8 = message_filters::NullFilter<message_filters::NullType>; Policy = message_filters::sync_policies::ExactTime<sensor_msgs::Image_<std::allocator<void> >, pcl::PointCloud<pcl::PointXYZRGB>, message_filters::NullType, message_filters::NullType, message_filters::NullType, message_filters::NullType, message_filters::NullType, message_filters::NullType, message_filters::NullType>]’
/opt/ros/hydro/include/message_filters/synchronizer.h:282:5: required from ‘void message_filters::Synchronizer<Policy>::connectInput(F0&, F1&, F2&, F3&, F4&, F5&, F6&, F7&) [with F0 = message_filters::Subscriber<sensor_msgs::Image_<std::allocator<void> > >; F1 = message_filters::Subscriber<pcl::PointCloud<pcl::PointXYZRGB> >; F2 = message_filters::NullFilter<message_filters::NullType>; F3 = message_filters::NullFilter<message_filters::NullType>; F4 = message_filters::NullFilter<message_filters::NullType>; F5 = message_filters::NullFilter<message_filters::NullType>; F6 = message_filters::NullFilter<message_filters::NullType>; F7 = message_filters::NullFilter<message_filters::NullType>; Policy = message_filters::sync_policies::ExactTime<sensor_msgs::Image_<std::allocator<void> >, pcl::PointCloud<pcl::PointXYZRGB>, message_filters::NullType, message_filters::NullType, message_filters::NullType, message_filters::NullType, message_filters::NullType, message_filters::NullType, message_filters::NullType>]’
/opt/ros/hydro/include/message_filters/synchronizer.h:275:5: required from ‘void message_filters::Synchronizer<Policy>::connectInput(F0&, F1&, F2&, F3&, F4&, F5&, F6&) [with F0 = message_filters::Subscriber<sensor_msgs::Image_<std::allocator<void> > >; F1 = message_filters::Subscriber<pcl::PointCloud<pcl::PointXYZRGB> >; F2 = message_filters::NullFilter<message_filters::NullType>; F3 = message_filters::NullFilter<message_filters::NullType>; F4 = message_filters::NullFilter<message_filters::NullType>; F5 = message_filters::NullFilter<message_filters::NullType>; F6 = message_filters::NullFilter<message_filters::NullType>; Policy = message_filters::sync_policies::ExactTime<sensor_msgs::Image_<std::allocator<void> >, pcl::PointCloud<pcl::PointXYZRGB>, message_filters::NullType, message_filters::NullType, message_filters::NullType, message_filters::NullType, message_filters::NullType, message_filters::NullType, message_filters::NullType>]’
/opt/ros/hydro/include/message_filters/synchronizer.h:268:5: required from ‘void message_filters::Synchronizer<Policy>::connectInput(F0&, F1&, F2&, F3&, F4&, F5&) [with F0 = message_filters::Subscriber<sensor_msgs::Image_<std::allocator<void> > >; F1 = message_filters::Subscriber<pcl::PointCloud<pcl::PointXYZRGB> >; F2 = message_filters::NullFilter<message_filters::NullType>; F3 = message_filters::NullFilter<message_filters::NullType>; F4 = message_filters::NullFilter<message_filters::NullType>; F5 = message_filters::NullFilter<message_filters::NullType>; Policy = message_filters::sync_policies::ExactTime<sensor_msgs::Image_<std::allocator<void> >, pcl::PointCloud<pcl::PointXYZRGB>, message_filters::NullType, message_filters::NullType, message_filters::NullType, message_filters::NullType, message_filters::NullType, message_filters::NullType, message_filters::NullType>]’
/opt/ros/hydro/include/message_filters/synchronizer.h:261:5: required from ‘void message_filters::Synchronizer<Policy>::connectInput(F0&, F1&, F2&, F3&, F4&) [with F0 = message_filters::Subscriber<sensor_msgs::Image_<std::allocator<void> > >; F1 = message_filters::Subscriber<pcl::PointCloud<pcl::PointXYZRGB> >; F2 = message_filters::NullFilter<message_filters::NullType>; F3 = message_filters::NullFilter<message_filters::NullType>; F4 = message_filters::NullFilter<message_filters::NullType>; Policy = message_filters::sync_policies::ExactTime<sensor_msgs::Image_<std::allocator<void> >, pcl::PointCloud<pcl::PointXYZRGB>, message_filters::NullType, message_filters::NullType, message_filters::NullType, message_filters::NullType, message_filters::NullType, message_filters::NullType, message_filters::NullType>]’
/opt/ros/hydro/include/message_filters/synchronizer.h:254:5: required from ‘void message_filters::Synchronizer<Policy>::connectInput(F0&, F1&, F2&, F3&) [with F0 = message_filters::Subscriber<sensor_msgs::Image_<std::allocator<void> > >; F1 = message_filters::Subscriber<pcl::PointCloud<pcl::PointXYZRGB> >; F2 = message_filters::NullFilter<message_filters::NullType>; F3 = message_filters::NullFilter<message_filters::NullType>; Policy = message_filters::sync_policies::ExactTime<sensor_msgs::Image_<std::allocator<void> >, pcl::PointCloud<pcl::PointXYZRGB>, message_filters::NullType, message_filters::NullType, message_filters::NullType, message_filters::NullType, message_filters::NullType, message_filters::NullType, message_filters::NullType>]’
/opt/ros/hydro/include/message_filters/synchronizer.h:247:5: required from ‘void message_filters::Synchronizer<Policy>::connectInput(F0&, F1&, F2&) [with F0 = message_filters::Subscriber<sensor_msgs::Image_<std::allocator<void> > >; F1 = message_filters::Subscriber<pcl::PointCloud<pcl::PointXYZRGB> >; F2 = message_filters::NullFilter<message_filters::NullType>; Policy = message_filters::sync_policies::ExactTime<sensor_msgs::Image_<std::allocator<void> >, pcl::PointCloud<pcl::PointXYZRGB>, message_filters::NullType, message_filters::NullType, message_filters::NullType, message_filters::NullType, message_filters::NullType, message_filters::NullType, message_filters::NullType>]’
/opt/ros/hydro/include/message_filters/synchronizer.h:240:5: required from ‘void message_filters::Synchronizer<Policy>::connectInput(F0&, F1&) [with F0 = message_filters::Subscriber<sensor_msgs::Image_<std::allocator<void> > >; F1 = message_filters::Subscriber<pcl::PointCloud<pcl::PointXYZRGB> >; Policy = message_filters::sync_policies::ExactTime<sensor_msgs::Image_<std::allocator<void> >, pcl::PointCloud<pcl::PointXYZRGB>, message_filters::NullType, message_filters::NullType, message_filters::NullType, message_filters::NullType, message_filters::NullType, message_filters::NullType, message_filters::NullType>]’
/opt/ros/hydro/include/message_filters/time_synchronizer.h:120:5: required from ‘message_filters::TimeSynchronizer<M0, M1, M2, M3, M4, M5, M6, M7, M8>::TimeSynchronizer(F0&, F1&, uint32_t) [with F0 = message_filters::Subscriber<sensor_msgs::Image_<std::allocator<void> > >; F1 = message_filters::Subscriber<pcl::PointCloud<pcl::PointXYZRGB> >; M0 = sensor_msgs::Image_<std::allocator<void> >; M1 = pcl::PointCloud<pcl::PointXYZRGB>; M2 = message_filters::NullType; M3 = message_filters::NullType; M4 = message_filters::NullType; M5 = message_filters::NullType; M6 = message_filters::NullType; M7 = message_filters::NullType; M8 = message_filters::NullType; uint32_t = unsigned int]’
/home/caiom/ros_workspace/obstacledetection/src/main.cpp:195:123: required from here
/opt/ros/hydro/include/ros/message_traits.h:219:56: error: could not convert ‘m.pcl::PointCloud<pcl::PointXYZRGB>::header.pcl::PCLHeader::stamp’ from ‘const uint64_t {aka const long long unsigned int}’ to ‘ros::Time’
/opt/ros/hydro/include/ros/message_traits.h: In static member function ‘static ros::Time ros::message_traits::TimeStamp<M, typename boost::enable_if<ros::message_traits::HasHeader<M> >::type>::value(const M&) [with M = pcl::PointCloud<pcl::PointXYZRGB>]’:
/opt/ros/hydro/include/ros/message_traits.h:219:63: warning: control reaches end of non-void function [-Wreturn-type]
Anyone have any idea on how to fix this? It seems these errors are not my fault, at most the template class that I have chosen.
Thanks.
Originally posted by v3n0w on ROS Answers with karma: 1 on 2013-09-25
Post score: 0