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 function
youBot::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, std::allocator > boost::units::to_string<boost::units::unit<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::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&)'
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.
Originally posted by Max on ROS Answers with karma: 1 on 2014-10-29
Post score: 0