Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

rosmake youbot_oodl failed

I am trying to install ROS fuerte in Raspberry Pi to interface youbot manipulator. when i build youbot_oodl using 'rosmake youbot_oodl', It gives an error regarding boost::units is missing...

/home/pi/youbot/ros_stacks/youbot-ros-pkg/youbot_drivers/youbot_oodl/src/YouBotOODLWrapper.cpp:455: undefined reference to std::basic_string<char, std::char_traits<char>, std::allocator<char> > boost::units::to_string<boost::units::unit<boost::units::list<boost::units::dim<boost::units::time_base_dimension, boost::units::static_rational<-1l, 1l> >, boost::units::list<boost::units::dim<boost::units::plane_angle_base_dimension, boost::units::static_rational<1l, 1l> >, boost::units::dimensionless_type> >, boost::units::homogeneous_system<boost::units::list<boost::units::si::meter_base_unit, boost::units::list<boost::units::scaled_base_unit<boost::units::cgs::gram_base_unit, boost::units::scale<10l, boost::units::static_rational<3l, 1l> > >, boost::units::list<boost::units::si::second_base_unit, boost::units::list<boost::units::si::ampere_base_unit, boost::units::list<boost::units::si::kelvin_base_unit, boost::units::list<boost::units::si::mole_base_unit, boost::units::list<boost::units::si::candela_base_unit, boost::units::list<boost::units::angle::radian_base_unit, boost::units::list<boost::units::angle::steradian_base_unit, boost::units::dimensionless_type> > > > > > > > > >, void> >(boost::units::unit<boost::units::list<boost::units::dim<boost::units::time_base_dimension, boost::units::static_rational<-1l, 1l> >, boost::units::list<boost::units::dim<boost::units::plane_angle_base_dimension, boost::units::static_rational<1l, 1l> >, boost::units::dimensionless_type> >, boost::units::homogeneous_system<boost::units::list<boost::units::si::meter_base_unit, boost::units::list<boost::units::scaled_base_unit<boost::units::cgs::gram_base_unit, boost::units::scale<10l, boost::units::static_rational<3l, 1l> > >, boost::units::list<boost::units::si::second_base_unit, boost::units::list<boost::units::si::ampere_base_unit, boost::units::list<boost::units::si::kelvin_base_unit, boost::units::list<boost::units::si::mole_base_unit, boost::units::list<boost::units::si::candela_base_unit, boost::units::list<boost::units::angle::radian_base_unit, boost::units::list<boost::units::angle::steradian_base_unit, boost::units::dimensionless_type> > > > > > > > > >, void> const&)' CMakeFiles/youbot_oodl.dir/src/YouBotOODLWrapper.o: In functionyouBot::YouBotOODLWrapper::armPositionsCommandCallback(boost::shared_ptr<brics_actuator::jointpositions_<std::allocator<void> > const> const&, int)': /home/pi/youbot/ros_stacks/youbot-ros-pkg/youbot_drivers/youbot_oodl/src/YouBotOODLWrapper.cpp:389: undefined reference to `std::basic_string<char, std::char_traits<char="">, std::allocator<char> > boost::units::to_string<boost::units::unit<boost::units::list<boost::units::dim<boost::units::plane_angle_base_dimension, boost::units::static_rational&lt;1l,="" 1l=""> >, boost::units::dimensionless_type>, boost::units::homogeneous_system<boost::units::list<boost::units::si::meter_base_unit, boost::units::list<boost::units::scaled_base_unit<boost::units::cgs::gram_base_unit,="" boost::units::scale&lt;10l,="" boost::units::static_rational&lt;3l,="" 1l=""> > >, boost::units::list<boost::units::si::second_base_unit, boost::units::list<boost::units::si::ampere_base_unit,="" boost::units::list<boost::units::si::kelvin_base_unit,="" boost::units::list<boost::units::si::mole_base_unit,="" boost::units::list<boost::units::si::candela_base_unit,="" boost::units::list<boost::units::angle::radian_base_unit,="" boost::units::list<boost::units::angle::steradian_base_unit,="" boost::units::dimensionless_type=""> > > > > > > > > >, void> >(boost::units::unit<boost::units::list<boost::units::dim<boost::units::plane_angle_base_dimension, boost::units::static_rational&lt;1l,="" 1l=""> >, boost::units::dimensionless_type>, boost::units::homogeneous_system<boost::units::list<boost::units::si::meter_base_unit, boost::units::list<boost::units::scaled_base_unit<boost::units::cgs::gram_base_unit,="" boost::units::scale&lt;10l,="" boost::units::static_rational&lt;3l,="" 1l=""> > >, boost::units::list<boost::units::si::second_base_unit, boost::units::list<boost::units::si::ampere_base_unit,="" boost::units::list<boost::units::si::kelvin_base_unit,="" boost::units::list<boost::units::si::mole_base_unit,="" boost::units::list<boost::units::si::candela_base_unit,="" boost::units::list<boost::units::angle::radian_base_unit,="" boost::units::list<boost::units::angle::steradian_base_unit,="" boost::units::dimensionless_type=""> > > > > > > > > >, void> const&)' collect2: ld returned 1 exit status CMakeFiles/youbot_oodl.dir/build.make:292: recipe for target '../bin/youbot_oodl' failed make[3]: * [../bin/youbot_oodl] Error 1 make[3]: Leaving directory '/home/pi/youbot/ros_stacks/youbot-ros-pkg/youbot_drivers/youbot_oodl/build' CMakeFiles/Makefile2:597: recipe for target 'CMakeFiles/youbot_oodl.dir/all' failed make[2]: [CMakeFiles/youbot_oodl.dir/all] Error 2 make[2]: Leaving directory '/home/pi/youbot/ros_stacks/youbot-ros-pkg/youbot_drivers/youbot_oodl/build' Makefile:72: recipe for target 'all' failed make[1]: [all] Error 2 make[1]: Leaving directory '/home/pi/youbot/ros_stacks/youbot-ros-pkg/youbot_drivers/youbot_oodl/build' /opt/ros/fuerte/share/ros/core/mk/cmake.mk:7: recipe for target 'all' failed make: * [all] Error 2

I tried to fix the error and put the following lines in the CMakefile.txt rosbuild_add_boost_directories() rosbuild_link_boost(youbot_oodl units)

After i tried again 'rosmake youbot_oodl', it gives some other errors

mkdir -p bin cd build && cmake -Wdev -DCMAKE_TOOLCHAIN_FILE=rospack find rosbuild/rostoolchain.cmake .. -- Boost version: 1.49.0 -- Found the following Boost libraries: -- thread -- date_time -- filesystem -- system [rosbuild] Building package youbot_oodl [rosbuild] Including /opt/ros/fuerte/share/rospy/rosbuild/rospy.cmake [rosbuild] Including /opt/ros/fuerte/share/roslisp/rosbuild/roslisp.cmake [rosbuild] Including /opt/ros/fuerte/share/roscpp/rosbuild/roscpp.cmake CMake Error at /opt/ros/fuerte/share/ros/core/rosbuild/public.cmake:892 (message): [rosboost-cfg --libs units] failed with error: Traceback (most recent call last):

File "/opt/ros/fuerte/bin/rosboost-cfg", line 4, in <module>
  __import__('pkg_resources').run_script('roslib==1.8.10', 'rosboost-cfg')
File "/usr/local/lib/python2.7/dist-packages/pkg_resources.py", line 517, in run_script
  self.require(requires)[0].run_script(script_name, ns)
File "/usr/local/lib/python2.7/dist-packages/pkg_resources.py", line 1443, in run_script
  exec(script_code, namespace, namespace)
File "/opt/ros/fuerte/lib/python2.7/dist-packages/roslib-1.8.10-py2.7.egg/EGG-INFO/scripts/rosboost-cfg", line 35, in <module>

File "build/bdist.linux-armv6l/egg/rosboost_cfg/rosboost_cfg.py", line 359, in main
File "build/bdist.linux-armv6l/egg/rosboost_cfg/rosboost_cfg.py", line 278, in lflags
File "build/bdist.linux-armv6l/egg/rosboost_cfg/rosboost_cfg.py", line 268, in lib_flags
File "build/bdist.linux-armv6l/egg/rosboost_cfg/rosboost_cfg.py", line 249, in find_lib

rosboost_cfg.rosboost_cfg.BoostError: "Could not locate library [units], version (1, 49, 0, '/usr', '/usr/include', True, True) in lib directory [/usr/lib]"

Call Stack (most recent call first): CMakeLists.txt:85 (rosbuild_link_boost)

-- Configuring incomplete, errors occurred! /opt/ros/fuerte/share/ros/core/mk/cmake.mk:7: recipe for target 'all' failed make: * [all] Error 1

kindly let me know, how to resolve this issue.