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. **************************************************