# karto installation

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?

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

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 close merge delete

Sort by » oldest newest most voted

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

more

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:

more