Last modified 5 years ago Last modified on 09/12/15 12:43:09

Fawkes on Ubuntu

Ubuntu Circle Of Friends Logo Ubuntu can be used for development and deployment of Fawkes. This document describes how to install the prerequesites - mandatory and as many optional ones as known and available out-of-the-box on Ubuntu. This allows you to get up and running quickly and easily. We describe the procedure on Ubuntu 12.04 LTS or Ubuntu 14.04 LTS (tested in a KVM virtual machine). Newer versions will most likely work just the same or very similar. We do not support older Ubuntu versions. We primarily focus on Fedora as our development platform but feedback and contributions to improve Fawkes on Ubuntu are welcome!

Getting the Dependencies

Getting all the dependencies is as easy as

# Add ROS package repository, required e.g. for bullet
sudo sh -c 'echo "deb $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
wget -O - | sudo apt-key add -
sudo apt-get update

# Repository which has a new version of libmicrohttpd, do not do this on Ubuntu Quantal or newer
sudo add-apt-repository -y ppa:openvas/stable

# Recent CLIPS/clipsmm versions
sudo add-apt-repository -y ppa:timn/clips

sudo apt-get update

# On Ubuntu 12.04 and 14.04
sudo apt-get install build-essential git-core g++ vim asciidoc doxygen \
  libmagic-dev libssl-dev libavahi-client-dev libsqlite3-dev libxml++2.6-2 libxml++2.6-dev \
  libdaemon-dev liblua5.1-0-dev libtolua++5.1-dev \
  libboost-dev libdc1394-22-dev libbluetooth-dev libbullet-dev libelf-dev \
  libjpeg-dev libtiff4-dev libjpeg8-dev libjpeg-turbo8-dev libpng12-dev libpcl-1.7-all-dev \
  libopencv-dev libopencv-objdetect-dev libopencv-highgui-dev libopencv-calib3d-dev \
  libopencv-features2d-dev libopencv-legacy-dev libopencv-contrib-dev \
  librrd-dev graphviz libgraphviz-dev flite1-dev libasound2-dev \
  robot-player-dev libplayerc3.0-dev libcgal-dev \
  libgl1-mesa-dev freeglut3-dev libsdl1.2-dev liburg0-dev \
  libgtkmm-3.0-dev libcairomm-1.0-dev libgconfmm-2.6-dev \
  libclipsmm-dev libprotobuf-dev libprotoc-dev protobuf-compiler \
  mongodb-dev mongodb-server ccache libncurses5-dev

# On Ubuntu 12.04:
sudo apt-get install libmicrohttpd10-dev yaml-cpp libxmlrpc-c3-dev

# On Ubuntu 14.04:
sudo apt-get install libmicrohttpd-dev libyaml-cpp-dev libxmlrpc-c++8-dev \
  emacs24 gazebo5 gazebo5-plugin-base libgazebo5-dev

# Fix bugs in PCL 1.7 and flann pkg-config files (only on 12.04)
for f in people segmentation visualization; do \
  sudo sed -i -e 's/pcl_geometry-1.7 //' /usr/lib/pkgconfig/pcl_$f-1.7.pc; \
sudo sed -i -e 's/ -lflann_cpp-gd//' /usr/lib/pkgconfig/flann.pc

# Enable ccache
echo 'export PATH="/usr/lib/ccache:$PATH"' >> ~/.bashrc

If you want to use the ROS connector or rviz you need to install ROS like this:

# Fuerte (12.04)
sudo apt-get install ros-fuerte-desktop-full ros-fuerte-pcl ros-fuerte-web-interface
echo "source /opt/ros/fuerte/setup.bash" >> ~/.bashrc
source /opt/ros/fuerte/setup.bash

# Hydro (12.04)
sudo apt-get install ros-hydro-desktop-full ros-hydro-move-base
echo "source /opt/ros/hydro/setup.bash" >> ~/.bashrc
source /opt/ros/hydro/setup.bash

# Indigo (14.04)
sudo apt-get install ros-indigo-desktop-full ros-indigo-move-base
echo "source /opt/ros/indigo/setup.bash" >> ~/.bashrc
source /opt/ros/indigo/setup.bash

On some systems the environment variable LC_ALL seems not to be set properly, for example indicated by a crashing Gazebo. This can be fixed by setting LC_ALL appropriately in /etc/default/locale, e.g. like this:


Build and running Fawkes

After the dependencies are installed you can continue with the Getting Started Guide on how to compile and run Fawkes.