robotpkg is a compilation framework and packaging system for installing robotics software developed by the robotic community. It also contains packages for some general, third-party open-source software that the robotics software depends on and that is not commonly packaged by major unix distributions.

Each package in robotpkg has its own version control system and build system and robotpkg acts merely as an automated wrapper to build and install software and its dependencies. The packaged software does not depend in any way on robotpkg, so that manual installation (without robotpkg) is always possible. robotpkg itself is lightweight, in the sense that only the packages you are interested in will be downloaded and installed.

robotpkg is based on the NetBSD Package System, also known as pkgsrc and is released under an open-source, BSD license (note that each individual package has its own license, which is usually open-source, but not necessarily).

Available Packages

A few more packages, often less stable, are available via the robotpkg/wip repository.


robotpkg can be configured to either install precompiled binary packages or to compile packages from source.

The installation from source is the recommended setup, since packages will be fine tuned to your particular installation (e.g. system dependencies, paths, etc.) and you do not need any administration privileges (e.g. sudo). See the Quick setup guide for instructions.

On the server, there are collections of binary packages, ready to be installed. These binary packages have been built using the default settings for the directories, that is /opt/openrobots for LOCALBASE, where most of the files are installed. If you cannot use these directories for whatever reasons (maybe because you're not root), you cannot use these binary packages, but have to build the packages yourself from sources, as documented in the previous paragraph. Otherwise, you can check the Binary packages setup guide for instructions.

Debian binary packages are also available for a few platforms. If your platform is supported, you can configure an apt repository by following the instructions on this page.

Supported systems

robotpkg should run on any Unix platform. Only a few packages are correctly supported on Darwin (MacOS X), due to the lack of proper testing.

The development is done mostly on Ubuntu Linux as well as NetBSD systems. Any Linux distribution is supposed to work out-of-the-box and if it is not, feel free to report a bug (see below). BSD systems should work too. If you would like to see some specific package to be enabled and more thouroughly tested on Darwin, feel free to drop an e-mail on the mailing-list.

Mailing list

The mailing list receives commit messages for each package update. Check here for information, archives and subscription.

Reporting problems

If you encounter problems when using robotpkg, please send an e-mail to If you have an account on, you can also create a new issue by sending an e-mail to

Make sure to always include as much relevant detail as possible, such as the operating system and any *.log files found in the work directory of the faulty packages.

Getting involved

robotpkg is open to new contributions, bug fixes, infrastructure improvements, etc. A requirement for a person to become a robotpkg contributor is to first become involved. This may be done by either contributing new packages, fixing exiting ones, contributing to the documentation, ...

With git, you can easily mirror the robotpkg repository and develop or test your contributions locally. Once you are satisfied, please contact us via the e-mail address. Make sure to mention a public URL from where your repository can be cloned and the changes browsed.

The robotpkg-wip repository is the preferred way to import new packages: commit in this repository is allowed for anyone requesting a commit access and packages committed there needs not to be reviewed beforehand. For this, you need to register for an account on, after having discussed on the mailing list of your plans (the registration requires you to put the name of a person you are in contact with, in order to limit the amount of fake registrations).