What is the code that's causing the error? (e.g. laser_proc.cpp:109). Are laserCmd and controlCmd generated from .srv files? What does their headers look like? Josh On Tue, Nov 9, 2010 at 11:01 AM, Barry O'Brien wrote: > Hello, > > I recently upgraded my system from box turtle to cturtle and am having > some odd compilation issues. I am running Ubuntu 9.10 (64-bit). > > I have four separate ROS nodes that have previously compiled and ran > just fine, but following the upgrade two of the four nodes are no longer > compiling. These two nodes (called surveyor_vision and surveyor_ui) > depend on services (laserCmd, controlCmd) defined in one of the other > (correctly building) nodes (called surveyor_ctrl). As far as I can tell, > the errors have to do with apparent changes to the way Services and > ServiceClients are implemented. > > After reading through the change logs for cturtle, it is clear that this > functionality was modified between box turtle and cturtle releases, but > that all changes made should have retained backwards compatibility. > Similarly, the OpenCV warnings should have been addressed in incremental > updates according to the mailing list and change logs but are still > being thrown. This is my confusion - I can see that others have seen > these errors/warnings, but that they should have been addressed with the > software I have installed. > > I have confirmed my Ubuntu package sources list matches that on the ROS > installation documentation, and apt-get reports all sources are > up-to-date. I have also confirmed that my .bashrc correctly points to > the cturtle setup script. > > My question is are there other places that are maintaining "hidden" > paths to box turtle libraries other than the rather obvious places I > mention above? Or does this point to a required code change in the > instantiation and/or use of these services? > > Please let me know if there is any other information that I am > forgetting to provide. > > The output from attempting to build surveyor_vision is below. > > Thanks, > Barry O'Brien > Newton Robotics > > 0%] Built target rospack_genmsg_libexe > [ 0%] Built target rosbuild_precompile > [ 50%] Building CXX object src/CMakeFiles/surveyor_vision.dir/laser_proc.o > In file included from > > /home/bobrien/newton/surveyor/surveyor_vision/include/surveyor_vision/laser_proc.h:5, > from /home/bobrien/newton/surveyor/surveyor_vision/src/laser_proc.cpp:1: > > /opt/ros/cturtle/stacks/vision_opencv/opencv2/opencv/include/opencv/cv.h:47:2: > warning: #warning "This is a deprecated opencv header provided for > compatibility. Please include a header from a corresponding opencv module" > In file included from > > /opt/ros/cturtle/stacks/vision_opencv/opencv2/opencv/include/opencv/cv.h:64, > from > > /home/bobrien/newton/surveyor/surveyor_vision/include/surveyor_vision/laser_proc.h:5, > from /home/bobrien/newton/surveyor/surveyor_vision/src/laser_proc.cpp:1: > > /opt/ros/cturtle/stacks/vision_opencv/opencv2/opencv/include/opencv2/core/internal.hpp:297:1: > warning: "CV_IMPL" redefined > In file included from > > /home/bobrien/newton/surveyor/surveyor_vision/include/surveyor_vision/laser_proc.h:5, > from /home/bobrien/newton/surveyor/surveyor_vision/src/laser_proc.cpp:1: > > /opt/ros/cturtle/stacks/vision_opencv/opencv2/opencv/include/opencv/cv.h:60:1: > warning: this is the location of the previous definition > > /opt/ros/cturtle/stacks/vision_opencv/opencv2/opencv/include/opencv/cv.h:67:8: > warning: extra tokens at end of #endif directive > In file included from > /opt/ros/cturtle/ros/core/roscpp/include/ros/service_client.h:33, > from /opt/ros/cturtle/ros/core/roscpp/include/ros/node_handle.h:35, > from /opt/ros/cturtle/ros/core/roscpp/include/ros/ros.h:45, > from > > /home/bobrien/newton/surveyor/surveyor_vision/include/surveyor_vision/laser_proc.h:4, > from /home/bobrien/newton/surveyor/surveyor_vision/src/laser_proc.cpp:1: > /opt/ros/cturtle/ros/core/roslib/include/ros/service_traits.h: In static > member function ‘static const char* > ros::service_traits::MD5Sum::value(const M&) [with M = > surveyor_ctrl::controlCmd]’: > /opt/ros/cturtle/ros/core/roslib/include/ros/service_traits.h:94: > instantiated from ‘const char* ros::service_traits::md5sum(const M&) > [with M = surveyor_ctrl::controlCmd]’ > /opt/ros/cturtle/ros/core/roscpp/include/ros/service_client.h:90: > instantiated from ‘bool ros::ServiceClient::call(Service&) [with Service > = surveyor_ctrl::controlCmd]’ > /home/bobrien/newton/surveyor/surveyor_vision/src/laser_proc.cpp:109: > instantiated from here > /opt/ros/cturtle/ros/core/roslib/include/ros/service_traits.h:49: error: > ‘const struct surveyor_ctrl::controlCmd’ has no member named > ‘__getServerMD5Sum’ > /opt/ros/cturtle/ros/core/roslib/include/ros/service_traits.h: In static > member function ‘static const char* > ros::service_traits::MD5Sum::value(const M&) [with M = > surveyor_ctrl::laserCmd]’: > /opt/ros/cturtle/ros/core/roslib/include/ros/service_traits.h:94: > instantiated from ‘const char* ros::service_traits::md5sum(const M&) > [with M = surveyor_ctrl::laserCmd]’ > /opt/ros/cturtle/ros/core/roscpp/include/ros/service_client.h:90: > instantiated from ‘bool ros::ServiceClient::call(Service&) [with Service > = surveyor_ctrl::laserCmd]’ > /home/bobrien/newton/surveyor/surveyor_vision/src/laser_proc.cpp:380: > instantiated from here > /opt/ros/cturtle/ros/core/roslib/include/ros/service_traits.h:49: error: > ‘const struct surveyor_ctrl::laserCmd’ has no member named > ‘__getServerMD5Sum’ > /opt/ros/cturtle/ros/core/roslib/include/ros/service_traits.h: In static > member function ‘static const char* > ros::service_traits::MD5Sum::value() [with M = > surveyor_ctrl::laserCmd]’: > /opt/ros/cturtle/ros/core/roslib/include/ros/service_traits.h:76: > instantiated from ‘const char* ros::service_traits::md5sum() [with M = > surveyor_ctrl::laserCmd]’ > /opt/ros/cturtle/ros/core/roscpp/include/ros/service_client_options.h:93: > instantiated > from ‘void ros::ServiceClientOptions::init(const std::string&, bool, > const ros::M_string&) [with Service = surveyor_ctrl::laserCmd]’ > /opt/ros/cturtle/ros/core/roscpp/include/ros/node_handle.h:1062: > instantiated from ‘ros::ServiceClient > ros::NodeHandle::serviceClient(const std::string&, bool, const > ros::M_string&) [with Service = surveyor_ctrl::laserCmd]’ > /home/bobrien/newton/surveyor/surveyor_vision/src/laser_proc.cpp:18: > instantiated from here > /opt/ros/cturtle/ros/core/roslib/include/ros/service_traits.h:44: error: > ‘__s_getServerMD5Sum’ is not a member of ‘surveyor_ctrl::laserCmd’ > /opt/ros/cturtle/ros/core/roslib/include/ros/service_traits.h: In static > member function ‘static const char* > ros::service_traits::MD5Sum::value() [with M = > surveyor_ctrl::controlCmd]’: > /opt/ros/cturtle/ros/core/roslib/include/ros/service_traits.h:76: > instantiated from ‘const char* ros::service_traits::md5sum() [with M = > surveyor_ctrl::controlCmd]’ > /opt/ros/cturtle/ros/core/roscpp/include/ros/service_client_options.h:93: > instantiated > from ‘void ros::ServiceClientOptions::init(const std::string&, bool, > const ros::M_string&) [with Service = surveyor_ctrl::controlCmd]’ > /opt/ros/cturtle/ros/core/roscpp/include/ros/node_handle.h:1062: > instantiated from ‘ros::ServiceClient > ros::NodeHandle::serviceClient(const std::string&, bool, const > ros::M_string&) [with Service = surveyor_ctrl::controlCmd]’ > /home/bobrien/newton/surveyor/surveyor_vision/src/laser_proc.cpp:33: > instantiated from here > /opt/ros/cturtle/ros/core/roslib/include/ros/service_traits.h:44: error: > ‘__s_getServerMD5Sum’ is not a member of ‘surveyor_ctrl::controlCmd’ > make[2]: *** [src/CMakeFiles/surveyor_vision.dir/laser_proc.o] Error 1 > make[1]: *** [src/CMakeFiles/surveyor_vision.dir/all] Error 2 > make: *** [all] Error 2 > > -- > Barry O'Brien > Software Engineer > Newton Labs > O: (425) 251-9600 > C: (571) 334-5719 > > ************************************************** > These communications are without prejudice to Newton's rights under any > existing agreement and should not be considered as binding upon Newton, > until Newton affirmatively agrees in writing. This e-mail and any of its > attachments may contain Newton proprietary information, which is privileged, > confidential, or subject to copyright belonging to Newton family of > Companies. This e-mail is intended solely for the use of the individual or > entity to which it is addressed. If you are not the intended recipient of > this e-mail, you are hereby notified that any dissemination, distribution, > copying, or action taken in relation to the contents of and attachments to > this e-mail is strictly prohibited and may be unlawful. If you have received > this e-mail in error, please notify the sender immediately and permanently > delete the original and any copy of this e-mail and any printout. Thank You. > ************************************************** > > _______________________________________________ > ros-users mailing list > ros-users@code.ros.org > https://code.ros.org/mailman/listinfo/ros-users >