Version 21 (modified by tim, 4 years ago) (diff)

Add additional packages required for Kinetic on F25

Fawkes on Fedora Linux

Fedora Logo Fedora Linux is our primary development platform. It has everything you need to get Fawkes up and running at its maximum potential. Some needed packages are maintained by AllemaniACs team members.

We ensure that Fawkes is running on all versions of Fedora that are still maintained, while we tend to focus our attention on the latest stable release. We have a build slave with the current development version of Fedora (called rawhide) to ensure that it will run on the next release without problems. We aim for compatibility with both, i386 and x86_64 platforms.

Fawkes has been included in Fedora. Therefore, it provides an easy way to install all available dependencies, or use a binary installation.

Dependencies for Source Installation and Development

Getting all dependencies is as easy as:

sudo dnf groupinstall development-tools development-libs
sudo dnf install fawkes-devenv

If you use Fedora 22 and higher

$ sudo rpm -e --nodeps tolua++ tolua++-devel
$ sudo dnf install compat-lua compat-lua-devel compat-tolua++ compat-tolua++-devel

Installing ROS (Indigo)

You can find the official guide here. This assumes installation in /opt/ros (which should belong to a user other than root). We leave out rosdep since it is not well maintained and fawkes-devenv will take care of everything we need. The instructions are for ROS Indigo, replacing the name with others should also work (it does for indigo, hydro requires a patch if used with system Gazebo).

If you use Fedora 25, do not install ar_track_alvar. It requires OpenCV 2.4 and is not currently compatible with OpenCV 3.1 that comes with Fedora 25.

Install the following dependencies (in addition to the Fawkes dependencies).

sudo dnf install python3-rosinstall_generator python3-rosinstall
# The following is necessary for ROS Kinetic
sudo dnf install python-qt5-devel python3-qt5-devel python2-defusedxml

First create a working directory. The chosen format allows for well separable parallel installations of multiple versions.

mkdir -p /opt/ros/catkin_ws_indigo
cd /opt/ros/catkin_ws_indigo

Then download and build the packages. This will take some time and requires decent bandwidth.

rosinstall_generator desktop_full --rosdistro indigo --deps --wet-only --tar > indigo-desktop-full-wet.rosinstall
wstool init -j8 src indigo-desktop-full-wet.rosinstall

rosinstall_generator navigation --rosdistro indigo --deps --wet-only --tar > indigo-navigation.rosinstall
rosinstall_generator ar_track_alvar --rosdistro indigo --deps --wet-only --tar > indigo-ar_track_alvar.rosinstall
wstool merge -t src indigo-navigation.rosinstall
# Skip the following line (and only the following line) on Fedora 25
wstool merge -t src indigo-ar_track_alvar.rosinstall
wstool update -t src

If you build on a system that uses C++14 by default, e.g., Fedora 24 or later, additionally do the following.

curl -o stage-fixes.patch
curl -o stage-cpp11.patch
curl -o rviz-cpp11.patch
pushd src/stage
patch -p1 < ../../stage-fixes.patch
patch -p1 < ../../stage-cpp11.patch
# The following is for ROS Indigo only, not Kinetic!
pushd src/rviz
patch -p1 < ../../rviz-cpp11.patch

Next, build the whole workspace (you may also build with RelWithDebInfo if you want to be able to step into ROS code for debugging).

./src/catkin/bin/catkin_make_isolated --install --install-space=/opt/ros/indigo -DCMAKE_BUILD_TYPE=Release

Add the setup.bash to your .bashrc

echo 'source /opt/ros/indigo/setup.bash' >> ~/.bashrc
source ~/.bashrc 

Compiling Fawkes will now enable the ROS integration. If you had compiled Fawkes before, do a make clean and build again.

Read on

After everything is installed read the GettingStartedGuide on how to get started and hacking.