[ros-users] cturtle upgrade issues

Barry O'Brien bobrien at newtonrobotics.com
Tue Nov 9 19:01:07 UTC 2010


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




More information about the ros-users mailing list