<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://rsewiki.electro.dtu.dk/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Cjag</id>
	<title>Rsewiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://rsewiki.electro.dtu.dk/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Cjag"/>
	<link rel="alternate" type="text/html" href="https://rsewiki.electro.dtu.dk/index.php?title=Special:Contributions/Cjag"/>
	<updated>2026-04-15T04:54:41Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.41.1</generator>
	<entry>
		<id>https://rsewiki.electro.dtu.dk/index.php?title=Install_on_(K)UBUNTU&amp;diff=1462</id>
		<title>Install on (K)UBUNTU</title>
		<link rel="alternate" type="text/html" href="https://rsewiki.electro.dtu.dk/index.php?title=Install_on_(K)UBUNTU&amp;diff=1462"/>
		<updated>2014-04-10T15:00:55Z</updated>

		<summary type="html">&lt;p&gt;Cjag: /* UBUNTU version 10.4/10.10/11.04/11.10/12.04/12.10 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is intended as a guidance to install MOBOTWARE&lt;br /&gt;
&lt;br /&gt;
The platform tested is KUBUNTU, UBUNTU and XUBUNTU.&lt;br /&gt;
&lt;br /&gt;
All robots run - for now - &#039;&#039;&#039;32-bit LINUX distributions&#039;&#039;&#039; and thus tested much more than 64-bit.&lt;br /&gt;
On 64-bit Ubuntu, Mobotware compiles, runs and is tested to some extend.&lt;br /&gt;
&lt;br /&gt;
==UBUNTU version 10.4/10.10/11.04/11.10/12.04==&lt;br /&gt;
&lt;br /&gt;
This description is valid for UBUNTU, KUBUNTU and XUBUNTU&lt;br /&gt;
&lt;br /&gt;
* From version 11.04 of UBUNTU, KUBUNTU or XUBUNTU there is no support for USB-webcam using campool plug-in. The plugin &amp;quot;auv4lgst&amp;quot; is the replacement for USB-webcams supported by gstreamer (most modern webcams))&lt;br /&gt;
* Preferred version is (K)Ubuntu 12.04 32 bit for Mobotware version &amp;gt;=2.1912 - with only a few outstanding issues (e.g. RTEA).&lt;br /&gt;
&lt;br /&gt;
After successfully installing KUBUNTU, UBUNTU or XUBUBTU, install the following packages&lt;br /&gt;
&lt;br /&gt;
e.g. install a package from the command-prompt like: &lt;br /&gt;
 sudo apt-get install cmake&lt;br /&gt;
&lt;br /&gt;
Needed packages:&lt;br /&gt;
 - subversion (if you have access to source on SVN)&lt;br /&gt;
 - gcc&lt;br /&gt;
 - g++&lt;br /&gt;
 - cmake&lt;br /&gt;
 - doxygen  (for documentation only)&lt;br /&gt;
 - libopencv-dev (ubuntu from 12.4, for earlier versions of ubuntu: try load libhighgui-dev and libcv-dev instead)&lt;br /&gt;
 - libopencv-gpu-dev&lt;br /&gt;
 - libraw1394-dev&lt;br /&gt;
 - libdc1394-22-dev&lt;br /&gt;
 - libpng-dev&lt;br /&gt;
 - libexpat-dev&lt;br /&gt;
 - ncurses-dev&lt;br /&gt;
 - libpci-dev&lt;br /&gt;
 - libreadline-dev&lt;br /&gt;
 - libsdl-dev&lt;br /&gt;
 - bison (for MRC)&lt;br /&gt;
 - libudev-dev&lt;br /&gt;
 - icedtea-plugin  (to run MARG)&lt;br /&gt;
 - libusb-dev (MUST be version 1.0.3 or better - (used for Kinect only (see note))&lt;br /&gt;
 - ffmpeg (video codex etc.)&lt;br /&gt;
 - libv4l-dev (video usage)&lt;br /&gt;
 - putty (useful serial terminal emulator)&lt;br /&gt;
 - kdevelop or eclipse (integrated development environment - not strictly needed (and not with XUBUNTU))&lt;br /&gt;
 - lsof (to track open files - also device files)&lt;br /&gt;
 - libboost-dev (used by aulocalizer plug-in, but also included in libpcl)&lt;br /&gt;
 - libboost-system-dev&lt;br /&gt;
 - python-dev  (can p.t. do without)&lt;br /&gt;
 - libpcl-all-dev  (see PCL-note)&lt;br /&gt;
 - libgstreamer0.10-dev (for client and camera interface)&lt;br /&gt;
&lt;br /&gt;
Packages to compile AVR-C - e.g. motor controller and labyrinth&lt;br /&gt;
 - gcc-avr &lt;br /&gt;
 - binutils-avr &lt;br /&gt;
 - avr-libc&lt;br /&gt;
&lt;br /&gt;
=== PCL ===&lt;br /&gt;
The Point Clouds Library (PCL) is in a separate ubuntu repository, so see the instructions on:&lt;br /&gt;
http://pointclouds.org/downloads/linux.html&lt;br /&gt;
&lt;br /&gt;
At the moment Mobotware does not compile when you install version 1.7. Install version 1.6 instead.&lt;br /&gt;
&lt;br /&gt;
=== Boost ===&lt;br /&gt;
====locale.hpp not found====&lt;br /&gt;
&lt;br /&gt;
In some cases compile of auviewer fails complaining that boost/locale.hpp is not found.&lt;br /&gt;
&lt;br /&gt;
changed in source file (in auviewer), from&lt;br /&gt;
 #include &amp;lt;boost/locale.hpp&amp;gt;&lt;br /&gt;
to&lt;br /&gt;
 #include &amp;lt;boost/typeof/std/locale.hpp&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Ubuntu 12.10/13.04/13.10 32/64-bit - BOOST compile fails====&lt;br /&gt;
&lt;br /&gt;
p.t. (may 2013) boost do not compile using GCC-4.7, as is default on 64 bit (ubuntu 13.04)&lt;br /&gt;
--update (august 2013) on clean install of Ubuntu 13.04 32 bit the problem is the same.&lt;br /&gt;
&lt;br /&gt;
So use update-alternatives to switch to gcc-4.6&lt;br /&gt;
&lt;br /&gt;
 sudo update-alternatives --config gcc&lt;br /&gt;
 sudo update-alternatives --config g++&lt;br /&gt;
&lt;br /&gt;
if update-alternatives has no alternatives, &lt;br /&gt;
then add them (taken from from http://askubuntu.com/questions/26498/choose-gcc-and-g-version)&lt;br /&gt;
&lt;br /&gt;
Install compiler version 4.6 (assumint 4.7 is installed):&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get install gcc-4.6 g++-4.6 cc-4.6&lt;br /&gt;
&lt;br /&gt;
Install Alternatives&lt;br /&gt;
&lt;br /&gt;
 sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.7 10&lt;br /&gt;
 sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.6 20&lt;br /&gt;
 &lt;br /&gt;
 sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.7 10&lt;br /&gt;
 sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.6 20&lt;br /&gt;
 &lt;br /&gt;
 sudo update-alternatives --install /usr/bin/cc cc /usr/bin/gcc 30&lt;br /&gt;
 sudo update-alternatives --set cc /usr/bin/gcc&lt;br /&gt;
 &lt;br /&gt;
 sudo update-alternatives --install /usr/bin/c++ c++ /usr/bin/g++ 30&lt;br /&gt;
 sudo update-alternatives --set c++ /usr/bin/g++&lt;br /&gt;
&lt;br /&gt;
Configure Alternatives&lt;br /&gt;
&lt;br /&gt;
 sudo update-alternatives --config gcc&lt;br /&gt;
 sudo update-alternatives --config g++&lt;br /&gt;
&lt;br /&gt;
==== libboost ====&lt;br /&gt;
There is a problem during compilation of the plugin auviewer. To solve this problem locate the following file:&lt;br /&gt;
  /usr/include/boost/thread/exceptions.hpp&lt;br /&gt;
  &lt;br /&gt;
Add the following code at line 11&lt;br /&gt;
&lt;br /&gt;
  //added by Jens Christian Andersen and Claes Jaeger for MobotWare to compile auviewer-plugin&lt;br /&gt;
  //ubuntu 13.04(32bit), gcc 4.6 (downgrade from 4.7 - see rsewiki.elektro.dtu.dk), libboost 1.49&lt;br /&gt;
  //produces errors when compiling, because of the attributes defines somewhere else in boost. &lt;br /&gt;
  //the consequences for this hack has not been investigated, the compiled plugin has been tested and is working.&lt;br /&gt;
  #define BOOST_SYMBOL_VISIBLE&lt;br /&gt;
&lt;br /&gt;
As stated in the comments, the consequences have not been investigated, but so far it is working. Please notify us if you experince any problems because of this hack.&lt;br /&gt;
&lt;br /&gt;
===OpenNI===&lt;br /&gt;
&lt;br /&gt;
OpenNI is not used by mobotware (mobotware uses the freenect driver), but part of some of the examples in the PCL library uses the OpenNI driver.&lt;br /&gt;
&lt;br /&gt;
Install openNI driver for Kinect requires additional packages:&lt;br /&gt;
&lt;br /&gt;
* freeglut3-dev (3D graphics with openGL API)&lt;br /&gt;
* sun-java6-jdk (required to compile openNI - sudo add-apt-repository &amp;quot;deb http://archive.canonical.com/ lucid partner&amp;quot; and apt-get update&lt;br /&gt;
&lt;br /&gt;
===LIBUSB-1.0.x===&lt;br /&gt;
&lt;br /&gt;
For distributions older than 12.04:&lt;br /&gt;
&lt;br /&gt;
See http://www.libusb.org/wiki/libusb-1.0, one way is to install from git-source.&lt;br /&gt;
&lt;br /&gt;
If you installed libusb from &lt;br /&gt;
 git clone git://git.libusb.org/libusb.git &lt;br /&gt;
then default is verbose logging to console (may have changed since i tryed it (ultimo 2011)).&lt;br /&gt;
One way to remove is to edit the configure script:&lt;br /&gt;
&lt;br /&gt;
 in the file &#039;&#039;&#039;configure&#039;&#039;&#039; find and remove these two lines (about line 770):&lt;br /&gt;
 enable_log&lt;br /&gt;
 enable_debug_log&lt;br /&gt;
&lt;br /&gt;
Then run - as usual:&lt;br /&gt;
 ./configure&lt;br /&gt;
 make&lt;br /&gt;
 sudo make install&lt;br /&gt;
&lt;br /&gt;
===Freenect LIB===&lt;br /&gt;
&lt;br /&gt;
Latest version requires this packages:&lt;br /&gt;
&lt;br /&gt;
* libxmu-dev &lt;br /&gt;
* libxi-dev&lt;br /&gt;
&lt;br /&gt;
To compile from git source - not needed in mobotware&lt;br /&gt;
&lt;br /&gt;
===openCV (and ROS) issues===&lt;br /&gt;
&lt;br /&gt;
OpenCV in ubuntu 12.4 is version 2.3.1, and opencv-2.1 is not directly available in the for from openCV-1.0.&lt;br /&gt;
&lt;br /&gt;
- ROS replaces default versions of OPENCV.&lt;br /&gt;
&lt;br /&gt;
Installation of ros on ubuntu (kubuntu) see http://www.ros.org/wiki/electric/Installation/Ubuntu&lt;br /&gt;
The first part about adding source repository and &amp;quot;sudo apt-get update&amp;quot; is fine for installing openCV version 2.3.1 (sudo apt-get install libopencv2.3-dev) too. The same is probably true for the linear algebra template library (sudo apt-get install libeigen3-dev).&lt;br /&gt;
&lt;br /&gt;
ROS electric installes (pt) openCV version 2.3.1, and this includes a pkg-config file with errors, all link directives &amp;quot;-l&amp;quot; includes the full path, which is a syntax error, so&lt;br /&gt;
&lt;br /&gt;
edit the &amp;quot;Libs:&amp;quot; part of /usr/lib/pkgconfig/opencv-2.3.1.pc &lt;br /&gt;
&lt;br /&gt;
from:&lt;br /&gt;
&lt;br /&gt;
 # Package Information for pkg-config&lt;br /&gt;
 prefix=/usr&lt;br /&gt;
 exec_prefix=${prefix}&lt;br /&gt;
 libdir=${exec_prefix}/lib&lt;br /&gt;
 includedir_old=${prefix}/include/opencv-2.3.1/opencv&lt;br /&gt;
 includedir_new=${prefix}/include/opencv-2.3.1&lt;br /&gt;
 Name: OpenCV&lt;br /&gt;
 Description: Open Source Computer Vision Library&lt;br /&gt;
 Version: 2.3.1&lt;br /&gt;
 Libs:  -l${exec_prefix}/lib/libopencv_contrib.so.2.3.1 -l${exec_prefix}/lib/libopencv_legacy.so.2.3.1 \&lt;br /&gt;
    -l${exec_prefix}/lib/libopencv_objdetect.so.2.3.1 -l${exec_prefix}/lib/libopencv_calib3d.so.2.3.1 \&lt;br /&gt;
    -l${exec_prefix}/lib/libopencv_features2d.so.2.3.1 -l${exec_prefix}/lib/libopencv_video.so.2.3.1 \&lt;br /&gt;
    -l${exec_prefix}/lib/libopencv_highgui.so.2.3.1 -l${exec_prefix}/lib/libopencv_ml.so.2.3.1 \&lt;br /&gt;
    -l${exec_prefix}/lib/libopencv_imgproc.so.2.3.1 -l${exec_prefix}/lib/libopencv_flann.so.2.3.1 \&lt;br /&gt;
    -l${exec_prefix}/lib/libopencv_core.so.2.3.1&lt;br /&gt;
 Cflags: -I${includedir_old} -I${includedir_new}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
to:&lt;br /&gt;
&lt;br /&gt;
 # Package Information for pkg-config&lt;br /&gt;
 prefix=/usr&lt;br /&gt;
 exec_prefix=${prefix}&lt;br /&gt;
 libdir=${exec_prefix}/lib&lt;br /&gt;
 includedir_old=${prefix}/include/opencv-2.3.1/opencv&lt;br /&gt;
 includedir_new=${prefix}/include/opencv-2.3.1&lt;br /&gt;
 Name: OpenCV&lt;br /&gt;
 Description: Open Source Computer Vision Library&lt;br /&gt;
 Version: 2.3.1&lt;br /&gt;
 Libs:  -lopencv_contrib -lopencv_legacy -lopencv_objdetect -lopencv_calib3d \&lt;br /&gt;
        -lopencv_features2d -lopencv_video -lopencv_highgui -lopencv_ml \&lt;br /&gt;
        -lopencv_imgproc -lopencv_flann -lopencv_core&lt;br /&gt;
 Cflags: -I${includedir_old} -I${includedir_new}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
All relevant Makefiles should now be modified - since SVN version 1768. And updated to detect openCV version 2.1, 2.3.1, and the version installed with ubuntu 12.4. &lt;br /&gt;
&lt;br /&gt;
Thanks to: http://mpt-internal.uni-hohenheim.de/doku.php?id=robotsoftware:mobotware:mobotware-ros&lt;br /&gt;
&lt;br /&gt;
==IDE==&lt;br /&gt;
&lt;br /&gt;
From an Integrated Development Environment (IDE) all parts of the project can be loaded, compiled and debugged using the provided Makefiles &lt;br /&gt;
&lt;br /&gt;
KDEvelop and Eclipse can be recommended.&lt;br /&gt;
&lt;br /&gt;
(for Eclipse see [[Remote Development of Mobotware Using Eclipse]])&lt;br /&gt;
&lt;br /&gt;
==Compile Install Run==&lt;br /&gt;
&lt;br /&gt;
Go to the directory with the Mobotware source&lt;br /&gt;
&lt;br /&gt;
===Unpack===&lt;br /&gt;
&lt;br /&gt;
If from a packed version (see below for SVN source), then&lt;br /&gt;
&lt;br /&gt;
 tar -xzf mobotware-3.XXXX.tar.gz&lt;br /&gt;
&lt;br /&gt;
then go to the created directory&lt;br /&gt;
&lt;br /&gt;
 cd mobotware-3.XXXX&lt;br /&gt;
&lt;br /&gt;
===Compile===&lt;br /&gt;
&lt;br /&gt;
From the top level Mobotware directory&lt;br /&gt;
&lt;br /&gt;
 make&lt;br /&gt;
&lt;br /&gt;
This is needed even if you are going to compile a plugin only to make needed libraryies. There is (usually) seperate makefiles for each plugin and utility, that can be used once the libraries are in place.&lt;br /&gt;
&lt;br /&gt;
===Install===&lt;br /&gt;
&lt;br /&gt;
To make the compiled version available on the command line (installed under /usr/local):&lt;br /&gt;
* on a standalobe development computer:&lt;br /&gt;
&lt;br /&gt;
 sudo make install&lt;br /&gt;
&lt;br /&gt;
* On a robot you cam make a local version, that can be selected using &amp;quot;switchtool&amp;quot;. (reverts back to default version after a reboot)&lt;br /&gt;
&lt;br /&gt;
 sudo make install VER=2012z&lt;br /&gt;
&lt;br /&gt;
* For a new release on our fileserver (for VIP users on kalman only). This exports Mobotware files to a new directory, compiles all needed files, and copies binary files to e.g. &amp;quot;kalman:/opt/smr.2012m&amp;quot;. this directory must exist on kalman (usually created as a copy from a previous version).&lt;br /&gt;
&lt;br /&gt;
 ./exportMobotware     (and type in the SVN revision number, that is used in filenames, e.g. 62)&lt;br /&gt;
 cd mobotware-3.62&lt;br /&gt;
 make kalman VER=2012m&lt;br /&gt;
&lt;br /&gt;
===Run===&lt;br /&gt;
&lt;br /&gt;
Further set PATH and LD_LIBRARY_PATH inmake add the following lines to ~/.bashrc (or /etc/bash.bashrc)&lt;br /&gt;
&lt;br /&gt;
 export PATH=$PATH:/home/jca/svn/build/bin&lt;br /&gt;
 export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/jca/svn/build/lib&lt;br /&gt;
&lt;br /&gt;
(restart your terminal to put the lines into effect)&lt;br /&gt;
&lt;br /&gt;
==Maintain SVN source==&lt;br /&gt;
&lt;br /&gt;
New version is fetched from command prompt by:&lt;br /&gt;
&lt;br /&gt;
 cd ~/mobotware&lt;br /&gt;
 svn update&lt;br /&gt;
&lt;br /&gt;
When you have changed a file send it back to the svn-repository from the directory with the file, or one of the parent folders known to svn (svn will ask for a note for the change log):&lt;br /&gt;
&lt;br /&gt;
 svn commit&lt;br /&gt;
&lt;br /&gt;
To add a new set of files, just make a new set of source files - preferably in a new directory (inside the mobotware file tree) - and add the new directory by (e.g. called foo):&lt;br /&gt;
&lt;br /&gt;
 svn add foo&lt;br /&gt;
 A         foo&lt;br /&gt;
 A         foo/Makefile&lt;br /&gt;
 A         foo/bar.cpp&lt;br /&gt;
 A         foo/bar.cpp~&lt;br /&gt;
 A (bin)   foo/bar.o&lt;br /&gt;
&lt;br /&gt;
This adds the directory and all the files in it, if too many files were added the surplus can be removed from add-list by e.g.:&lt;br /&gt;
&lt;br /&gt;
 svn reveret foo/bar.cpp~ foo/bar.o&lt;br /&gt;
&lt;br /&gt;
You may let SVN modify a line in the source code with revision number or an iID with update details, by addinf $Rev$ or $Id$ somewhere in the source file, and make this field active by:&lt;br /&gt;
&lt;br /&gt;
 svn propset svn:keywords &#039;Id Revision&#039; foo&lt;br /&gt;
&lt;br /&gt;
Then the additions and changes must be committed to go to the repository (starts an editor for a commit remark)&lt;br /&gt;
&lt;br /&gt;
 svn commit&lt;br /&gt;
&lt;br /&gt;
or to skip the step with the remark editor:&lt;br /&gt;
&lt;br /&gt;
 svn commit -m &amp;quot;in-line commit remark&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Debug==&lt;br /&gt;
&lt;br /&gt;
Using debugger to attach to a running process may fail with the message:&lt;br /&gt;
&lt;br /&gt;
 Could not attach debugger:&lt;br /&gt;
 ptrace: Operation not permitted.&lt;br /&gt;
&lt;br /&gt;
Most likely, it is solved by changing:&lt;br /&gt;
&lt;br /&gt;
 ptrace_scope to 0 in /etc/sysctl.d/10-ptrace.conf&lt;br /&gt;
&lt;br /&gt;
==Test==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
(to be continued with test and example instructions)&lt;/div&gt;</summary>
		<author><name>Cjag</name></author>
	</entry>
	<entry>
		<id>https://rsewiki.electro.dtu.dk/index.php?title=Install_on_(K)UBUNTU&amp;diff=1418</id>
		<title>Install on (K)UBUNTU</title>
		<link rel="alternate" type="text/html" href="https://rsewiki.electro.dtu.dk/index.php?title=Install_on_(K)UBUNTU&amp;diff=1418"/>
		<updated>2013-10-08T08:35:33Z</updated>

		<summary type="html">&lt;p&gt;Cjag: /* PCL */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is intended as a guidance to install MOBOTWARE&lt;br /&gt;
&lt;br /&gt;
The platform tested is KUBUNTU, UBUNTU and XUBUNTU.&lt;br /&gt;
&lt;br /&gt;
All robots run - for now - &#039;&#039;&#039;32-bit LINUX distributions&#039;&#039;&#039; and thus tested much more than 64-bit.&lt;br /&gt;
On 64-bit Ubuntu, Mobotware compiles, runs and is tested to some extend.&lt;br /&gt;
&lt;br /&gt;
==UBUNTU version 10.4/10.10/11.04/11.10/12.04/12.10==&lt;br /&gt;
&lt;br /&gt;
This description is valid for UBUNTU, KUBUNTU and XUBUNTU&lt;br /&gt;
&lt;br /&gt;
* From version 11.04 of UBUNTU, KUBUNTU or XUBUNTU there is no support for USB-webcam using campool plug-in. The plugin &amp;quot;auv4lgst&amp;quot; is the replacement for USB-webcams supported by gstreamer (most modern webcams))&lt;br /&gt;
* Preferred version is (K)Ubuntu 12.04 32 bit for Mobotware version &amp;gt;=2.1912 - with only a few outstanding issues (e.g. RTEA).&lt;br /&gt;
&lt;br /&gt;
After successfully installing KUBUNTU, UBUNTU or XUBUBTU, install the following packages&lt;br /&gt;
&lt;br /&gt;
e.g. install a package from the command-prompt like: &lt;br /&gt;
 sudo apt-get install cmake&lt;br /&gt;
&lt;br /&gt;
Needed packages:&lt;br /&gt;
 - subversion (if you have access to source on SVN)&lt;br /&gt;
 - gcc&lt;br /&gt;
 - g++&lt;br /&gt;
 - cmake&lt;br /&gt;
 - doxygen  (for documentation only)&lt;br /&gt;
 - libopencv-dev (ubuntu from 12.4, for earlier versions of ubuntu: try load libhighgui-dev and libcv-dev instead)&lt;br /&gt;
 - libraw1394-dev&lt;br /&gt;
 - libdc1394-22-dev&lt;br /&gt;
 - libpng-dev&lt;br /&gt;
 - libexpat-dev&lt;br /&gt;
 - ncurses-dev&lt;br /&gt;
 - libpci-dev&lt;br /&gt;
 - libreadline-dev&lt;br /&gt;
 - libsdl-dev&lt;br /&gt;
 - bison (for MRC)&lt;br /&gt;
 - libudev-dev&lt;br /&gt;
 - icedtea-plugin  (to run MARG)&lt;br /&gt;
 - libusb-dev (MUST be version 1.0.3 or better - (used for Kinect only (see note))&lt;br /&gt;
 - ffmpeg (to convert a recorded image sequence to a video - see camera server)&lt;br /&gt;
 - libv4l-dev (pt. only for auv4l2 plug-in, that is not released yet)&lt;br /&gt;
 - putty (useful serial terminal emulator)&lt;br /&gt;
 - kdevelop or eclipse (integrated development environment - not strictly needed (and not with XUBUNTU))&lt;br /&gt;
 - lsof (to track open files - also device files)&lt;br /&gt;
 - libboost-dev (used by aulocalizer plug-in, but also included in libpcl)&lt;br /&gt;
 - libpcl-all-dev  (see PCL-note)&lt;br /&gt;
 - libgstreamer0.10-dev (for client and camera interface)&lt;br /&gt;
&lt;br /&gt;
Packages to compile AVR-C - e.g. motor controller and labyrinth&lt;br /&gt;
 - gcc-avr &lt;br /&gt;
 - binutils-avr &lt;br /&gt;
 - avr-libc&lt;br /&gt;
&lt;br /&gt;
=== PCL ===&lt;br /&gt;
The Point Clouds Library (PCL) is in a separate ubuntu repository, so see the instructions on:&lt;br /&gt;
http://pointclouds.org/downloads/linux.html&lt;br /&gt;
&lt;br /&gt;
At the moment Mobotware does not compile when you install version 1.7. Install version 1.6 instead.&lt;br /&gt;
&lt;br /&gt;
=== Boost ===&lt;br /&gt;
====locale.hpp not found====&lt;br /&gt;
&lt;br /&gt;
In some cases compile of auviewer fails complaining that boost/locale.hpp is not found.&lt;br /&gt;
&lt;br /&gt;
changed in source file (in auviewer), from&lt;br /&gt;
 #include &amp;lt;boost/locale.hpp&amp;gt;&lt;br /&gt;
to&lt;br /&gt;
 #include &amp;lt;boost/typeof/std/locale.hpp&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Ubuntu 13.04 32/64-bit - BOOST compile fails====&lt;br /&gt;
&lt;br /&gt;
p.t. (may 2013) boost do not compile using GCC-4.7, as is default on 64 bit (ubuntu 13.04)&lt;br /&gt;
--update (august 2013) on clean install of Ubuntu 13.04 32 bit the problem is the same.&lt;br /&gt;
&lt;br /&gt;
So use update-alternatives to switch to gcc-4.6&lt;br /&gt;
&lt;br /&gt;
 sudo update-alternatives --config gcc&lt;br /&gt;
 sudo update-alternatives --config g++&lt;br /&gt;
&lt;br /&gt;
if update-alternatives has no alternatives, &lt;br /&gt;
then add them (taken from from http://askubuntu.com/questions/26498/choose-gcc-and-g-version)&lt;br /&gt;
&lt;br /&gt;
Install compiler version 4.6 (assumint 4.7 is installed):&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get install gcc-4.6 g++-4.6 cc-4.6&lt;br /&gt;
&lt;br /&gt;
Install Alternatives&lt;br /&gt;
&lt;br /&gt;
 sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.7 10&lt;br /&gt;
 sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.6 20&lt;br /&gt;
 &lt;br /&gt;
 sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.7 10&lt;br /&gt;
 sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.6 20&lt;br /&gt;
 &lt;br /&gt;
 sudo update-alternatives --install /usr/bin/cc cc /usr/bin/gcc 30&lt;br /&gt;
 sudo update-alternatives --set cc /usr/bin/gcc&lt;br /&gt;
 &lt;br /&gt;
 sudo update-alternatives --install /usr/bin/c++ c++ /usr/bin/g++ 30&lt;br /&gt;
 sudo update-alternatives --set c++ /usr/bin/g++&lt;br /&gt;
&lt;br /&gt;
Configure Alternatives&lt;br /&gt;
&lt;br /&gt;
 sudo update-alternatives --config gcc&lt;br /&gt;
 sudo update-alternatives --config g++&lt;br /&gt;
&lt;br /&gt;
==== libboost ====&lt;br /&gt;
There is a problem during compilation of the plugin auviewer. To solve this problem locate the following file:&lt;br /&gt;
  /usr/include/boost/thread/exceptions.hpp&lt;br /&gt;
  &lt;br /&gt;
Add the following code at line 11&lt;br /&gt;
&lt;br /&gt;
  //added by Jens Christian Andersen and Claes Jaeger for MobotWare to compile auviewer-plugin&lt;br /&gt;
  //ubuntu 13.04(32bit), gcc 4.6 (downgrade from 4.7 - see rsewiki.elektro.dtu.dk), libboost 1.49&lt;br /&gt;
  //produces errors when compiling, because of the attributes defines somewhere else in boost. &lt;br /&gt;
  //the consequences for this hack has not been investigated, the compiled plugin has been tested and is working.&lt;br /&gt;
  #define BOOST_SYMBOL_VISIBLE&lt;br /&gt;
&lt;br /&gt;
As stated in the comments, the consequences have not been investigated, but so far it is working. Please notify us if you experince any problems because of this hack.&lt;br /&gt;
&lt;br /&gt;
===OpenNI===&lt;br /&gt;
&lt;br /&gt;
OpenNI is not used by mobotware (mobotware uses the freenect driver), but part of some of the examples in the PCL library uses the OpenNI driver.&lt;br /&gt;
&lt;br /&gt;
Install openNI driver for Kinect requires additional packages:&lt;br /&gt;
&lt;br /&gt;
* freeglut3-dev (3D graphics with openGL API)&lt;br /&gt;
* sun-java6-jdk (required to compile openNI - sudo add-apt-repository &amp;quot;deb http://archive.canonical.com/ lucid partner&amp;quot; and apt-get update&lt;br /&gt;
&lt;br /&gt;
===LIBUSB-1.0.x===&lt;br /&gt;
&lt;br /&gt;
For distributions older than 12.04:&lt;br /&gt;
&lt;br /&gt;
See http://www.libusb.org/wiki/libusb-1.0, one way is to install from git-source.&lt;br /&gt;
&lt;br /&gt;
If you installed libusb from &lt;br /&gt;
 git clone git://git.libusb.org/libusb.git &lt;br /&gt;
then default is verbose logging to console (may have changed since i tryed it (ultimo 2011)).&lt;br /&gt;
One way to remove is to edit the configure script:&lt;br /&gt;
&lt;br /&gt;
 in the file &#039;&#039;&#039;configure&#039;&#039;&#039; find and remove these two lines (about line 770):&lt;br /&gt;
 enable_log&lt;br /&gt;
 enable_debug_log&lt;br /&gt;
&lt;br /&gt;
Then run - as usual:&lt;br /&gt;
 ./configure&lt;br /&gt;
 make&lt;br /&gt;
 sudo make install&lt;br /&gt;
&lt;br /&gt;
===Freenect LIB===&lt;br /&gt;
&lt;br /&gt;
Latest version requires this packages:&lt;br /&gt;
&lt;br /&gt;
* libxmu-dev &lt;br /&gt;
* libxi-dev&lt;br /&gt;
&lt;br /&gt;
To compile from git source - not needed in mobotware&lt;br /&gt;
&lt;br /&gt;
===openCV (and ROS) issues===&lt;br /&gt;
&lt;br /&gt;
OpenCV in ubuntu 12.4 is version 2.3.1, and opencv-2.1 is not directly available in the for from openCV-1.0.&lt;br /&gt;
&lt;br /&gt;
- ROS replaces default versions of OPENCV.&lt;br /&gt;
&lt;br /&gt;
Installation of ros on ubuntu (kubuntu) see http://www.ros.org/wiki/electric/Installation/Ubuntu&lt;br /&gt;
The first part about adding source repository and &amp;quot;sudo apt-get update&amp;quot; is fine for installing openCV version 2.3.1 (sudo apt-get install libopencv2.3-dev) too. The same is probably true for the linear algebra template library (sudo apt-get install libeigen3-dev).&lt;br /&gt;
&lt;br /&gt;
ROS electric installes (pt) openCV version 2.3.1, and this includes a pkg-config file with errors, all link directives &amp;quot;-l&amp;quot; includes the full path, which is a syntax error, so&lt;br /&gt;
&lt;br /&gt;
edit the &amp;quot;Libs:&amp;quot; part of /usr/lib/pkgconfig/opencv-2.3.1.pc &lt;br /&gt;
&lt;br /&gt;
from:&lt;br /&gt;
&lt;br /&gt;
 # Package Information for pkg-config&lt;br /&gt;
 prefix=/usr&lt;br /&gt;
 exec_prefix=${prefix}&lt;br /&gt;
 libdir=${exec_prefix}/lib&lt;br /&gt;
 includedir_old=${prefix}/include/opencv-2.3.1/opencv&lt;br /&gt;
 includedir_new=${prefix}/include/opencv-2.3.1&lt;br /&gt;
 Name: OpenCV&lt;br /&gt;
 Description: Open Source Computer Vision Library&lt;br /&gt;
 Version: 2.3.1&lt;br /&gt;
 Libs:  -l${exec_prefix}/lib/libopencv_contrib.so.2.3.1 -l${exec_prefix}/lib/libopencv_legacy.so.2.3.1 \&lt;br /&gt;
    -l${exec_prefix}/lib/libopencv_objdetect.so.2.3.1 -l${exec_prefix}/lib/libopencv_calib3d.so.2.3.1 \&lt;br /&gt;
    -l${exec_prefix}/lib/libopencv_features2d.so.2.3.1 -l${exec_prefix}/lib/libopencv_video.so.2.3.1 \&lt;br /&gt;
    -l${exec_prefix}/lib/libopencv_highgui.so.2.3.1 -l${exec_prefix}/lib/libopencv_ml.so.2.3.1 \&lt;br /&gt;
    -l${exec_prefix}/lib/libopencv_imgproc.so.2.3.1 -l${exec_prefix}/lib/libopencv_flann.so.2.3.1 \&lt;br /&gt;
    -l${exec_prefix}/lib/libopencv_core.so.2.3.1&lt;br /&gt;
 Cflags: -I${includedir_old} -I${includedir_new}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
to:&lt;br /&gt;
&lt;br /&gt;
 # Package Information for pkg-config&lt;br /&gt;
 prefix=/usr&lt;br /&gt;
 exec_prefix=${prefix}&lt;br /&gt;
 libdir=${exec_prefix}/lib&lt;br /&gt;
 includedir_old=${prefix}/include/opencv-2.3.1/opencv&lt;br /&gt;
 includedir_new=${prefix}/include/opencv-2.3.1&lt;br /&gt;
 Name: OpenCV&lt;br /&gt;
 Description: Open Source Computer Vision Library&lt;br /&gt;
 Version: 2.3.1&lt;br /&gt;
 Libs:  -lopencv_contrib -lopencv_legacy -lopencv_objdetect -lopencv_calib3d \&lt;br /&gt;
        -lopencv_features2d -lopencv_video -lopencv_highgui -lopencv_ml \&lt;br /&gt;
        -lopencv_imgproc -lopencv_flann -lopencv_core&lt;br /&gt;
 Cflags: -I${includedir_old} -I${includedir_new}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
All relevant Makefiles should now be modified - since SVN version 1768. And updated to detect openCV version 2.1, 2.3.1, and the version installed with ubuntu 12.4. &lt;br /&gt;
&lt;br /&gt;
Thanks to: http://mpt-internal.uni-hohenheim.de/doku.php?id=robotsoftware:mobotware:mobotware-ros&lt;br /&gt;
&lt;br /&gt;
==IDE==&lt;br /&gt;
&lt;br /&gt;
From an Integrated Development Environment (IDE) all parts of the project can be loaded, compiled and debugged using the provided Makefiles &lt;br /&gt;
&lt;br /&gt;
KDEvelop and Eclipse can be recommended.&lt;br /&gt;
&lt;br /&gt;
(for Eclipse see [[Remote Development of Mobotware Using Eclipse]])&lt;br /&gt;
&lt;br /&gt;
==Compile Install Run==&lt;br /&gt;
&lt;br /&gt;
Go to the directory with the Mobotware source&lt;br /&gt;
&lt;br /&gt;
===Unpack===&lt;br /&gt;
&lt;br /&gt;
If from a packed version (see below for SVN source), then&lt;br /&gt;
&lt;br /&gt;
 tar -xzf mobotware-3.XXXX.tar.gz&lt;br /&gt;
&lt;br /&gt;
then go to the created directory&lt;br /&gt;
&lt;br /&gt;
 cd mobotware-3.XXXX&lt;br /&gt;
&lt;br /&gt;
===Compile===&lt;br /&gt;
&lt;br /&gt;
From the top level Mobotware directory&lt;br /&gt;
&lt;br /&gt;
 make&lt;br /&gt;
&lt;br /&gt;
This is needed even if you are going to compile a plugin only to make needed libraryies. There is (usually) seperate makefiles for each plugin and utility, that can be used once the libraries are in place.&lt;br /&gt;
&lt;br /&gt;
===Install===&lt;br /&gt;
&lt;br /&gt;
To make the compiled version available on the command line (installed under /usr/local):&lt;br /&gt;
* on a standalobe development computer:&lt;br /&gt;
&lt;br /&gt;
 sudo make install&lt;br /&gt;
&lt;br /&gt;
* On a robot you cam make a local version, that can be selected using &amp;quot;switchtool&amp;quot;. (reverts back to default version after a reboot)&lt;br /&gt;
&lt;br /&gt;
 sudo make install VER=2012z&lt;br /&gt;
&lt;br /&gt;
* For a new release on our fileserver (for VIP users on kalman only). This exports Mobotware files to a new directory, compiles all needed files, and copies binary files to e.g. &amp;quot;kalman:/opt/smr.2012m&amp;quot;. this directory must exist on kalman (usually created as a copy from a previous version).&lt;br /&gt;
&lt;br /&gt;
 ./exportMobotware     (and type in the SVN revision number, that is used in filenames, e.g. 62)&lt;br /&gt;
 cd mobotware-3.62&lt;br /&gt;
 make kalman VER=2012m&lt;br /&gt;
&lt;br /&gt;
===Run===&lt;br /&gt;
&lt;br /&gt;
Further set PATH and LD_LIBRARY_PATH inmake add the following lines to ~/.bashrc (or /etc/bash.bashrc)&lt;br /&gt;
&lt;br /&gt;
 export PATH=$PATH:/home/jca/svn/build/bin&lt;br /&gt;
 export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/jca/svn/build/lib&lt;br /&gt;
&lt;br /&gt;
(restart your terminal to put the lines into effect)&lt;br /&gt;
&lt;br /&gt;
==Maintain SVN source==&lt;br /&gt;
&lt;br /&gt;
New version is fetched from command prompt by:&lt;br /&gt;
&lt;br /&gt;
 cd ~/mobotware&lt;br /&gt;
 svn update&lt;br /&gt;
&lt;br /&gt;
When you have changed a file send it back to the svn-repository from the directory with the file, or one of the parent folders known to svn (svn will ask for a note for the change log):&lt;br /&gt;
&lt;br /&gt;
 svn commit&lt;br /&gt;
&lt;br /&gt;
To add a new set of files, just make a new set of source files - preferably in a new directory (inside the mobotware file tree) - and add the new directory by (e.g. called foo):&lt;br /&gt;
&lt;br /&gt;
 svn add foo&lt;br /&gt;
 A         foo&lt;br /&gt;
 A         foo/Makefile&lt;br /&gt;
 A         foo/bar.cpp&lt;br /&gt;
 A         foo/bar.cpp~&lt;br /&gt;
 A (bin)   foo/bar.o&lt;br /&gt;
&lt;br /&gt;
This adds the directory and all the files in it, if too many files were added the surplus can be removed from add-list by e.g.:&lt;br /&gt;
&lt;br /&gt;
 svn reveret foo/bar.cpp~ foo/bar.o&lt;br /&gt;
&lt;br /&gt;
You may let SVN modify a line in the source code with revision number or an iID with update details, by addinf $Rev$ or $Id$ somewhere in the source file, and make this field active by:&lt;br /&gt;
&lt;br /&gt;
 svn propset svn:keywords &#039;Id Revision&#039; foo&lt;br /&gt;
&lt;br /&gt;
Then the additions and changes must be committed to go to the repository (starts an editor for a commit remark)&lt;br /&gt;
&lt;br /&gt;
 svn commit&lt;br /&gt;
&lt;br /&gt;
or to skip the step with the remark editor:&lt;br /&gt;
&lt;br /&gt;
 svn commit -m &amp;quot;in-line commit remark&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Debug==&lt;br /&gt;
&lt;br /&gt;
Using debugger to attach to a running process may fail with the message:&lt;br /&gt;
&lt;br /&gt;
 Could not attach debugger:&lt;br /&gt;
 ptrace: Operation not permitted.&lt;br /&gt;
&lt;br /&gt;
Most likely, it is solved by changing:&lt;br /&gt;
&lt;br /&gt;
 ptrace_scope to 0 in /etc/sysctl.d/10-ptrace.conf&lt;br /&gt;
&lt;br /&gt;
==Test==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
(to be continued with test and example instructions)&lt;/div&gt;</summary>
		<author><name>Cjag</name></author>
	</entry>
	<entry>
		<id>https://rsewiki.electro.dtu.dk/index.php?title=User:Cjag&amp;diff=1383</id>
		<title>User:Cjag</title>
		<link rel="alternate" type="text/html" href="https://rsewiki.electro.dtu.dk/index.php?title=User:Cjag&amp;diff=1383"/>
		<updated>2013-09-09T15:14:08Z</updated>

		<summary type="html">&lt;p&gt;Cjag: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:Claes.png|100px]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Claes L. Dühring Jæger&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
Institute of Agricultural Engineering, [https://mpt.uni-hohenheim.de/ Instrumentation &amp;amp; Test Engineering]&amp;lt;br/&amp;gt;&lt;br /&gt;
[https://www.uni-hohenheim.de/ University of Hohenheim]&amp;lt;br/&amp;gt;&lt;br /&gt;
Garbenstr. 9&lt;br /&gt;
D-70599 Stuttgart&lt;br /&gt;
Phone: +49 711 459-24552&amp;lt;br/&amp;gt;&lt;br /&gt;
[mailto:c.jaeger-hansen@uni-hohenheim.de c.jaeger-hansen@uni-hohenheim.de]&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
DTU-Elektro, Automation and Control&amp;lt;br/&amp;gt;&lt;br /&gt;
Elektrovej Building 326&amp;lt;br/&amp;gt;&lt;br /&gt;
DK-2800 Lyngby&amp;lt;br/&amp;gt;&lt;br /&gt;
[mailto:cjag@elektro.dtu.dk cjag@elektro.dtu.dk]&amp;lt;br/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Cjag</name></author>
	</entry>
	<entry>
		<id>https://rsewiki.electro.dtu.dk/index.php?title=User:Cjag&amp;diff=1382</id>
		<title>User:Cjag</title>
		<link rel="alternate" type="text/html" href="https://rsewiki.electro.dtu.dk/index.php?title=User:Cjag&amp;diff=1382"/>
		<updated>2013-09-09T10:30:04Z</updated>

		<summary type="html">&lt;p&gt;Cjag: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:Claes.png|100px]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Claes L. Dühring Jæger&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
Institute of Agricultural Engineering, [https://mpt.uni-hohenheim.de/ Instrumentation &amp;amp; Test Engineering]&amp;lt;br/&amp;gt;&lt;br /&gt;
[https://www.uni-hohenheim.de/ University of Hohenheim]&amp;lt;br/&amp;gt;&lt;br /&gt;
Phone: +49 (0)711 459-24552&amp;lt;br/&amp;gt;&lt;br /&gt;
[mailto:c.jaeger-hansen@uni-hohenheim.de c.jaeger-hansen@uni-hohenheim.de]&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
DTU-Elektro, Automation and Control&amp;lt;br/&amp;gt;&lt;br /&gt;
Elektrovej Building 326&amp;lt;br/&amp;gt;&lt;br /&gt;
DK-2800 Lyngby&amp;lt;br/&amp;gt;&lt;br /&gt;
[mailto:cjag@elektro.dtu.dk cjag@elektro.dtu.dk]&amp;lt;br/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Cjag</name></author>
	</entry>
	<entry>
		<id>https://rsewiki.electro.dtu.dk/index.php?title=File:Claes.png&amp;diff=1381</id>
		<title>File:Claes.png</title>
		<link rel="alternate" type="text/html" href="https://rsewiki.electro.dtu.dk/index.php?title=File:Claes.png&amp;diff=1381"/>
		<updated>2013-09-09T10:12:10Z</updated>

		<summary type="html">&lt;p&gt;Cjag: Profile picture of Claes&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Profile picture of Claes&lt;/div&gt;</summary>
		<author><name>Cjag</name></author>
	</entry>
	<entry>
		<id>https://rsewiki.electro.dtu.dk/index.php?title=User:Cjag&amp;diff=1380</id>
		<title>User:Cjag</title>
		<link rel="alternate" type="text/html" href="https://rsewiki.electro.dtu.dk/index.php?title=User:Cjag&amp;diff=1380"/>
		<updated>2013-09-09T10:10:52Z</updated>

		<summary type="html">&lt;p&gt;Cjag: Created page with &amp;quot;Claes Dühring Jæger [https://mpt.uni-hohenheim.de/ Instrumentation &amp;amp; Test Engineering], Institute of Agricultural Engineering, [https://agrar.uni-hohenheim.de/ Faculty of Ag...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Claes Dühring Jæger&lt;br /&gt;
[https://mpt.uni-hohenheim.de/ Instrumentation &amp;amp; Test Engineering], Institute of Agricultural Engineering, [https://agrar.uni-hohenheim.de/ Faculty of Agricultural Sciences], [https://www.uni-hohenheim.de/ University of Hohenheim]&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Claes.png|200px]]&lt;br /&gt;
&lt;br /&gt;
M. Sc. Claes L. Jaeger-Hansen&lt;br /&gt;
&lt;br /&gt;
Scientific staff&lt;br /&gt;
&lt;br /&gt;
Phone: +49 (0)711 459-24552&lt;br /&gt;
&lt;br /&gt;
[mailto:c.jaeger-hansen@uni-hohenheim.de c.jaeger-hansen@uni-hohenheim.de]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
DTU-Elektro, Automation and Control&lt;br /&gt;
Elektrovej Building 326&lt;br /&gt;
DK-2800 Lyngby&lt;/div&gt;</summary>
		<author><name>Cjag</name></author>
	</entry>
	<entry>
		<id>https://rsewiki.electro.dtu.dk/index.php?title=Install_on_(K)UBUNTU&amp;diff=1379</id>
		<title>Install on (K)UBUNTU</title>
		<link rel="alternate" type="text/html" href="https://rsewiki.electro.dtu.dk/index.php?title=Install_on_(K)UBUNTU&amp;diff=1379"/>
		<updated>2013-09-09T10:06:27Z</updated>

		<summary type="html">&lt;p&gt;Cjag: /* Ubuntu 13.04 32/64-bit - BOOST compile fails */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is intended as a guidance to install MOBOTWARE&lt;br /&gt;
&lt;br /&gt;
The platform tested is KUBUNTU, UBUNTU and XUBUNTU.&lt;br /&gt;
&lt;br /&gt;
All robots run - for now - &#039;&#039;&#039;32-bit LINUX distributions&#039;&#039;&#039; and thus tested much more than 64-bit.&lt;br /&gt;
On 64-bit Ubuntu, Mobotware compiles, runs and is tested to some extend.&lt;br /&gt;
&lt;br /&gt;
==UBUNTU version 10.4/10.10/11.04/11.10/12.04/12.10==&lt;br /&gt;
&lt;br /&gt;
This description is valid for UBUNTU, KUBUNTU and XUBUNTU&lt;br /&gt;
&lt;br /&gt;
* From version 11.04 of UBUNTU, KUBUNTU or XUBUNTU there is no support for USB-webcam using campool plug-in. The plugin &amp;quot;auv4lgst&amp;quot; is the replacement for USB-webcams supported by gstreamer (most modern webcams))&lt;br /&gt;
* Preferred version is (K)Ubuntu 12.04 32 bit for Mobotware version &amp;gt;=2.1912 - with only a few outstanding issues (e.g. RTEA).&lt;br /&gt;
&lt;br /&gt;
After successfully installing KUBUNTU, UBUNTU or XUBUBTU, install the following packages&lt;br /&gt;
&lt;br /&gt;
e.g. install a package from the command-prompt like: &lt;br /&gt;
 sudo apt-get install cmake&lt;br /&gt;
&lt;br /&gt;
Needed packages:&lt;br /&gt;
 - subversion (if you have access to source on SVN)&lt;br /&gt;
 - gcc&lt;br /&gt;
 - g++&lt;br /&gt;
 - cmake&lt;br /&gt;
 - doxygen  (for documentation only)&lt;br /&gt;
 - libopencv-dev (ubuntu from 12.4, for earlier versions of ubuntu: try load libhighgui-dev and libcv-dev instead)&lt;br /&gt;
 - libraw1394-dev&lt;br /&gt;
 - libdc1394-22-dev&lt;br /&gt;
 - libpng-dev&lt;br /&gt;
 - libexpat-dev&lt;br /&gt;
 - ncurses-dev&lt;br /&gt;
 - libpci-dev&lt;br /&gt;
 - libreadline-dev&lt;br /&gt;
 - libsdl-dev&lt;br /&gt;
 - bison (for MRC)&lt;br /&gt;
 - libudev-dev&lt;br /&gt;
 - icedtea-plugin  (to run MARG)&lt;br /&gt;
 - libusb-dev (MUST be version 1.0.3 or better - (used for Kinect only (see note))&lt;br /&gt;
 - ffmpeg (to convert a recorded image sequence to a video - see camera server)&lt;br /&gt;
 - libv4l-dev (pt. only for auv4l2 plug-in, that is not released yet)&lt;br /&gt;
 - putty (useful serial terminal emulator)&lt;br /&gt;
 - kdevelop or eclipse (integrated development environment - not strictly needed (and not with XUBUNTU))&lt;br /&gt;
 - lsof (to track open files - also device files)&lt;br /&gt;
 - libboost-dev (used by aulocalizer plug-in, but also included in libpcl)&lt;br /&gt;
 - libpcl-all-dev  (see PCL-note)&lt;br /&gt;
 - libgstreamer0.10-dev (for client and camera interface)&lt;br /&gt;
&lt;br /&gt;
Packages to compile AVR-C - e.g. motor controller and labyrinth&lt;br /&gt;
 - gcc-avr &lt;br /&gt;
 - binutils-avr &lt;br /&gt;
 - avr-libc&lt;br /&gt;
&lt;br /&gt;
=== PCL ===&lt;br /&gt;
The Point Clouds Library (PCL) is in a separate ubuntu repository, so see the instructions on:&lt;br /&gt;
http://pointclouds.org/downloads/linux.html&lt;br /&gt;
&lt;br /&gt;
=== Boost ===&lt;br /&gt;
====locale.hpp not found====&lt;br /&gt;
&lt;br /&gt;
In some cases compile of auviewer fails complaining that boost/locale.hpp is not found.&lt;br /&gt;
&lt;br /&gt;
changed in source file (in auviewer), from&lt;br /&gt;
 #include &amp;lt;boost/locale.hpp&amp;gt;&lt;br /&gt;
to&lt;br /&gt;
 #include &amp;lt;boost/typeof/std/locale.hpp&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Ubuntu 13.04 32/64-bit - BOOST compile fails====&lt;br /&gt;
&lt;br /&gt;
p.t. (may 2013) boost do not compile using GCC-4.7, as is default on 64 bit (ubuntu 13.04)&lt;br /&gt;
--update (august 2013) on clean install of Ubuntu 13.04 32 bit the problem is the same.&lt;br /&gt;
&lt;br /&gt;
So use update-alternatives to switch to gcc-4.6&lt;br /&gt;
&lt;br /&gt;
 sudo update-alternatives --config gcc&lt;br /&gt;
 sudo update-alternatives --config g++&lt;br /&gt;
&lt;br /&gt;
if update-alternatives has no alternatives, &lt;br /&gt;
then add them (taken from from http://askubuntu.com/questions/26498/choose-gcc-and-g-version)&lt;br /&gt;
&lt;br /&gt;
Install compiler version 4.6 (assumint 4.7 is installed):&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get install gcc-4.6 g++-4.6 cc-4.6&lt;br /&gt;
&lt;br /&gt;
Install Alternatives&lt;br /&gt;
&lt;br /&gt;
 sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.7 10&lt;br /&gt;
 sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.6 20&lt;br /&gt;
 &lt;br /&gt;
 sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.7 10&lt;br /&gt;
 sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.6 20&lt;br /&gt;
 &lt;br /&gt;
 sudo update-alternatives --install /usr/bin/cc cc /usr/bin/gcc 30&lt;br /&gt;
 sudo update-alternatives --set cc /usr/bin/gcc&lt;br /&gt;
 &lt;br /&gt;
 sudo update-alternatives --install /usr/bin/c++ c++ /usr/bin/g++ 30&lt;br /&gt;
 sudo update-alternatives --set c++ /usr/bin/g++&lt;br /&gt;
&lt;br /&gt;
Configure Alternatives&lt;br /&gt;
&lt;br /&gt;
 sudo update-alternatives --config gcc&lt;br /&gt;
 sudo update-alternatives --config g++&lt;br /&gt;
&lt;br /&gt;
==== libboost ====&lt;br /&gt;
There is a problem during compilation of the plugin auviewer. To solve this problem locate the following file:&lt;br /&gt;
  /usr/include/boost/thread/exceptions.hpp&lt;br /&gt;
  &lt;br /&gt;
Add the following code at line 11&lt;br /&gt;
&lt;br /&gt;
  //added by Jens Christian Andersen and Claes Jaeger for MobotWare to compile auviewer-plugin&lt;br /&gt;
  //ubuntu 13.04(32bit), gcc 4.6 (downgrade from 4.7 - see rsewiki.elektro.dtu.dk), libboost 1.49&lt;br /&gt;
  //produces errors when compiling, because of the attributes defines somewhere else in boost. &lt;br /&gt;
  //the consequences for this hack has not been investigated, the compiled plugin has been tested and is working.&lt;br /&gt;
  #define BOOST_SYMBOL_VISIBLE&lt;br /&gt;
&lt;br /&gt;
As stated in the comments, the consequences have not been investigated, but so far it is working. Please notify us if you experince any problems because of this hack.&lt;br /&gt;
&lt;br /&gt;
===OpenNI===&lt;br /&gt;
&lt;br /&gt;
OpenNI is not used by mobotware (mobotware uses the freenect driver), but part of some of the examples in the PCL library uses the OpenNI driver.&lt;br /&gt;
&lt;br /&gt;
Install openNI driver for Kinect requires additional packages:&lt;br /&gt;
&lt;br /&gt;
* freeglut3-dev (3D graphics with openGL API)&lt;br /&gt;
* sun-java6-jdk (required to compile openNI - sudo add-apt-repository &amp;quot;deb http://archive.canonical.com/ lucid partner&amp;quot; and apt-get update&lt;br /&gt;
&lt;br /&gt;
===LIBUSB-1.0.x===&lt;br /&gt;
&lt;br /&gt;
For distributions older than 12.04:&lt;br /&gt;
&lt;br /&gt;
See http://www.libusb.org/wiki/libusb-1.0, one way is to install from git-source.&lt;br /&gt;
&lt;br /&gt;
If you installed libusb from &lt;br /&gt;
 git clone git://git.libusb.org/libusb.git &lt;br /&gt;
then default is verbose logging to console (may have changed since i tryed it (ultimo 2011)).&lt;br /&gt;
One way to remove is to edit the configure script:&lt;br /&gt;
&lt;br /&gt;
 in the file &#039;&#039;&#039;configure&#039;&#039;&#039; find and remove these two lines (about line 770):&lt;br /&gt;
 enable_log&lt;br /&gt;
 enable_debug_log&lt;br /&gt;
&lt;br /&gt;
Then run - as usual:&lt;br /&gt;
 ./configure&lt;br /&gt;
 make&lt;br /&gt;
 sudo make install&lt;br /&gt;
&lt;br /&gt;
===Freenect LIB===&lt;br /&gt;
&lt;br /&gt;
Latest version requires this packages:&lt;br /&gt;
&lt;br /&gt;
* libxmu-dev &lt;br /&gt;
* libxi-dev&lt;br /&gt;
&lt;br /&gt;
To compile from git source - not needed in mobotware&lt;br /&gt;
&lt;br /&gt;
===openCV (and ROS) issues===&lt;br /&gt;
&lt;br /&gt;
OpenCV in ubuntu 12.4 is version 2.3.1, and opencv-2.1 is not directly available in the for from openCV-1.0.&lt;br /&gt;
&lt;br /&gt;
- ROS replaces default versions of OPENCV.&lt;br /&gt;
&lt;br /&gt;
Installation of ros on ubuntu (kubuntu) see http://www.ros.org/wiki/electric/Installation/Ubuntu&lt;br /&gt;
The first part about adding source repository and &amp;quot;sudo apt-get update&amp;quot; is fine for installing openCV version 2.3.1 (sudo apt-get install libopencv2.3-dev) too. The same is probably true for the linear algebra template library (sudo apt-get install libeigen3-dev).&lt;br /&gt;
&lt;br /&gt;
ROS electric installes (pt) openCV version 2.3.1, and this includes a pkg-config file with errors, all link directives &amp;quot;-l&amp;quot; includes the full path, which is a syntax error, so&lt;br /&gt;
&lt;br /&gt;
edit the &amp;quot;Libs:&amp;quot; part of /usr/lib/pkgconfig/opencv-2.3.1.pc &lt;br /&gt;
&lt;br /&gt;
from:&lt;br /&gt;
&lt;br /&gt;
 # Package Information for pkg-config&lt;br /&gt;
 prefix=/usr&lt;br /&gt;
 exec_prefix=${prefix}&lt;br /&gt;
 libdir=${exec_prefix}/lib&lt;br /&gt;
 includedir_old=${prefix}/include/opencv-2.3.1/opencv&lt;br /&gt;
 includedir_new=${prefix}/include/opencv-2.3.1&lt;br /&gt;
 Name: OpenCV&lt;br /&gt;
 Description: Open Source Computer Vision Library&lt;br /&gt;
 Version: 2.3.1&lt;br /&gt;
 Libs:  -l${exec_prefix}/lib/libopencv_contrib.so.2.3.1 -l${exec_prefix}/lib/libopencv_legacy.so.2.3.1 \&lt;br /&gt;
    -l${exec_prefix}/lib/libopencv_objdetect.so.2.3.1 -l${exec_prefix}/lib/libopencv_calib3d.so.2.3.1 \&lt;br /&gt;
    -l${exec_prefix}/lib/libopencv_features2d.so.2.3.1 -l${exec_prefix}/lib/libopencv_video.so.2.3.1 \&lt;br /&gt;
    -l${exec_prefix}/lib/libopencv_highgui.so.2.3.1 -l${exec_prefix}/lib/libopencv_ml.so.2.3.1 \&lt;br /&gt;
    -l${exec_prefix}/lib/libopencv_imgproc.so.2.3.1 -l${exec_prefix}/lib/libopencv_flann.so.2.3.1 \&lt;br /&gt;
    -l${exec_prefix}/lib/libopencv_core.so.2.3.1&lt;br /&gt;
 Cflags: -I${includedir_old} -I${includedir_new}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
to:&lt;br /&gt;
&lt;br /&gt;
 # Package Information for pkg-config&lt;br /&gt;
 prefix=/usr&lt;br /&gt;
 exec_prefix=${prefix}&lt;br /&gt;
 libdir=${exec_prefix}/lib&lt;br /&gt;
 includedir_old=${prefix}/include/opencv-2.3.1/opencv&lt;br /&gt;
 includedir_new=${prefix}/include/opencv-2.3.1&lt;br /&gt;
 Name: OpenCV&lt;br /&gt;
 Description: Open Source Computer Vision Library&lt;br /&gt;
 Version: 2.3.1&lt;br /&gt;
 Libs:  -lopencv_contrib -lopencv_legacy -lopencv_objdetect -lopencv_calib3d \&lt;br /&gt;
        -lopencv_features2d -lopencv_video -lopencv_highgui -lopencv_ml \&lt;br /&gt;
        -lopencv_imgproc -lopencv_flann -lopencv_core&lt;br /&gt;
 Cflags: -I${includedir_old} -I${includedir_new}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
All relevant Makefiles should now be modified - since SVN version 1768. And updated to detect openCV version 2.1, 2.3.1, and the version installed with ubuntu 12.4. &lt;br /&gt;
&lt;br /&gt;
Thanks to: http://mpt-internal.uni-hohenheim.de/doku.php?id=robotsoftware:mobotware:mobotware-ros&lt;br /&gt;
&lt;br /&gt;
==IDE==&lt;br /&gt;
&lt;br /&gt;
From an Integrated Development Environment (IDE) all parts of the project can be loaded, compiled and debugged using the provided Makefiles &lt;br /&gt;
&lt;br /&gt;
KDEvelop and Eclipse can be recommended.&lt;br /&gt;
&lt;br /&gt;
(for Eclipse see [[Remote Development of Mobotware Using Eclipse]])&lt;br /&gt;
&lt;br /&gt;
==Compile Install Run==&lt;br /&gt;
&lt;br /&gt;
Go to the directory with the Mobotware source&lt;br /&gt;
&lt;br /&gt;
===Unpack===&lt;br /&gt;
&lt;br /&gt;
If from a packed version (see below for SVN source), then&lt;br /&gt;
&lt;br /&gt;
 tar -xzf mobotware-3.XXXX.tar.gz&lt;br /&gt;
&lt;br /&gt;
then go to the created directory&lt;br /&gt;
&lt;br /&gt;
 cd mobotware-3.XXXX&lt;br /&gt;
&lt;br /&gt;
===Compile===&lt;br /&gt;
&lt;br /&gt;
From the top level Mobotware directory&lt;br /&gt;
&lt;br /&gt;
 make&lt;br /&gt;
&lt;br /&gt;
This is needed even if you are going to compile a plugin only to make needed libraryies. There is (usually) seperate makefiles for each plugin and utility, that can be used once the libraries are in place.&lt;br /&gt;
&lt;br /&gt;
===Install===&lt;br /&gt;
&lt;br /&gt;
To make the compiled version available on the command line (installed under /usr/local):&lt;br /&gt;
* on a standalobe development computer:&lt;br /&gt;
&lt;br /&gt;
 sudo make install&lt;br /&gt;
&lt;br /&gt;
* On a robot you cam make a local version, that can be selected using &amp;quot;switchtool&amp;quot;. (reverts back to default version after a reboot)&lt;br /&gt;
&lt;br /&gt;
 sudo make install VER=2012z&lt;br /&gt;
&lt;br /&gt;
* For a new release on our fileserver (for VIP users on kalman only). This exports Mobotware files to a new directory, compiles all needed files, and copies binary files to e.g. &amp;quot;kalman:/opt/smr.2012m&amp;quot;. this directory must exist on kalman (usually created as a copy from a previous version).&lt;br /&gt;
&lt;br /&gt;
 ./exportMobotware     (and type in the SVN revision number, that is used in filenames, e.g. 62)&lt;br /&gt;
 cd mobotware-3.62&lt;br /&gt;
 make kalman VER=2012m&lt;br /&gt;
&lt;br /&gt;
===Run===&lt;br /&gt;
&lt;br /&gt;
Further set PATH and LD_LIBRARY_PATH inmake add the following lines to ~/.bashrc (or /etc/bash.bashrc)&lt;br /&gt;
&lt;br /&gt;
 export PATH=$PATH:/home/jca/svn/build/bin&lt;br /&gt;
 export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/jca/svn/build/lib&lt;br /&gt;
&lt;br /&gt;
(restart your terminal to put the lines into effect)&lt;br /&gt;
&lt;br /&gt;
==Maintain SVN source==&lt;br /&gt;
&lt;br /&gt;
New version is fetched from command prompt by:&lt;br /&gt;
&lt;br /&gt;
 cd ~/mobotware&lt;br /&gt;
 svn update&lt;br /&gt;
&lt;br /&gt;
When you have changed a file send it back to the svn-repository from the directory with the file, or one of the parent folders known to svn (svn will ask for a note for the change log):&lt;br /&gt;
&lt;br /&gt;
 svn commit&lt;br /&gt;
&lt;br /&gt;
To add a new set of files, just make a new set of source files - preferably in a new directory (inside the mobotware file tree) - and add the new directory by (e.g. called foo):&lt;br /&gt;
&lt;br /&gt;
 svn add foo&lt;br /&gt;
 A         foo&lt;br /&gt;
 A         foo/Makefile&lt;br /&gt;
 A         foo/bar.cpp&lt;br /&gt;
 A         foo/bar.cpp~&lt;br /&gt;
 A (bin)   foo/bar.o&lt;br /&gt;
&lt;br /&gt;
This adds the directory and all the files in it, if too many files were added the surplus can be removed from add-list by e.g.:&lt;br /&gt;
&lt;br /&gt;
 svn reveret foo/bar.cpp~ foo/bar.o&lt;br /&gt;
&lt;br /&gt;
You may let SVN modify a line in the source code with revision number or an iID with update details, by addinf $Rev$ or $Id$ somewhere in the source file, and make this field active by:&lt;br /&gt;
&lt;br /&gt;
 svn propset svn:keywords &#039;Id Revision&#039; foo&lt;br /&gt;
&lt;br /&gt;
Then the additions and changes must be committed to go to the repository (starts an editor for a commit remark)&lt;br /&gt;
&lt;br /&gt;
 svn commit&lt;br /&gt;
&lt;br /&gt;
or to skip the step with the remark editor:&lt;br /&gt;
&lt;br /&gt;
 svn commit -m &amp;quot;in-line commit remark&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Debug==&lt;br /&gt;
&lt;br /&gt;
Using debugger to attach to a running process may fail with the message:&lt;br /&gt;
&lt;br /&gt;
 Could not attach debugger:&lt;br /&gt;
 ptrace: Operation not permitted.&lt;br /&gt;
&lt;br /&gt;
Most likely, it is solved by changing:&lt;br /&gt;
&lt;br /&gt;
 ptrace_scope to 0 in /etc/sysctl.d/10-ptrace.conf&lt;br /&gt;
&lt;br /&gt;
==Test==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
(to be continued with test and example instructions)&lt;/div&gt;</summary>
		<author><name>Cjag</name></author>
	</entry>
	<entry>
		<id>https://rsewiki.electro.dtu.dk/index.php?title=Install_on_(K)UBUNTU&amp;diff=1378</id>
		<title>Install on (K)UBUNTU</title>
		<link rel="alternate" type="text/html" href="https://rsewiki.electro.dtu.dk/index.php?title=Install_on_(K)UBUNTU&amp;diff=1378"/>
		<updated>2013-09-09T10:01:11Z</updated>

		<summary type="html">&lt;p&gt;Cjag: /* Ubuntu 13.04 32/64-bit - BOOST compile fails */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is intended as a guidance to install MOBOTWARE&lt;br /&gt;
&lt;br /&gt;
The platform tested is KUBUNTU, UBUNTU and XUBUNTU.&lt;br /&gt;
&lt;br /&gt;
All robots run - for now - &#039;&#039;&#039;32-bit LINUX distributions&#039;&#039;&#039; and thus tested much more than 64-bit.&lt;br /&gt;
On 64-bit Ubuntu, Mobotware compiles, runs and is tested to some extend.&lt;br /&gt;
&lt;br /&gt;
==UBUNTU version 10.4/10.10/11.04/11.10/12.04/12.10==&lt;br /&gt;
&lt;br /&gt;
This description is valid for UBUNTU, KUBUNTU and XUBUNTU&lt;br /&gt;
&lt;br /&gt;
* From version 11.04 of UBUNTU, KUBUNTU or XUBUNTU there is no support for USB-webcam using campool plug-in. The plugin &amp;quot;auv4lgst&amp;quot; is the replacement for USB-webcams supported by gstreamer (most modern webcams))&lt;br /&gt;
* Preferred version is (K)Ubuntu 12.04 32 bit for Mobotware version &amp;gt;=2.1912 - with only a few outstanding issues (e.g. RTEA).&lt;br /&gt;
&lt;br /&gt;
After successfully installing KUBUNTU, UBUNTU or XUBUBTU, install the following packages&lt;br /&gt;
&lt;br /&gt;
e.g. install a package from the command-prompt like: &lt;br /&gt;
 sudo apt-get install cmake&lt;br /&gt;
&lt;br /&gt;
Needed packages:&lt;br /&gt;
 - subversion (if you have access to source on SVN)&lt;br /&gt;
 - gcc&lt;br /&gt;
 - g++&lt;br /&gt;
 - cmake&lt;br /&gt;
 - doxygen  (for documentation only)&lt;br /&gt;
 - libopencv-dev (ubuntu from 12.4, for earlier versions of ubuntu: try load libhighgui-dev and libcv-dev instead)&lt;br /&gt;
 - libraw1394-dev&lt;br /&gt;
 - libdc1394-22-dev&lt;br /&gt;
 - libpng-dev&lt;br /&gt;
 - libexpat-dev&lt;br /&gt;
 - ncurses-dev&lt;br /&gt;
 - libpci-dev&lt;br /&gt;
 - libreadline-dev&lt;br /&gt;
 - libsdl-dev&lt;br /&gt;
 - bison (for MRC)&lt;br /&gt;
 - libudev-dev&lt;br /&gt;
 - icedtea-plugin  (to run MARG)&lt;br /&gt;
 - libusb-dev (MUST be version 1.0.3 or better - (used for Kinect only (see note))&lt;br /&gt;
 - ffmpeg (to convert a recorded image sequence to a video - see camera server)&lt;br /&gt;
 - libv4l-dev (pt. only for auv4l2 plug-in, that is not released yet)&lt;br /&gt;
 - putty (useful serial terminal emulator)&lt;br /&gt;
 - kdevelop or eclipse (integrated development environment - not strictly needed (and not with XUBUNTU))&lt;br /&gt;
 - lsof (to track open files - also device files)&lt;br /&gt;
 - libboost-dev (used by aulocalizer plug-in, but also included in libpcl)&lt;br /&gt;
 - libpcl-all-dev  (see PCL-note)&lt;br /&gt;
 - libgstreamer0.10-dev (for client and camera interface)&lt;br /&gt;
&lt;br /&gt;
Packages to compile AVR-C - e.g. motor controller and labyrinth&lt;br /&gt;
 - gcc-avr &lt;br /&gt;
 - binutils-avr &lt;br /&gt;
 - avr-libc&lt;br /&gt;
&lt;br /&gt;
=== PCL ===&lt;br /&gt;
The Point Clouds Library (PCL) is in a separate ubuntu repository, so see the instructions on:&lt;br /&gt;
http://pointclouds.org/downloads/linux.html&lt;br /&gt;
&lt;br /&gt;
=== Boost ===&lt;br /&gt;
====locale.hpp not found====&lt;br /&gt;
&lt;br /&gt;
In some cases compile of auviewer fails complaining that boost/locale.hpp is not found.&lt;br /&gt;
&lt;br /&gt;
changed in source file (in auviewer), from&lt;br /&gt;
 #include &amp;lt;boost/locale.hpp&amp;gt;&lt;br /&gt;
to&lt;br /&gt;
 #include &amp;lt;boost/typeof/std/locale.hpp&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Ubuntu 13.04 32/64-bit - BOOST compile fails====&lt;br /&gt;
&lt;br /&gt;
p.t. (may 2013) boost do not compile using GCC-4.7, as is default on 64 bit (ubuntu 13.04)&lt;br /&gt;
--update (august 2013) on clean install of Ubuntu 13.04 32 bit the problem is the same.&lt;br /&gt;
&lt;br /&gt;
So use update-alternatives to switch to gcc-4.6&lt;br /&gt;
&lt;br /&gt;
 sudo update-alternatives --config gcc&lt;br /&gt;
 sudo update-alternatives --config g++&lt;br /&gt;
&lt;br /&gt;
if update-alternatives has no alternatives, &lt;br /&gt;
then add them (taken from from http://askubuntu.com/questions/26498/choose-gcc-and-g-version)&lt;br /&gt;
&lt;br /&gt;
Install compiler version 4.6 (assumint 4.7 is installed):&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get install gcc-4.6 g++-4.6 cc-4.6&lt;br /&gt;
&lt;br /&gt;
Install Alternatives&lt;br /&gt;
&lt;br /&gt;
 sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.7 10&lt;br /&gt;
 sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.6 20&lt;br /&gt;
 &lt;br /&gt;
 sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.7 10&lt;br /&gt;
 sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.6 20&lt;br /&gt;
 &lt;br /&gt;
 sudo update-alternatives --install /usr/bin/cc cc /usr/bin/gcc 30&lt;br /&gt;
 sudo update-alternatives --set cc /usr/bin/gcc&lt;br /&gt;
 &lt;br /&gt;
 sudo update-alternatives --install /usr/bin/c++ c++ /usr/bin/g++ 30&lt;br /&gt;
 sudo update-alternatives --set c++ /usr/bin/g++&lt;br /&gt;
&lt;br /&gt;
Configure Alternatives&lt;br /&gt;
&lt;br /&gt;
 sudo update-alternatives --config gcc&lt;br /&gt;
 sudo update-alternatives --config g++&lt;br /&gt;
&lt;br /&gt;
===OpenNI===&lt;br /&gt;
&lt;br /&gt;
OpenNI is not used by mobotware (mobotware uses the freenect driver), but part of some of the examples in the PCL library uses the OpenNI driver.&lt;br /&gt;
&lt;br /&gt;
Install openNI driver for Kinect requires additional packages:&lt;br /&gt;
&lt;br /&gt;
* freeglut3-dev (3D graphics with openGL API)&lt;br /&gt;
* sun-java6-jdk (required to compile openNI - sudo add-apt-repository &amp;quot;deb http://archive.canonical.com/ lucid partner&amp;quot; and apt-get update&lt;br /&gt;
&lt;br /&gt;
===LIBUSB-1.0.x===&lt;br /&gt;
&lt;br /&gt;
For distributions older than 12.04:&lt;br /&gt;
&lt;br /&gt;
See http://www.libusb.org/wiki/libusb-1.0, one way is to install from git-source.&lt;br /&gt;
&lt;br /&gt;
If you installed libusb from &lt;br /&gt;
 git clone git://git.libusb.org/libusb.git &lt;br /&gt;
then default is verbose logging to console (may have changed since i tryed it (ultimo 2011)).&lt;br /&gt;
One way to remove is to edit the configure script:&lt;br /&gt;
&lt;br /&gt;
 in the file &#039;&#039;&#039;configure&#039;&#039;&#039; find and remove these two lines (about line 770):&lt;br /&gt;
 enable_log&lt;br /&gt;
 enable_debug_log&lt;br /&gt;
&lt;br /&gt;
Then run - as usual:&lt;br /&gt;
 ./configure&lt;br /&gt;
 make&lt;br /&gt;
 sudo make install&lt;br /&gt;
&lt;br /&gt;
===Freenect LIB===&lt;br /&gt;
&lt;br /&gt;
Latest version requires this packages:&lt;br /&gt;
&lt;br /&gt;
* libxmu-dev &lt;br /&gt;
* libxi-dev&lt;br /&gt;
&lt;br /&gt;
To compile from git source - not needed in mobotware&lt;br /&gt;
&lt;br /&gt;
===openCV (and ROS) issues===&lt;br /&gt;
&lt;br /&gt;
OpenCV in ubuntu 12.4 is version 2.3.1, and opencv-2.1 is not directly available in the for from openCV-1.0.&lt;br /&gt;
&lt;br /&gt;
- ROS replaces default versions of OPENCV.&lt;br /&gt;
&lt;br /&gt;
Installation of ros on ubuntu (kubuntu) see http://www.ros.org/wiki/electric/Installation/Ubuntu&lt;br /&gt;
The first part about adding source repository and &amp;quot;sudo apt-get update&amp;quot; is fine for installing openCV version 2.3.1 (sudo apt-get install libopencv2.3-dev) too. The same is probably true for the linear algebra template library (sudo apt-get install libeigen3-dev).&lt;br /&gt;
&lt;br /&gt;
ROS electric installes (pt) openCV version 2.3.1, and this includes a pkg-config file with errors, all link directives &amp;quot;-l&amp;quot; includes the full path, which is a syntax error, so&lt;br /&gt;
&lt;br /&gt;
edit the &amp;quot;Libs:&amp;quot; part of /usr/lib/pkgconfig/opencv-2.3.1.pc &lt;br /&gt;
&lt;br /&gt;
from:&lt;br /&gt;
&lt;br /&gt;
 # Package Information for pkg-config&lt;br /&gt;
 prefix=/usr&lt;br /&gt;
 exec_prefix=${prefix}&lt;br /&gt;
 libdir=${exec_prefix}/lib&lt;br /&gt;
 includedir_old=${prefix}/include/opencv-2.3.1/opencv&lt;br /&gt;
 includedir_new=${prefix}/include/opencv-2.3.1&lt;br /&gt;
 Name: OpenCV&lt;br /&gt;
 Description: Open Source Computer Vision Library&lt;br /&gt;
 Version: 2.3.1&lt;br /&gt;
 Libs:  -l${exec_prefix}/lib/libopencv_contrib.so.2.3.1 -l${exec_prefix}/lib/libopencv_legacy.so.2.3.1 \&lt;br /&gt;
    -l${exec_prefix}/lib/libopencv_objdetect.so.2.3.1 -l${exec_prefix}/lib/libopencv_calib3d.so.2.3.1 \&lt;br /&gt;
    -l${exec_prefix}/lib/libopencv_features2d.so.2.3.1 -l${exec_prefix}/lib/libopencv_video.so.2.3.1 \&lt;br /&gt;
    -l${exec_prefix}/lib/libopencv_highgui.so.2.3.1 -l${exec_prefix}/lib/libopencv_ml.so.2.3.1 \&lt;br /&gt;
    -l${exec_prefix}/lib/libopencv_imgproc.so.2.3.1 -l${exec_prefix}/lib/libopencv_flann.so.2.3.1 \&lt;br /&gt;
    -l${exec_prefix}/lib/libopencv_core.so.2.3.1&lt;br /&gt;
 Cflags: -I${includedir_old} -I${includedir_new}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
to:&lt;br /&gt;
&lt;br /&gt;
 # Package Information for pkg-config&lt;br /&gt;
 prefix=/usr&lt;br /&gt;
 exec_prefix=${prefix}&lt;br /&gt;
 libdir=${exec_prefix}/lib&lt;br /&gt;
 includedir_old=${prefix}/include/opencv-2.3.1/opencv&lt;br /&gt;
 includedir_new=${prefix}/include/opencv-2.3.1&lt;br /&gt;
 Name: OpenCV&lt;br /&gt;
 Description: Open Source Computer Vision Library&lt;br /&gt;
 Version: 2.3.1&lt;br /&gt;
 Libs:  -lopencv_contrib -lopencv_legacy -lopencv_objdetect -lopencv_calib3d \&lt;br /&gt;
        -lopencv_features2d -lopencv_video -lopencv_highgui -lopencv_ml \&lt;br /&gt;
        -lopencv_imgproc -lopencv_flann -lopencv_core&lt;br /&gt;
 Cflags: -I${includedir_old} -I${includedir_new}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
All relevant Makefiles should now be modified - since SVN version 1768. And updated to detect openCV version 2.1, 2.3.1, and the version installed with ubuntu 12.4. &lt;br /&gt;
&lt;br /&gt;
Thanks to: http://mpt-internal.uni-hohenheim.de/doku.php?id=robotsoftware:mobotware:mobotware-ros&lt;br /&gt;
&lt;br /&gt;
==IDE==&lt;br /&gt;
&lt;br /&gt;
From an Integrated Development Environment (IDE) all parts of the project can be loaded, compiled and debugged using the provided Makefiles &lt;br /&gt;
&lt;br /&gt;
KDEvelop and Eclipse can be recommended.&lt;br /&gt;
&lt;br /&gt;
(for Eclipse see [[Remote Development of Mobotware Using Eclipse]])&lt;br /&gt;
&lt;br /&gt;
==Compile Install Run==&lt;br /&gt;
&lt;br /&gt;
Go to the directory with the Mobotware source&lt;br /&gt;
&lt;br /&gt;
===Unpack===&lt;br /&gt;
&lt;br /&gt;
If from a packed version (see below for SVN source), then&lt;br /&gt;
&lt;br /&gt;
 tar -xzf mobotware-3.XXXX.tar.gz&lt;br /&gt;
&lt;br /&gt;
then go to the created directory&lt;br /&gt;
&lt;br /&gt;
 cd mobotware-3.XXXX&lt;br /&gt;
&lt;br /&gt;
===Compile===&lt;br /&gt;
&lt;br /&gt;
From the top level Mobotware directory&lt;br /&gt;
&lt;br /&gt;
 make&lt;br /&gt;
&lt;br /&gt;
This is needed even if you are going to compile a plugin only to make needed libraryies. There is (usually) seperate makefiles for each plugin and utility, that can be used once the libraries are in place.&lt;br /&gt;
&lt;br /&gt;
===Install===&lt;br /&gt;
&lt;br /&gt;
To make the compiled version available on the command line (installed under /usr/local):&lt;br /&gt;
* on a standalobe development computer:&lt;br /&gt;
&lt;br /&gt;
 sudo make install&lt;br /&gt;
&lt;br /&gt;
* On a robot you cam make a local version, that can be selected using &amp;quot;switchtool&amp;quot;. (reverts back to default version after a reboot)&lt;br /&gt;
&lt;br /&gt;
 sudo make install VER=2012z&lt;br /&gt;
&lt;br /&gt;
* For a new release on our fileserver (for VIP users on kalman only). This exports Mobotware files to a new directory, compiles all needed files, and copies binary files to e.g. &amp;quot;kalman:/opt/smr.2012m&amp;quot;. this directory must exist on kalman (usually created as a copy from a previous version).&lt;br /&gt;
&lt;br /&gt;
 ./exportMobotware     (and type in the SVN revision number, that is used in filenames, e.g. 62)&lt;br /&gt;
 cd mobotware-3.62&lt;br /&gt;
 make kalman VER=2012m&lt;br /&gt;
&lt;br /&gt;
===Run===&lt;br /&gt;
&lt;br /&gt;
Further set PATH and LD_LIBRARY_PATH inmake add the following lines to ~/.bashrc (or /etc/bash.bashrc)&lt;br /&gt;
&lt;br /&gt;
 export PATH=$PATH:/home/jca/svn/build/bin&lt;br /&gt;
 export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/jca/svn/build/lib&lt;br /&gt;
&lt;br /&gt;
(restart your terminal to put the lines into effect)&lt;br /&gt;
&lt;br /&gt;
==Maintain SVN source==&lt;br /&gt;
&lt;br /&gt;
New version is fetched from command prompt by:&lt;br /&gt;
&lt;br /&gt;
 cd ~/mobotware&lt;br /&gt;
 svn update&lt;br /&gt;
&lt;br /&gt;
When you have changed a file send it back to the svn-repository from the directory with the file, or one of the parent folders known to svn (svn will ask for a note for the change log):&lt;br /&gt;
&lt;br /&gt;
 svn commit&lt;br /&gt;
&lt;br /&gt;
To add a new set of files, just make a new set of source files - preferably in a new directory (inside the mobotware file tree) - and add the new directory by (e.g. called foo):&lt;br /&gt;
&lt;br /&gt;
 svn add foo&lt;br /&gt;
 A         foo&lt;br /&gt;
 A         foo/Makefile&lt;br /&gt;
 A         foo/bar.cpp&lt;br /&gt;
 A         foo/bar.cpp~&lt;br /&gt;
 A (bin)   foo/bar.o&lt;br /&gt;
&lt;br /&gt;
This adds the directory and all the files in it, if too many files were added the surplus can be removed from add-list by e.g.:&lt;br /&gt;
&lt;br /&gt;
 svn reveret foo/bar.cpp~ foo/bar.o&lt;br /&gt;
&lt;br /&gt;
You may let SVN modify a line in the source code with revision number or an iID with update details, by addinf $Rev$ or $Id$ somewhere in the source file, and make this field active by:&lt;br /&gt;
&lt;br /&gt;
 svn propset svn:keywords &#039;Id Revision&#039; foo&lt;br /&gt;
&lt;br /&gt;
Then the additions and changes must be committed to go to the repository (starts an editor for a commit remark)&lt;br /&gt;
&lt;br /&gt;
 svn commit&lt;br /&gt;
&lt;br /&gt;
or to skip the step with the remark editor:&lt;br /&gt;
&lt;br /&gt;
 svn commit -m &amp;quot;in-line commit remark&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Debug==&lt;br /&gt;
&lt;br /&gt;
Using debugger to attach to a running process may fail with the message:&lt;br /&gt;
&lt;br /&gt;
 Could not attach debugger:&lt;br /&gt;
 ptrace: Operation not permitted.&lt;br /&gt;
&lt;br /&gt;
Most likely, it is solved by changing:&lt;br /&gt;
&lt;br /&gt;
 ptrace_scope to 0 in /etc/sysctl.d/10-ptrace.conf&lt;br /&gt;
&lt;br /&gt;
==Test==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
(to be continued with test and example instructions)&lt;/div&gt;</summary>
		<author><name>Cjag</name></author>
	</entry>
	<entry>
		<id>https://rsewiki.electro.dtu.dk/index.php?title=Install_on_(K)UBUNTU&amp;diff=1377</id>
		<title>Install on (K)UBUNTU</title>
		<link rel="alternate" type="text/html" href="https://rsewiki.electro.dtu.dk/index.php?title=Install_on_(K)UBUNTU&amp;diff=1377"/>
		<updated>2013-09-09T10:00:48Z</updated>

		<summary type="html">&lt;p&gt;Cjag: /* 64-bit - BOOST compile fails */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is intended as a guidance to install MOBOTWARE&lt;br /&gt;
&lt;br /&gt;
The platform tested is KUBUNTU, UBUNTU and XUBUNTU.&lt;br /&gt;
&lt;br /&gt;
All robots run - for now - &#039;&#039;&#039;32-bit LINUX distributions&#039;&#039;&#039; and thus tested much more than 64-bit.&lt;br /&gt;
On 64-bit Ubuntu, Mobotware compiles, runs and is tested to some extend.&lt;br /&gt;
&lt;br /&gt;
==UBUNTU version 10.4/10.10/11.04/11.10/12.04/12.10==&lt;br /&gt;
&lt;br /&gt;
This description is valid for UBUNTU, KUBUNTU and XUBUNTU&lt;br /&gt;
&lt;br /&gt;
* From version 11.04 of UBUNTU, KUBUNTU or XUBUNTU there is no support for USB-webcam using campool plug-in. The plugin &amp;quot;auv4lgst&amp;quot; is the replacement for USB-webcams supported by gstreamer (most modern webcams))&lt;br /&gt;
* Preferred version is (K)Ubuntu 12.04 32 bit for Mobotware version &amp;gt;=2.1912 - with only a few outstanding issues (e.g. RTEA).&lt;br /&gt;
&lt;br /&gt;
After successfully installing KUBUNTU, UBUNTU or XUBUBTU, install the following packages&lt;br /&gt;
&lt;br /&gt;
e.g. install a package from the command-prompt like: &lt;br /&gt;
 sudo apt-get install cmake&lt;br /&gt;
&lt;br /&gt;
Needed packages:&lt;br /&gt;
 - subversion (if you have access to source on SVN)&lt;br /&gt;
 - gcc&lt;br /&gt;
 - g++&lt;br /&gt;
 - cmake&lt;br /&gt;
 - doxygen  (for documentation only)&lt;br /&gt;
 - libopencv-dev (ubuntu from 12.4, for earlier versions of ubuntu: try load libhighgui-dev and libcv-dev instead)&lt;br /&gt;
 - libraw1394-dev&lt;br /&gt;
 - libdc1394-22-dev&lt;br /&gt;
 - libpng-dev&lt;br /&gt;
 - libexpat-dev&lt;br /&gt;
 - ncurses-dev&lt;br /&gt;
 - libpci-dev&lt;br /&gt;
 - libreadline-dev&lt;br /&gt;
 - libsdl-dev&lt;br /&gt;
 - bison (for MRC)&lt;br /&gt;
 - libudev-dev&lt;br /&gt;
 - icedtea-plugin  (to run MARG)&lt;br /&gt;
 - libusb-dev (MUST be version 1.0.3 or better - (used for Kinect only (see note))&lt;br /&gt;
 - ffmpeg (to convert a recorded image sequence to a video - see camera server)&lt;br /&gt;
 - libv4l-dev (pt. only for auv4l2 plug-in, that is not released yet)&lt;br /&gt;
 - putty (useful serial terminal emulator)&lt;br /&gt;
 - kdevelop or eclipse (integrated development environment - not strictly needed (and not with XUBUNTU))&lt;br /&gt;
 - lsof (to track open files - also device files)&lt;br /&gt;
 - libboost-dev (used by aulocalizer plug-in, but also included in libpcl)&lt;br /&gt;
 - libpcl-all-dev  (see PCL-note)&lt;br /&gt;
 - libgstreamer0.10-dev (for client and camera interface)&lt;br /&gt;
&lt;br /&gt;
Packages to compile AVR-C - e.g. motor controller and labyrinth&lt;br /&gt;
 - gcc-avr &lt;br /&gt;
 - binutils-avr &lt;br /&gt;
 - avr-libc&lt;br /&gt;
&lt;br /&gt;
=== PCL ===&lt;br /&gt;
The Point Clouds Library (PCL) is in a separate ubuntu repository, so see the instructions on:&lt;br /&gt;
http://pointclouds.org/downloads/linux.html&lt;br /&gt;
&lt;br /&gt;
=== Boost ===&lt;br /&gt;
====locale.hpp not found====&lt;br /&gt;
&lt;br /&gt;
In some cases compile of auviewer fails complaining that boost/locale.hpp is not found.&lt;br /&gt;
&lt;br /&gt;
changed in source file (in auviewer), from&lt;br /&gt;
 #include &amp;lt;boost/locale.hpp&amp;gt;&lt;br /&gt;
to&lt;br /&gt;
 #include &amp;lt;boost/typeof/std/locale.hpp&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Ubuntu 13.04 32/64-bit - BOOST compile fails====&lt;br /&gt;
&lt;br /&gt;
p.t. (may 2013) boost do not compile using GCC-4.7, as is default on 64 bit (ubuntu 13.04)&lt;br /&gt;
update (august 2013) on clean install of Ubuntu 13.04 32 bit the problem is the same.&lt;br /&gt;
&lt;br /&gt;
So use update-alternatives to switch to gcc-4.6&lt;br /&gt;
&lt;br /&gt;
 sudo update-alternatives --config gcc&lt;br /&gt;
 sudo update-alternatives --config g++&lt;br /&gt;
&lt;br /&gt;
if update-alternatives has no alternatives, &lt;br /&gt;
then add them (taken from from http://askubuntu.com/questions/26498/choose-gcc-and-g-version)&lt;br /&gt;
&lt;br /&gt;
Install compiler version 4.6 (assumint 4.7 is installed):&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get install gcc-4.6 g++-4.6 cc-4.6&lt;br /&gt;
&lt;br /&gt;
Install Alternatives&lt;br /&gt;
&lt;br /&gt;
 sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.7 10&lt;br /&gt;
 sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.6 20&lt;br /&gt;
 &lt;br /&gt;
 sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.7 10&lt;br /&gt;
 sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.6 20&lt;br /&gt;
 &lt;br /&gt;
 sudo update-alternatives --install /usr/bin/cc cc /usr/bin/gcc 30&lt;br /&gt;
 sudo update-alternatives --set cc /usr/bin/gcc&lt;br /&gt;
 &lt;br /&gt;
 sudo update-alternatives --install /usr/bin/c++ c++ /usr/bin/g++ 30&lt;br /&gt;
 sudo update-alternatives --set c++ /usr/bin/g++&lt;br /&gt;
&lt;br /&gt;
Configure Alternatives&lt;br /&gt;
&lt;br /&gt;
 sudo update-alternatives --config gcc&lt;br /&gt;
 sudo update-alternatives --config g++&lt;br /&gt;
&lt;br /&gt;
===OpenNI===&lt;br /&gt;
&lt;br /&gt;
OpenNI is not used by mobotware (mobotware uses the freenect driver), but part of some of the examples in the PCL library uses the OpenNI driver.&lt;br /&gt;
&lt;br /&gt;
Install openNI driver for Kinect requires additional packages:&lt;br /&gt;
&lt;br /&gt;
* freeglut3-dev (3D graphics with openGL API)&lt;br /&gt;
* sun-java6-jdk (required to compile openNI - sudo add-apt-repository &amp;quot;deb http://archive.canonical.com/ lucid partner&amp;quot; and apt-get update&lt;br /&gt;
&lt;br /&gt;
===LIBUSB-1.0.x===&lt;br /&gt;
&lt;br /&gt;
For distributions older than 12.04:&lt;br /&gt;
&lt;br /&gt;
See http://www.libusb.org/wiki/libusb-1.0, one way is to install from git-source.&lt;br /&gt;
&lt;br /&gt;
If you installed libusb from &lt;br /&gt;
 git clone git://git.libusb.org/libusb.git &lt;br /&gt;
then default is verbose logging to console (may have changed since i tryed it (ultimo 2011)).&lt;br /&gt;
One way to remove is to edit the configure script:&lt;br /&gt;
&lt;br /&gt;
 in the file &#039;&#039;&#039;configure&#039;&#039;&#039; find and remove these two lines (about line 770):&lt;br /&gt;
 enable_log&lt;br /&gt;
 enable_debug_log&lt;br /&gt;
&lt;br /&gt;
Then run - as usual:&lt;br /&gt;
 ./configure&lt;br /&gt;
 make&lt;br /&gt;
 sudo make install&lt;br /&gt;
&lt;br /&gt;
===Freenect LIB===&lt;br /&gt;
&lt;br /&gt;
Latest version requires this packages:&lt;br /&gt;
&lt;br /&gt;
* libxmu-dev &lt;br /&gt;
* libxi-dev&lt;br /&gt;
&lt;br /&gt;
To compile from git source - not needed in mobotware&lt;br /&gt;
&lt;br /&gt;
===openCV (and ROS) issues===&lt;br /&gt;
&lt;br /&gt;
OpenCV in ubuntu 12.4 is version 2.3.1, and opencv-2.1 is not directly available in the for from openCV-1.0.&lt;br /&gt;
&lt;br /&gt;
- ROS replaces default versions of OPENCV.&lt;br /&gt;
&lt;br /&gt;
Installation of ros on ubuntu (kubuntu) see http://www.ros.org/wiki/electric/Installation/Ubuntu&lt;br /&gt;
The first part about adding source repository and &amp;quot;sudo apt-get update&amp;quot; is fine for installing openCV version 2.3.1 (sudo apt-get install libopencv2.3-dev) too. The same is probably true for the linear algebra template library (sudo apt-get install libeigen3-dev).&lt;br /&gt;
&lt;br /&gt;
ROS electric installes (pt) openCV version 2.3.1, and this includes a pkg-config file with errors, all link directives &amp;quot;-l&amp;quot; includes the full path, which is a syntax error, so&lt;br /&gt;
&lt;br /&gt;
edit the &amp;quot;Libs:&amp;quot; part of /usr/lib/pkgconfig/opencv-2.3.1.pc &lt;br /&gt;
&lt;br /&gt;
from:&lt;br /&gt;
&lt;br /&gt;
 # Package Information for pkg-config&lt;br /&gt;
 prefix=/usr&lt;br /&gt;
 exec_prefix=${prefix}&lt;br /&gt;
 libdir=${exec_prefix}/lib&lt;br /&gt;
 includedir_old=${prefix}/include/opencv-2.3.1/opencv&lt;br /&gt;
 includedir_new=${prefix}/include/opencv-2.3.1&lt;br /&gt;
 Name: OpenCV&lt;br /&gt;
 Description: Open Source Computer Vision Library&lt;br /&gt;
 Version: 2.3.1&lt;br /&gt;
 Libs:  -l${exec_prefix}/lib/libopencv_contrib.so.2.3.1 -l${exec_prefix}/lib/libopencv_legacy.so.2.3.1 \&lt;br /&gt;
    -l${exec_prefix}/lib/libopencv_objdetect.so.2.3.1 -l${exec_prefix}/lib/libopencv_calib3d.so.2.3.1 \&lt;br /&gt;
    -l${exec_prefix}/lib/libopencv_features2d.so.2.3.1 -l${exec_prefix}/lib/libopencv_video.so.2.3.1 \&lt;br /&gt;
    -l${exec_prefix}/lib/libopencv_highgui.so.2.3.1 -l${exec_prefix}/lib/libopencv_ml.so.2.3.1 \&lt;br /&gt;
    -l${exec_prefix}/lib/libopencv_imgproc.so.2.3.1 -l${exec_prefix}/lib/libopencv_flann.so.2.3.1 \&lt;br /&gt;
    -l${exec_prefix}/lib/libopencv_core.so.2.3.1&lt;br /&gt;
 Cflags: -I${includedir_old} -I${includedir_new}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
to:&lt;br /&gt;
&lt;br /&gt;
 # Package Information for pkg-config&lt;br /&gt;
 prefix=/usr&lt;br /&gt;
 exec_prefix=${prefix}&lt;br /&gt;
 libdir=${exec_prefix}/lib&lt;br /&gt;
 includedir_old=${prefix}/include/opencv-2.3.1/opencv&lt;br /&gt;
 includedir_new=${prefix}/include/opencv-2.3.1&lt;br /&gt;
 Name: OpenCV&lt;br /&gt;
 Description: Open Source Computer Vision Library&lt;br /&gt;
 Version: 2.3.1&lt;br /&gt;
 Libs:  -lopencv_contrib -lopencv_legacy -lopencv_objdetect -lopencv_calib3d \&lt;br /&gt;
        -lopencv_features2d -lopencv_video -lopencv_highgui -lopencv_ml \&lt;br /&gt;
        -lopencv_imgproc -lopencv_flann -lopencv_core&lt;br /&gt;
 Cflags: -I${includedir_old} -I${includedir_new}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
All relevant Makefiles should now be modified - since SVN version 1768. And updated to detect openCV version 2.1, 2.3.1, and the version installed with ubuntu 12.4. &lt;br /&gt;
&lt;br /&gt;
Thanks to: http://mpt-internal.uni-hohenheim.de/doku.php?id=robotsoftware:mobotware:mobotware-ros&lt;br /&gt;
&lt;br /&gt;
==IDE==&lt;br /&gt;
&lt;br /&gt;
From an Integrated Development Environment (IDE) all parts of the project can be loaded, compiled and debugged using the provided Makefiles &lt;br /&gt;
&lt;br /&gt;
KDEvelop and Eclipse can be recommended.&lt;br /&gt;
&lt;br /&gt;
(for Eclipse see [[Remote Development of Mobotware Using Eclipse]])&lt;br /&gt;
&lt;br /&gt;
==Compile Install Run==&lt;br /&gt;
&lt;br /&gt;
Go to the directory with the Mobotware source&lt;br /&gt;
&lt;br /&gt;
===Unpack===&lt;br /&gt;
&lt;br /&gt;
If from a packed version (see below for SVN source), then&lt;br /&gt;
&lt;br /&gt;
 tar -xzf mobotware-3.XXXX.tar.gz&lt;br /&gt;
&lt;br /&gt;
then go to the created directory&lt;br /&gt;
&lt;br /&gt;
 cd mobotware-3.XXXX&lt;br /&gt;
&lt;br /&gt;
===Compile===&lt;br /&gt;
&lt;br /&gt;
From the top level Mobotware directory&lt;br /&gt;
&lt;br /&gt;
 make&lt;br /&gt;
&lt;br /&gt;
This is needed even if you are going to compile a plugin only to make needed libraryies. There is (usually) seperate makefiles for each plugin and utility, that can be used once the libraries are in place.&lt;br /&gt;
&lt;br /&gt;
===Install===&lt;br /&gt;
&lt;br /&gt;
To make the compiled version available on the command line (installed under /usr/local):&lt;br /&gt;
* on a standalobe development computer:&lt;br /&gt;
&lt;br /&gt;
 sudo make install&lt;br /&gt;
&lt;br /&gt;
* On a robot you cam make a local version, that can be selected using &amp;quot;switchtool&amp;quot;. (reverts back to default version after a reboot)&lt;br /&gt;
&lt;br /&gt;
 sudo make install VER=2012z&lt;br /&gt;
&lt;br /&gt;
* For a new release on our fileserver (for VIP users on kalman only). This exports Mobotware files to a new directory, compiles all needed files, and copies binary files to e.g. &amp;quot;kalman:/opt/smr.2012m&amp;quot;. this directory must exist on kalman (usually created as a copy from a previous version).&lt;br /&gt;
&lt;br /&gt;
 ./exportMobotware     (and type in the SVN revision number, that is used in filenames, e.g. 62)&lt;br /&gt;
 cd mobotware-3.62&lt;br /&gt;
 make kalman VER=2012m&lt;br /&gt;
&lt;br /&gt;
===Run===&lt;br /&gt;
&lt;br /&gt;
Further set PATH and LD_LIBRARY_PATH inmake add the following lines to ~/.bashrc (or /etc/bash.bashrc)&lt;br /&gt;
&lt;br /&gt;
 export PATH=$PATH:/home/jca/svn/build/bin&lt;br /&gt;
 export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/jca/svn/build/lib&lt;br /&gt;
&lt;br /&gt;
(restart your terminal to put the lines into effect)&lt;br /&gt;
&lt;br /&gt;
==Maintain SVN source==&lt;br /&gt;
&lt;br /&gt;
New version is fetched from command prompt by:&lt;br /&gt;
&lt;br /&gt;
 cd ~/mobotware&lt;br /&gt;
 svn update&lt;br /&gt;
&lt;br /&gt;
When you have changed a file send it back to the svn-repository from the directory with the file, or one of the parent folders known to svn (svn will ask for a note for the change log):&lt;br /&gt;
&lt;br /&gt;
 svn commit&lt;br /&gt;
&lt;br /&gt;
To add a new set of files, just make a new set of source files - preferably in a new directory (inside the mobotware file tree) - and add the new directory by (e.g. called foo):&lt;br /&gt;
&lt;br /&gt;
 svn add foo&lt;br /&gt;
 A         foo&lt;br /&gt;
 A         foo/Makefile&lt;br /&gt;
 A         foo/bar.cpp&lt;br /&gt;
 A         foo/bar.cpp~&lt;br /&gt;
 A (bin)   foo/bar.o&lt;br /&gt;
&lt;br /&gt;
This adds the directory and all the files in it, if too many files were added the surplus can be removed from add-list by e.g.:&lt;br /&gt;
&lt;br /&gt;
 svn reveret foo/bar.cpp~ foo/bar.o&lt;br /&gt;
&lt;br /&gt;
You may let SVN modify a line in the source code with revision number or an iID with update details, by addinf $Rev$ or $Id$ somewhere in the source file, and make this field active by:&lt;br /&gt;
&lt;br /&gt;
 svn propset svn:keywords &#039;Id Revision&#039; foo&lt;br /&gt;
&lt;br /&gt;
Then the additions and changes must be committed to go to the repository (starts an editor for a commit remark)&lt;br /&gt;
&lt;br /&gt;
 svn commit&lt;br /&gt;
&lt;br /&gt;
or to skip the step with the remark editor:&lt;br /&gt;
&lt;br /&gt;
 svn commit -m &amp;quot;in-line commit remark&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Debug==&lt;br /&gt;
&lt;br /&gt;
Using debugger to attach to a running process may fail with the message:&lt;br /&gt;
&lt;br /&gt;
 Could not attach debugger:&lt;br /&gt;
 ptrace: Operation not permitted.&lt;br /&gt;
&lt;br /&gt;
Most likely, it is solved by changing:&lt;br /&gt;
&lt;br /&gt;
 ptrace_scope to 0 in /etc/sysctl.d/10-ptrace.conf&lt;br /&gt;
&lt;br /&gt;
==Test==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
(to be continued with test and example instructions)&lt;/div&gt;</summary>
		<author><name>Cjag</name></author>
	</entry>
	<entry>
		<id>https://rsewiki.electro.dtu.dk/index.php?title=Main_Page&amp;diff=1366</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://rsewiki.electro.dtu.dk/index.php?title=Main_Page&amp;diff=1366"/>
		<updated>2013-08-22T10:12:58Z</updated>

		<summary type="html">&lt;p&gt;Cjag: /* Robots */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Welcome to the wiki pages of the Robot Systems Engineering (RSE) group of Automation and Control at DTU Electical engineering.&lt;br /&gt;
&lt;br /&gt;
These pages will contain updated information on RSE projects and other issued related to robotics research.&lt;br /&gt;
&lt;br /&gt;
= Mobotware =&lt;br /&gt;
&lt;br /&gt;
(Mobile Robot software)&lt;br /&gt;
&lt;br /&gt;
AURS [[AU Robot Servers]] (camera, laser scanner, other servers and plugins) &lt;br /&gt;
&lt;br /&gt;
[[RHD]] Robot Hardware Daemon&lt;br /&gt;
&lt;br /&gt;
MRC - see SMR below&lt;br /&gt;
&lt;br /&gt;
[[Version and download]]&lt;br /&gt;
&lt;br /&gt;
= Robots =&lt;br /&gt;
&lt;br /&gt;
[[List of SMRs]] (List of SMRs)&lt;br /&gt;
&lt;br /&gt;
[[SMR]] (Small Mobile Robot)&lt;br /&gt;
&lt;br /&gt;
[[MMR]] (Medium Mobile Robot)&lt;br /&gt;
&lt;br /&gt;
[[HAKO]] (KU Life tractor, now in Hohenheim University Germany)&lt;br /&gt;
&lt;br /&gt;
[[Claas axion]] (Semi-autonomous heavy tractor)&lt;br /&gt;
&lt;br /&gt;
[[hexakopter]] (notes for six-rotor helicopter)&lt;br /&gt;
&lt;br /&gt;
[[UR5]] (Universal Robot Arm)&lt;br /&gt;
&lt;br /&gt;
[[Fieldrobot]] (Fieldrobot)&lt;br /&gt;
&lt;br /&gt;
[[Labyrinth]] (Labyrinth game)&lt;br /&gt;
&lt;br /&gt;
= Linux system considerations =&lt;br /&gt;
&lt;br /&gt;
[[Switchtool]] - Shift to Mobotware (development) branch on the robots&lt;br /&gt;
&lt;br /&gt;
[[Rules for udev on RTAI]] (How to use udev rules to get correct modes for RTAI fifos and Comedi devices)&lt;br /&gt;
&lt;br /&gt;
[[Naming networkinterfaces using udev]]&lt;br /&gt;
&lt;br /&gt;
[[Setting permissions for various devices using udev]]&lt;br /&gt;
&lt;br /&gt;
[[Ubuntu 32-bit or 64-bit]]&lt;br /&gt;
&lt;br /&gt;
[[Authenticating Linux clients against MS Active Directory]]&lt;br /&gt;
&lt;br /&gt;
====Older pages====&lt;br /&gt;
&lt;br /&gt;
[[Slackware OpenCV package install]]&lt;br /&gt;
&lt;br /&gt;
[[Slackware packages in robot image]]&lt;br /&gt;
&lt;br /&gt;
= Controllab =&lt;br /&gt;
&lt;br /&gt;
[[Platform list]] (List of computers used for various control set-ups)&lt;br /&gt;
&lt;br /&gt;
[[Realtime testing]] (Description of small test procedures to verify RTAI realtime operation)&lt;br /&gt;
&lt;br /&gt;
[http://aut.elektro.dtu.dk/staff/sh/rsewiki/matlabrtai_intro.pdf Introduction to Matlab RTW and RTAI] (Guide for usage of RTAILab with Matlab RTW and Simulink)&lt;br /&gt;
&lt;br /&gt;
= How-to documentation =&lt;br /&gt;
&lt;br /&gt;
====installation====&lt;br /&gt;
&lt;br /&gt;
[[NTP howto]] time-sync 2 computers&lt;br /&gt;
&lt;br /&gt;
Using the [[RSE SVN]] repository&lt;br /&gt;
&lt;br /&gt;
[[Flash disk cloning]] - to repair robot boot disk image&lt;br /&gt;
&lt;br /&gt;
[[Install on (K)UBUNTU]] - for test and development on PC or laptop&lt;br /&gt;
&lt;br /&gt;
[[Install GUI-less UBUNTU]] - new boot disk image for robots&lt;br /&gt;
&lt;br /&gt;
[[Install on raspberry]] - install RHD and MRC on raspbian&lt;br /&gt;
&lt;br /&gt;
[[Robot GUI (MARG)]]&lt;br /&gt;
&lt;br /&gt;
[[Remote Development of Mobotware Using Eclipse]]&lt;br /&gt;
&lt;br /&gt;
[[Set hostnames from dhcp-server with dhclient on *buntu systems]]&lt;br /&gt;
&lt;br /&gt;
====utility pages====&lt;br /&gt;
&lt;br /&gt;
[[Convert a .tex document to openoffice]]&lt;br /&gt;
&lt;br /&gt;
[[Access DTU campus network using VPN from Linux]]&lt;br /&gt;
&lt;br /&gt;
[[disable display manager on boot]] (and thereby the graphic user interface)&lt;br /&gt;
&lt;br /&gt;
How to make a animation from separate images, see [[MMR]]&lt;br /&gt;
&lt;br /&gt;
====older pages====&lt;br /&gt;
&lt;br /&gt;
[[Transition to version 2011]] - notes&lt;br /&gt;
&lt;br /&gt;
[[RoboCup]] - bl.a. scoreboard&lt;br /&gt;
&lt;br /&gt;
[[Demo of stereo camera]]&lt;br /&gt;
&lt;br /&gt;
[[AU software license considerations]]&lt;br /&gt;
&lt;br /&gt;
= Demonstrations =&lt;br /&gt;
&lt;br /&gt;
[[PLC controlled traffic light]]&lt;br /&gt;
&lt;br /&gt;
[[Machine shop in 326]]&lt;/div&gt;</summary>
		<author><name>Cjag</name></author>
	</entry>
	<entry>
		<id>https://rsewiki.electro.dtu.dk/index.php?title=Main_Page&amp;diff=1365</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://rsewiki.electro.dtu.dk/index.php?title=Main_Page&amp;diff=1365"/>
		<updated>2013-08-22T10:12:40Z</updated>

		<summary type="html">&lt;p&gt;Cjag: /* Robots */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Welcome to the wiki pages of the Robot Systems Engineering (RSE) group of Automation and Control at DTU Electical engineering.&lt;br /&gt;
&lt;br /&gt;
These pages will contain updated information on RSE projects and other issued related to robotics research.&lt;br /&gt;
&lt;br /&gt;
= Mobotware =&lt;br /&gt;
&lt;br /&gt;
(Mobile Robot software)&lt;br /&gt;
&lt;br /&gt;
AURS [[AU Robot Servers]] (camera, laser scanner, other servers and plugins) &lt;br /&gt;
&lt;br /&gt;
[[RHD]] Robot Hardware Daemon&lt;br /&gt;
&lt;br /&gt;
MRC - see SMR below&lt;br /&gt;
&lt;br /&gt;
[[Version and download]]&lt;br /&gt;
&lt;br /&gt;
= Robots =&lt;br /&gt;
&lt;br /&gt;
[[List of SMRs]] (List of SMRs)&lt;br /&gt;
&lt;br /&gt;
[[SMR]] (Small Mobile Robot)&lt;br /&gt;
&lt;br /&gt;
[[MMR]] (Medium Mobile Robot)&lt;br /&gt;
&lt;br /&gt;
[[HAKO]] (KU Life tractor, now in Hohenheim University Germany)&lt;br /&gt;
&lt;br /&gt;
[[Claas axion]] (Semi-autonomous heavy tractor)&lt;br /&gt;
&lt;br /&gt;
[[hexakopter]] (notes for six-rotor helicopter)&lt;br /&gt;
&lt;br /&gt;
[[UR5]] (Universal Robot Arm)&lt;br /&gt;
&lt;br /&gt;
[[Fieldrobot]] (Fieldrobot)&lt;br /&gt;
&lt;br /&gt;
[[Labyrinth]] (Labyrinth game)&lt;br /&gt;
&lt;br /&gt;
[[test]] Claes&lt;br /&gt;
&lt;br /&gt;
= Linux system considerations =&lt;br /&gt;
&lt;br /&gt;
[[Switchtool]] - Shift to Mobotware (development) branch on the robots&lt;br /&gt;
&lt;br /&gt;
[[Rules for udev on RTAI]] (How to use udev rules to get correct modes for RTAI fifos and Comedi devices)&lt;br /&gt;
&lt;br /&gt;
[[Naming networkinterfaces using udev]]&lt;br /&gt;
&lt;br /&gt;
[[Setting permissions for various devices using udev]]&lt;br /&gt;
&lt;br /&gt;
[[Ubuntu 32-bit or 64-bit]]&lt;br /&gt;
&lt;br /&gt;
[[Authenticating Linux clients against MS Active Directory]]&lt;br /&gt;
&lt;br /&gt;
====Older pages====&lt;br /&gt;
&lt;br /&gt;
[[Slackware OpenCV package install]]&lt;br /&gt;
&lt;br /&gt;
[[Slackware packages in robot image]]&lt;br /&gt;
&lt;br /&gt;
= Controllab =&lt;br /&gt;
&lt;br /&gt;
[[Platform list]] (List of computers used for various control set-ups)&lt;br /&gt;
&lt;br /&gt;
[[Realtime testing]] (Description of small test procedures to verify RTAI realtime operation)&lt;br /&gt;
&lt;br /&gt;
[http://aut.elektro.dtu.dk/staff/sh/rsewiki/matlabrtai_intro.pdf Introduction to Matlab RTW and RTAI] (Guide for usage of RTAILab with Matlab RTW and Simulink)&lt;br /&gt;
&lt;br /&gt;
= How-to documentation =&lt;br /&gt;
&lt;br /&gt;
====installation====&lt;br /&gt;
&lt;br /&gt;
[[NTP howto]] time-sync 2 computers&lt;br /&gt;
&lt;br /&gt;
Using the [[RSE SVN]] repository&lt;br /&gt;
&lt;br /&gt;
[[Flash disk cloning]] - to repair robot boot disk image&lt;br /&gt;
&lt;br /&gt;
[[Install on (K)UBUNTU]] - for test and development on PC or laptop&lt;br /&gt;
&lt;br /&gt;
[[Install GUI-less UBUNTU]] - new boot disk image for robots&lt;br /&gt;
&lt;br /&gt;
[[Install on raspberry]] - install RHD and MRC on raspbian&lt;br /&gt;
&lt;br /&gt;
[[Robot GUI (MARG)]]&lt;br /&gt;
&lt;br /&gt;
[[Remote Development of Mobotware Using Eclipse]]&lt;br /&gt;
&lt;br /&gt;
[[Set hostnames from dhcp-server with dhclient on *buntu systems]]&lt;br /&gt;
&lt;br /&gt;
====utility pages====&lt;br /&gt;
&lt;br /&gt;
[[Convert a .tex document to openoffice]]&lt;br /&gt;
&lt;br /&gt;
[[Access DTU campus network using VPN from Linux]]&lt;br /&gt;
&lt;br /&gt;
[[disable display manager on boot]] (and thereby the graphic user interface)&lt;br /&gt;
&lt;br /&gt;
How to make a animation from separate images, see [[MMR]]&lt;br /&gt;
&lt;br /&gt;
====older pages====&lt;br /&gt;
&lt;br /&gt;
[[Transition to version 2011]] - notes&lt;br /&gt;
&lt;br /&gt;
[[RoboCup]] - bl.a. scoreboard&lt;br /&gt;
&lt;br /&gt;
[[Demo of stereo camera]]&lt;br /&gt;
&lt;br /&gt;
[[AU software license considerations]]&lt;br /&gt;
&lt;br /&gt;
= Demonstrations =&lt;br /&gt;
&lt;br /&gt;
[[PLC controlled traffic light]]&lt;br /&gt;
&lt;br /&gt;
[[Machine shop in 326]]&lt;/div&gt;</summary>
		<author><name>Cjag</name></author>
	</entry>
</feed>