What's New - Still a dummy text...?

Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Nam iaculis adipiscing mi. Nulla vulputate mi at lorem. Fusce tincidunt dui non lectus euismod faucibus.

Learn more…

Third-Party Dependencies

July 29, 2010

Those of you who want to know what is needed exactly and what for, here's the step-by-step installation guide with explanations:

  1. required Generally for building C/C++ applications, it's easiest to install the build-essentials (including the compiler and all necessary stuff). CCache is used for "speeding up recompilation of C/C++ code by caching previous compilations and detecting when the same compilation is being done again":
    sudo aptitude install build-essential ccache
  2. required The build system used to configure compile-time dependencies, linking, and installation is built with CMake:
    sudo aptitude install cmake cmake-curses-gui
  3. required We use the convenient signal / slot mechanism of the Qt4 framework, so we need to install it:
    sudo aptitude install libqt4-dev libqt4-dbg
  4. required As our applications shall be able to distribute processing-load to any resources in our computing network, we need a middleware for that. We're using the MPICH2-implementation of the Mesage Passing Interface (MPI) and the boost C++ libraries to access the message passing layer. Don't worry, you won't have to deal with this, as the distribution facilities are transparent and completely integrated into the framework. We only have to setup our MPI-ring (that's what they call a network of connected computers with arbitrary number of processors), which is described here.
    sudo aptitude install libmpich2-dev libboost-all-dev libboost-mpi-dev
  5. required How about visual processing? The de-facto standard for open source computer vision, the OpenCV-library is needed for some built-in visualization and not to forget, they provide a very powerful mathematics kernel that is used in our suite for multiple purposes. Using that (with several extensions), we can calculate basically everything we may ever need to, be it vector-, or matrix-algebra, quaternions, kinematics, and much more (read more about the math module in the documentation):
    sudo aptitude install libcv4 libcv-dev libcvaux4 libcvaux-dev libhighgui4 libhighgui-dev
  6. optional In order to create graphical user interfaces and render 3D scene graphs, we need an implementation of the Open Inventor API, Coin, and SoQt:
    sudo aptitude install libsoqt4-dev libcoin60-dev
  7. optional We like Eclipse as a development platform, as you can check-out from SVN repositories with a frontend (with Subclipse), use code-completion and automatic builds (with CDT), edit your CMake-files (with CMakeEd), and much more (see below to learn how to configure your Eclipse correctly.
    sudo aptitude install eclipse
  8. optional Maintaining your code in repositories and sharing it with others is one of the principles of open source software. In order to do so, Apache Subversion (formerly hosted by tigris.org) is the tool of choice. It is the successor of the famous (but sometimes inefficient CVS). To install the client on your machine, do:
    sudo aptitude install subversion
  9. optional One final step. Only if you want to use a 3Dconnexion input device (also called "Space-Mouse") with 6 degrees of freedom, you need the open source driver package:
    sudo aptitude install libspnav-dev spacenavd
    and run the daemon:
    sudo spacenavd

That's it, you did it. You may now configure your MPI environement and setup your IDE and you're good to go.