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

karto installation

asked 2012-10-19 06:16:18 -0500

sbragagnolo gravatar image

updated 2014-01-28 17:14:00 -0500

ngrennan gravatar image

Hi all!

I'm on a Ubuntu lucid lynx with a ROS Fuerte trying to install slam_karto.

In order to do that, im followind the related tutorial:

http://www.ros.org/wiki/karto

I've already checkouted the code from

https://code.ros.org/svn/ros-pkg/stacks/slam_karto/tags/slam_karto-0.4.0

And im following the steps,

i go to the checkouted folder, create a 'build' folder and excecute the cmake "Unix Makefiles" .. from this recently created folder. It generates a lot of stuff in the build folder, but when i execute make it does nothing at all.

Ok, i go to the karto folder, try with a same recipe (wondering if the folder is not the checkouted but other, cause is not specified in the tutorial), and it not works.

Then i tried with a rosmake in the karto folder (slam_karto/karto/$ rosmake) cause i realized theres a manifest.xml in there. It checkout the karto from svn (i dont know which revision or from where cause is not logged) into a karto-svn folder inner my karto/build folder. and then in the karto-svn folder i find a libOpenKarto.so, but i dont know what todo with that. And in other hand, the samples are not compiled.

Probably i'm missing something obvious, but i use about 4 hours and i didnt find any clue.

Do any one know what could be?

Here is tree output of my directory.

Thanks in advice!

PS: this karto folder is in a folder which is registered in ROS_PACKAGE environment variable.


Ok, i've solve this after a few more hours.

Here's the trick to make the tutorials.

First at all, despite the url given by the tutorial, you want to checkout the code from this url

https://code.ros.org/svn/karto

Next step, go to the 'source' folder in the checkouted folder.

cd [path]/source
mkdir build
cd build
cmake "Unix Makefiles" ..
make

The output of this make will generate a libOpenKarto.a, probably without execution privs, so, lets fix that:

chmod +x libOpenKarto.a

Move this file to /usr/lib in order to be findable by the -lOpenKarto compilation flag You must be a sudoer to do this.

sudo mv libOpenKarto.a /usr/lib

now, go to the samples folder

cd ../../samples

mkdir build
cd build
cmake "Unix Makefiles" ..
make

The output of this process should be the executables of the tutorials, but in order to compile the Tutorial2.cpp you'll need to resolve some dependencies (that i dont resolve yet, when i get that info i'll update this article), just like the README.txt say to.

Now you can just execute the Karto_Tutorial1 and get the spected output

./Karto_Tutorial1
edit retag flag offensive close merge delete

2 Answers

Sort by » oldest newest most voted
2

answered 2012-10-22 00:07:30 -0500

sbragagnolo gravatar image

I've answer my own question in the same space. Hope you find it usefull.

edit flag offensive delete link more
0

answered 2013-02-05 05:24:52 -0500

Several things are broken. That is enough to build the internal Karto source but not to build the ros karto node. To do it you can apply the patch suggested in:

http://answers.ros.org/question/12370/why-doesnt-the-karto-package-build/?answer=54369#post-id-54369

edit flag offensive delete link more

Question Tools

Stats

Asked: 2012-10-19 06:16:18 -0500

Seen: 2,235 times

Last updated: Feb 05 '13