ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question
0

Error building catkin on Pandaboard ES (Groovy)

asked 2013-05-03 12:52:28 -0500

ferre gravatar image

updated 2014-01-28 17:16:25 -0500

ngrennan gravatar image

Hi, I'm fairly new to Linux and ROS. I'm trying to install Groovy onto my Pandaboard ES running Ubuntu 12.04. Upon building the catkin packages I get the following errors. I have followed both of the instructions in the links below with no success yet .

Thanks in advance!

<== Finished processing package [89 of 147]: 'sensor_msgs'
==> Processing catkin package: 'camera_calibration_parsers'
==> Building with env: '/opt/ros/groovy/env.sh'
Makefile exists, skipping explicit cmake invocation...
==> make cmake_check_build_system in '/opt/ros/groovy/ros_catkin_ws/build_isolated/camera_calibration_parsers' 
==> make -j2 -l2 in '/opt/ros/groovy/ros_catkin_ws/build_isolated/camera_calibration_parsers'
[ 25%] Building CXX object CMakeFiles/camera_calibration_parsers.dir/src/parse_yml.cpp.o
/opt/ros/groovy/ros_catkin_ws/src/camera_calibration_parsers/src/parse_yml.cpp: In function ‘void camera_calibration_parsers::operator>>(const YAML::Node&, camera_calibration_parsers::SimpleMatrix&)’:
/opt/ros/groovy/ros_catkin_ws/src/camera_calibration_parsers/src/parse_yml.cpp:87:19: error: no match for ‘operator>>’ in ‘YAML::Node::operator[](const Key&) const [with Key = char [5]]((*"rows")) >> rows’
/opt/ros/groovy/ros_catkin_ws/src/camera_calibration_parsers/src/parse_yml.cpp:87:19: note: candidate is:
/opt/ros/groovy/ros_catkin_ws/src/camera_calibration_parsers/src/parse_yml.cpp:84:6: note: void camera_calibration_parsers::operator>>(const YAML::Node&, camera_calibration_parsers::SimpleMatrix&)
/opt/ros/groovy/ros_catkin_ws/src/camera_calibration_parsers/src/parse_yml.cpp:84:6: note:   no known conversion for argument 2 from ‘int’ to ‘camera_calibration_parsers::SimpleMatrix&’
/opt/ros/groovy/ros_catkin_ws/src/camera_calibration_parsers/src/parse_yml.cpp:89:19: error: no match for ‘operator>>’ in ‘YAML::Node::operator[](const Key&) const [with Key = char [5]]((*"cols")) >> cols’
/opt/ros/groovy/ros_catkin_ws/src/camera_calibration_parsers/src/parse_yml.cpp:89:19: note: candidate is:
/opt/ros/groovy/ros_catkin_ws/src/camera_calibration_parsers/src/parse_yml.cpp:84:6: note: void camera_calibration_parsers::operator>>(const YAML::Node&, camera_calibration_parsers::SimpleMatrix&)
/opt/ros/groovy/ros_catkin_ws/src/camera_calibration_parsers/src/parse_yml.cpp:84:6: note:   no known conversion for argument 2 from ‘int’ to ‘camera_calibration_parsers::SimpleMatrix&’
/opt/ros/groovy/ros_catkin_ws/src/camera_calibration_parsers/src/parse_yml.cpp:93:24: error: no match for ‘operator>>’ in ‘YAML::Node::operator[](const Key&) const [with Key = int]((*(const int*)(& i))) >> *(m.camera_calibration_parsers::SimpleMatrix::data + ((unsigned int)(((unsigned int)i) * 8u)))’
/opt/ros/groovy/ros_catkin_ws/src/camera_calibration_parsers/src/parse_yml.cpp:93:24: note: candidate is:
/opt/ros/groovy/ros_catkin_ws/src/camera_calibration_parsers/src/parse_yml.cpp:84:6: note: void camera_calibration_parsers::operator>>(const YAML::Node&, camera_calibration_parsers::SimpleMatrix&)
/opt/ros/groovy/ros_catkin_ws/src/camera_calibration_parsers/src/parse_yml.cpp:84:6: note:   no known conversion for argument 2 from ‘double’ to ‘camera_calibration_parsers::SimpleMatrix&’
/opt/ros/groovy/ros_catkin_ws/src/camera_calibration_parsers/src/parse_yml.cpp: In function ‘bool camera_calibration_parsers::readCalibrationYml(std::istream&, std::string&, sensor_msgs::CameraInfo&)’:
/opt/ros/groovy/ros_catkin_ws/src/camera_calibration_parsers/src/parse_yml.cpp:153:12: error: ‘class YAML::Parser’ has no member named ‘GetNextDocument’
/opt/ros/groovy/ros_catkin_ws/src/camera_calibration_parsers/src/parse_yml.cpp:155:43: error: ‘class YAML::Node’ has no member named ‘FindValue’
/opt/ros/groovy/ros_catkin_ws/src/camera_calibration_parsers/src/parse_yml.cpp:156:21: error: no match for ‘operator>>’ in ‘* name_node >> camera_name’
/opt/ros/groovy/ros_catkin_ws/src/camera_calibration_parsers/src/parse_yml.cpp:156:21: note: candidates are:
/opt/ros/groovy/ros_catkin_ws/src/camera_calibration_parsers/src/parse_yml.cpp:84:6: note: void camera_calibration_parsers ...
(more)
edit retag flag offensive close merge delete

Comments

the links to the instructions I followed are: http://www.ros.org/wiki/groovy/Installation/PandaBoard/Source and http://www.ros.org/wiki/groovy/Installation/Raspbian/Source

ferre gravatar image ferre  ( 2013-05-03 12:53:07 -0500 )edit

Please edit your question include the lines prior to these. They contain the actual error.

tfoote gravatar image tfoote  ( 2013-05-05 08:04:01 -0500 )edit

@zumili, do you have any thoughts?

ferre gravatar image ferre  ( 2013-05-06 11:27:31 -0500 )edit

@tfoote, let me know if the edit helps.

ferre gravatar image ferre  ( 2013-05-06 13:43:41 -0500 )edit

2 Answers

Sort by » oldest newest most voted
2

answered 2013-05-06 14:58:24 -0500

ahendrix gravatar image

If you can, try using the ARM debs instead of building from source. I've been quite happy with them on my Pandaboard: http://www.ros.org/wiki/groovy/Installation/UbuntuARM

edit flag offensive delete link more

Comments

Hi ahendrix, thanks for the tip. So far ros-groovy-ros-base installed without problems. However after following point 4 of http://tinyurl.com/bp5tdjp I get sudo: catkin_init_workspace: command not found even though I confirmed I have ros-groovy-catkin installed. Any ideas?

ferre gravatar image ferre  ( 2013-05-06 17:22:45 -0500 )edit

@ferre it sounds like you are doing something like sudo catkin_init_workspace ... which will not work because your sudo environment has not done source /opt/ros/groovy/setup.bash. I would highly discourage you from using sudo to build source code...

William gravatar image William  ( 2013-05-06 18:21:21 -0500 )edit
1

But... you can work around this by doing something like this: sudo bash and then your command, catkin_init_workspace ...

William gravatar image William  ( 2013-05-06 18:22:07 -0500 )edit

@William thanks for the advice, it is up and running! Fantastic! Just wondering about why not using sudo to build source code?

ferre gravatar image ferre  ( 2013-05-07 06:37:06 -0500 )edit
2

You should really avoid running with sudo when ever possible, it's dangerous, for example sudo rm -rf build/ can easily become sudo rm -rf build / on accident.

William gravatar image William  ( 2013-05-07 06:51:51 -0500 )edit
1

+1 Also, sudo leaves build files around that you cannot change, and does not use your carefully-constructed ROS environment.

joq gravatar image joq  ( 2013-05-07 07:07:56 -0500 )edit

Thanks for the explanation. I wasn't aware of that and spent quite a while trying to build ROS from source. Lessons to take home: 1. installing ROS in the Pandaboard ES with the instructions @ahendrix provided. 2. work as SU instead of using sudo to avoid undesirable behaviors.

ferre gravatar image ferre  ( 2013-05-07 08:28:22 -0500 )edit
1

answered 2013-05-06 14:03:03 -0500

William gravatar image

Looks like a version mismatch of yaml-cpp (it recently updated to 0.5 and is not backwards compatible with 0.3).

Can you post the version of yaml-cpp that you are using?

edit flag offensive delete link more

Comments

Hi William, my version yaml-cpp is 0.5.1

ferre gravatar image ferre  ( 2013-05-06 15:58:03 -0500 )edit
1

@ferre that is definitely the problem then, you need to use yaml-cpp version 0.3.x with ROS. If you can find a way to get our code working with 0.5.x of yaml-cpp I would review a pull request to that end.

William gravatar image William  ( 2013-05-06 18:19:17 -0500 )edit

Question Tools

1 follower

Stats

Asked: 2013-05-03 12:52:28 -0500

Seen: 439 times

Last updated: May 06 '13