Pocolibs¶
To build Pocolibs bindings (the LAAS-CNRS middleware), you need to install Pocolibs on your system, as well as the interfaces of the modules you want to use.
The robotpkg way¶
The recommended way to do it is through robotpkg
(see robotpkg homepage for more information).
To install:
$ cd robotpkg/middleware/pocolibs
$ make update
After this, you will need to install the different modules you need to test
using MORSE. This is done by going into the individual package directories
and running make update
.
Finally, you must also install the MORSE-Pocolibs bindings. To install these, you simply need to do this:
$ cd $ROBOTPKG_BASE/robotpkg/wip/morse-pocolibs
$ make update
The support for video camera output (viam) and depth camera output
(stereopixel) is optional since their availability depends on the
module being used.
You can add this specific support by configuring the options for the
morse-pocolibs package (by editing ${ROBOTPKG_BASE}/etc/robotpkg.conf
or on the
command line):
PKG_OPTIONS.morse-pocolibs += viam
Note
To make it working properly, you need to install all your genom modules
with the robotpkg python
option.
The manual way¶
If you want to build the interface for a genom module by hand, remember
to pass the flag -y
to genom so that it generates the cstruct python
interface
used by Morse to communicate with Pocolibs.
Specific configuration¶
In addition to the normal configuration necessary for Morse, you must take care of two variables:
genom does not install its Python interface in the standard
PYTHONPATH
, so you need to add to yourPYTHONPATH
,${PREFIX}/share/modules/python
.Morse relies on the environment variable
LD_LIBRARY_PATH
to findlibposterLib.so
, which is used to communicate with pocolibs. If pocolibs has been installed with robotpkg, it is located in${ROBOTPKG_BASE}/lib
. It is not recommended to globally set this variable in your shell (since it may affect other software), so it is better to use an alias in your shell configuration file:alias morse = 'env LD_LIBRARY_PATH=${ROBOTPKG_BASE}/lib morse'