Software dependencies


libpng is used for creating PNG files from hbot maps.


Not used any more since v0.6.5


Lua is a scripting language designed to be embedded in native applications with a small footprint. It is very lightweight and simple, and mostly used in games for developping extensions (e.g. SimCity4, World of Warcraft). It is used in HBot as scripting interface, for configuring hardware and software elements, and describing robot's behavior. You need lua 5.1 for enabling scripting support in HBot, you can find it easily in your package manager (e.g. lua51-dev).


CGAL is a set of libraries and tools geometric algorithms (CGAL stands for Computational Geometry Algoritms Library). It provides a whole object-oriented (and heavily templated) framework for manipulation of geometric elements. It is used in hbot for defining and working on vectorial maps; especially it provides an implementation of CDT which enables then using vectorial maps for pathfinding.

You will find CGAL libraries and development packages in most distribution; in debian-based distributions, install libcgal-dev.


Potrace is a vectorization tool for raster pictures. It provides a library with bitmap creation elements, option settings, and results as linked list of polygons and curves. API documentation is available here (PDF).

In most of linux distributions you will find a binary package for potrace, which usually comes with the command-line tool only. If you want to try potrace quickly you can install potracegui. For building hbot you will need the development headers and libraries, which are not available in e.g. debian-based distributions, so you need to compile it by yourself (./compile –prefix=/usr && make && sudo make install).

NOTE : potrace makefiles will not install the development headers. You need to manually copy the potracelib.h header file to e.g. /usr/include (sudo cp potrace-1.8/src/potracelib.h /usr/include).


Player/Stage project aims at building a robotic HAL and be a repository for robotics algorithms. HBot uses player for its HAL aspects, enabling a wealth of robotic platforms (see the list of supported hardware). Also very useful is the “stage” simulator, that enables testing HBot (through player) without robotic hardware.

Related projects


OpenEmbedded is a meta-distribution, precisely an open-source framework for cross-compiling embedded software (targetting smartphones, tablet-PCs, routers…) using GNU/Linux. Many distributions and many platforms are available, with a wealth of packages and a package dependency tracking. With this, you can easily build a cross-compilation toolchain, then cross-compile the Linux kernel and packages, finally producing images ready to be used for embedded devices.

OpenEmbedded (abbreviated to OE) is used by PokyLinux and OpenMoko, among others.

You will find many more details on the OpenEmbedded website.


OpenEZX is the initiative for porting Linux kernel to Motorola's EZX phones, as a replacement of Motorola's not-so-open-source kernel. Some device drivers are still under development, but for first generation EZX phones (E680, A780), support is fair enough for using it as robot brain (see EZX).

You may want to visit the OpenEZX project site, especially their wiki.

dependencies.txt · Last modified: 2009/03/20 15:13 by hadrien
Recent changes RSS feed Creative Commons License Donate Powered by PHP Valid XHTML 1.0 Valid CSS La rache Driven by DokuWiki