wiki:FawkesDependencies
Last modified 6 years ago Last modified on 12/07/12 18:30:05

Fawkes Dependencies

Here is a list of current Fawkes dependencies. We try to minimize the number of dependencies but some are needed. Please verify your system carefully if it matches the criteria. Check all version numbers! If you are working with Fawkes for the first time and cannot get it to compile and consider sending a team member an email please include all version information about the packages mentioned here, whether they are exactly the same or higher. If any version is lower than what is mentioned here upgrade that package - we cannot help you in that case.

This information has to be replicated in the file DEPENDENCIES in the Fawkes tree because there may be users that get the software without access to this website. But since this website will be the main source for information and since it is better readable we want this information to be here, too.

The Module here denotes either the main application (Fawkes) or a specific plugin (like Navigator) or subsystem (like FireVision). The primary supported platform is Linux in general, and Fedora Linux in particular. Other secondary supported operating platforms include FreeBSD 9.0 and later, and Mac OS X 10.6 an later. See the navigation box for specific instruction pages.

Mandatory dependencies

These are must-have items. If anything is not installed or installed in a lower version it will not work.

ModuleDependencyVersionNotes
FawkesLinux kernel>= 2.6.17Older versions will not work! Obviously not required on other operating systems.
Fawkesmake>= 3.81Needed for second expansion.
Fawkesbash>= 3.2Mandatory for our build system.
FawkesGNU Compiler Collection>= 4.2
FawkesGNU Standard C++ Library>= 4.2Included in GCC, but separate package on Fedora.
Fawkesglibc>= 2.7
FawkesSQLite>= 3.4Configuration subsystem uses SQLite.
FawkesOpenSSL>= 1.0.0Interface hash generation, WorldInfoTransceiver Encryption
Fawkesyaml-coo>= 0.2.5YAML configuration parser
Fawkesbullet>= 2.79Fawkes transforms framework (linear math part of bullet)

Optional dependencies

Below is a list of optional dependencies. Having this will reveal more features and make the software more useable. Many of these optional dependencies reveal a whole new world of features so install what is possible. If the module is marked with an asterisk (*) in the R(ecommended) column then it is strongly recommended to install this dependency. Without the software will not be as useful as it should be.

ModuleDependencyVersionRNotes
AllIntel Compiler>= 10.1.008icc can be used to compile the software. Set CC to icc in config.mk and ICC_PATH appropriately in icc.mk
AllGit>= 1.7.2*needed if you want to use the version control system
Fawkeslibxml++>= 2.20.0*needed to build interface_generator, only needed when developing interfaces
Fawkesfile>= 4.21*Needs libmagic that comes on Fedora in file-devel
FawkesAvahi>= 0.6*Used for automatic peer and service detection, required on the robots
Fawkeslibmicrohttpd>= 0.9.6*Fawkes' webview web interface plugin.
Fawkeslibdaemon>= 0.14Daemon support for main application
Fawkeslibexecinfo>= 1.1*Required for Exception::backtrace() support on FreeBSD only
Fawkesasciidoc>= 8.4*Man page generation.
Fawkesdoxygen>= 1.7.2*For generating and verifying API documentation
Allgtkmm>= 2.12Used for GUI applications
Allglibmm>= 2.14Used for GUI applications
Allcairomm>= 1.4.4Field visualization
Allglademm>= 2.6.4Glade used to build GUIs
Fawkes/FireVisionOpenMP>= 2.5OpenMP spec 2.5, comes with GCC 4.2 (4.1 on Fedora) and ICC 10
NavigatorGTS>= 0.7.6needed to build navigator plugin
NavigatorVMC= 0.95needed to build navigator with real motor support, custom patches required
Kickerlibiowkit>= 1.5.0needed to access the IOWarrior (kicker)
BehaviorLua>= 5.1*Skills are developed in Lua
BehaviortoLua++>= 1.0.93*Needed to generate Lua bindings for utils, interfaces etc.
skillerGraphviz>= 2.22*Used by SkillGUI for FSM visualization
clipsCLIPS>= 6.30CLIPS Expert System
clipsclipsmm>= 0.2.1CLIPS bindings for C++
rrd?RRDtool>= 1.4*Used to provide support for run-time generated graphs.
KatanaKNI= 3.9.2Needed to use katana plugin to access arm, on Fedora install libkni3-devel
laserPCAN>= 6.0Needed to access Lase/Ibeo LD Ladar laser scanner
laserURG>= 0.8Hokuyo URG laser range finder driver library, urg-devel on Fedora.
laserGearbox= 9.11Alternative Hokuyo URG driver, replaced by hokuyoaist in F-18
laserhokuyoaist>= 3.0.1Alternative Hokuyo URG driver, hokuyoaist-devel on Fedora.
laserlibudev>= 147for advanced Hokuyo detection
fliteFlite>= 1.3Speech synthesis engine, flite-devel on Fedora.
festivalFestival>= 1.96Speech synthesis engine, festival-devel >= 1.96-18 on Fedora.
openni?OpenNI>= 1.0.0Open Natural Interaction for human robot interaction
openni-usertracker?Nite>= 1.3.0.18Closed source user tracker for OpenNI
roomba?bluez-libs>= 4.66RooTooth Roomba control via Bluetooth
xmlrpc?XML-RPC for C/C++>= 1.23XML-RPC API, xmlrpc-c-devel on Fedora.
FireVisionlibdc1394>= 2.1.0*needed for Firewire support
FireVisionSDL>= 1.2.13*Recommended for vision visualization tools
FireVisionIntel IPP= 5.1used in filters, free university version available
FireVisionlibjpeg>= 6b-39*image reader/writer/compressor, JPEG network transmission
FireVisionlibpng>= 1.2.22optional image reader/writer
FireVisionOpenCV>= 1.0.0OpenCV image processing library, for example for face detection
FireVisionleutron>= 1.96.204frame grabber for old Leutron PCs
FireVisionTriclops SDK>= 3.2.0.8PTGrey Bumblebee2 support, see FireVisionTriclops