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

Failed to build octomap_server

asked 2011-07-28 10:01:49 -0600

VitaliyProoks gravatar image

updated 2012-03-01 20:48:18 -0600

kwc gravatar image

Hello, I'm new both to ROS and to linux. I've tried to build 3d_navigation package as it is described in tutorial: 3d_navigation. After completing all the steps to check out the code from svn repositories and calling

rosmake --rosdep-install 3d_navigation

I get an error that octomap_server fails to be built.

If I install just single package octomap_server and build it

rosmake octomap_server

I get the same error. Below is the log of build failures.

Note that I install packages in custom folder ~/ros_stacks and all the paths are configured in bashrc. The OS I use is Ubuntu 11.04. The distribution of ROS is Diamondback.

How can I solve this problem?

Build failures with context:
---------------------
octomap_server
mkdir -p bin
cd build && cmake -Wdev -DCMAKE_TOOLCHAIN_FILE=`rospack find rosbuild`/rostoolchain.cmake  ..
[rosbuild] Building package octomap_server
[rosbuild] Including /opt/ros/diamondback/stacks/ros_comm/clients/roslisp/cmake/roslisp.cmake
[rosbuild] Including /opt/ros/diamondback/stacks/ros_comm/clients/rospy/cmake/rospy.cmake
[rosbuild] Including /opt/ros/diamondback/stacks/ros_comm/clients/cpp/roscpp/cmake/roscpp.cmake
-- Configuring done
-- Generating done
-- Build files have been written to: /home/probob/ros_stacks/octomap_server/build
cd build && make -l2
make[1]: Entering folder `/home/probob/ros_stacks/octomap_server/build'
make[2]: Entering folder `/home/probob/ros_stacks/octomap_server/build'
make[3]: Entering folder `/home/probob/ros_stacks/octomap_server/build'
make[3]: Exiting from folder `/home/probob/ros_stacks/octomap_server/build'
[  0%] Built target rospack_genmsg_libexe
make[3]: Entering folder `/home/probob/ros_stacks/octomap_server/build'
make[3]: Exiting from folder `/home/probob/ros_stacks/octomap_server/build'
[  0%] Built target rosbuild_precompile
make[3]: Entering folder `/home/probob/ros_stacks/octomap_server/build'
make[3]: Exiting from folder `/home/probob/ros_stacks/octomap_server/build'
make[3]: Entering folder `/home/probob/ros_stacks/octomap_server/build'
[ 20%] Building CXX object CMakeFiles/octomap_server.dir/src/OctomapServerCombined.o
/home/probob/ros_stacks/octomap_server/src/OctomapServerCombined.cpp: In member function ‘void octomap::OctomapServerCombined::insertCloudCallback(const sensor_msgs::PointCloud2_<std::allocator<void> >::ConstPtr&)’:
/home/probob/ros_stacks/octomap_server/src/OctomapServerCombined.cpp:164:3: error: ‘KeySet’ is not a member of ‘octomap::OctomapROS<octomap::OcTree>::OcTreeType’
/home/probob/ros_stacks/octomap_server/src/OctomapServerCombined.cpp:164:33: error: expected ‘;’ before ‘free_cells’
/home/probob/ros_stacks/octomap_server/src/OctomapServerCombined.cpp:177:6: error: ‘free_cells’ was not declared in this scope
/home/probob/ros_stacks/octomap_server/src/OctomapServerCombined.cpp:183:7: error: ‘occupied_cells’ was not declared in this scope
/home/probob/ros_stacks/octomap_server/src/OctomapServerCombined.cpp:189:9: error: ‘free_cells’ was not declared in this scope
/home/probob/ros_stacks/octomap_server/src/OctomapServerCombined.cpp:198:33: error: ‘octomap::OcTreeType::KeySet’ has not been declared
/home/probob/ros_stacks/octomap_server/src/OctomapServerCombined.cpp:198:50: error: expected ‘;’ before ‘it’
/home/probob/ros_stacks/octomap_server/src/OctomapServerCombined.cpp:198:97: error: name lookup of ‘it’ changed for ISO ‘for’ scoping
/home/probob/ros_stacks/octomap_server/src/OctomapServerCombined.cpp:198:97: note: (if you use ‘-fpermissive’ G++ will accept your code)
/home/probob/ros_stacks/octomap_server/src/OctomapServerCombined.cpp:198:102: error: ‘end’ was not declared in this scope
/home/probob/ros_stacks/octomap_server/src/OctomapServerCombined.cpp:199:12: error: ‘occupied_cells’ was not declared in this ...
(more)
edit retag flag offensive close merge delete

2 Answers

Sort by » oldest newest most voted
1

answered 2011-07-28 21:10:11 -0600

AHornung gravatar image

I am currently working on all of it for improvements - 3d_navigation, octomap_server and octomap. Some of these improvements require changes in all of these packages simultaneously, and the underlying OctoMap library package itself. There is now a new OctoMap 1.1.1 released for testing and the octomap package is updated to use the new version. Update your packages ("svn up" in octomap should be enough) and all should compile again.

That being said, expect changes throughout the code as it is still under active development.

edit flag offensive delete link more
0

answered 2011-08-01 00:47:46 -0600

VitaliyProoks gravatar image

updated 2011-08-01 00:48:05 -0600

It's interesting that the problem is not really in octomap_server. After changing folder permissions for the local user to read and write, octomap_server and whole octomap_mapping packages are compiled normally.

But when I call rosmake 3d_navigation I get two failures regarding motion_planning_common package.

In file motion_planning_common/planning_environment/src/models I've changed the line 79:

kmodel_ = new planning_models::KinematicModel::KinematicModel(*urdf_, group_configs, multi_dof_configs);

to

kmodel_ = new planning_models::KinematicModel(*urdf_, group_configs, multi_dof_configs);

In file motion_planning_common/planning_environment/src/tools I've added

#include <boost/thread.hpp>

After those fixes I could successfully compile 3d_navigation package and run the simulation.

edit flag offensive delete link more

Comments

This is a different error. It's probably because you have a newer (more "critical") g++ version than the code was compiled for.
dornhege gravatar image dornhege  ( 2011-08-01 01:59:06 -0600 )edit
Please extend your original question or add a comment, instead of posting it as "answer".
AHornung gravatar image AHornung  ( 2011-08-01 02:05:10 -0600 )edit
Also note that the installation instruction of 3d_navigation currently use a fixed rev. of motion_planning_common. This problems might already be fixed there, but I still have a few changes to make to 3d_navigation so it compiles with the latest version. But good to hear it's compiling and running!
AHornung gravatar image AHornung  ( 2011-08-01 02:08:19 -0600 )edit

Question Tools

Stats

Asked: 2011-07-28 10:01:49 -0600

Seen: 1,298 times

Last updated: Aug 01 '11