Table of Contents

YARP installation on PC104

Please follow the below steps carefully.

1) Getting the yarp repositories:

Open a shell on the laptop (icubsrv)

cd /exports/code-pc104

And make sure the is not a folder named yarp2, if there is, please move away the folder:

mv yarp2 yarp2.cvs

Get the yarp source code from the repositories

cd /exports/code-pc104
svn co https://yarp0.svn.sourceforge.net/svnroot/yarp0/trunk/yarp2

IMPORTANT: At this point you do not have to complie

2) Get new startup scripts

Open a shell on the laptop. Get scripts from the local repository:

cp $ICUB_ROOT/pc104/startupscripts/opencall/hooks/* /exports/code-pc104/pc104/hooks -r

3) Compile the yarp code on the pc104

On the laptop, open a shell to connect to the pc104

ssh pc104
  

Now please verify that the following environment variables are present:

YARP_ROOT
YARP_DIR
ICUB_ROOT
ICUB_DIR

You will notice that the variables point to the new repositories. Important: double check that the environment variable ICUB_ROBOTNAME exists and matches the name of our robot (e.g. iCubMunich01). If not add the following line in /home/icub/.bashcrc

export ICUB_ROBOTNAME=iCubMunich01

and boot pc104, so that the new changes are loaded.

4) Create YARP makefiles

Make sure you are in pc104. Therefore, from the laptop (icubsrv) do:

ssh pc104

Create the $YARP_DIR directory (/usr/local/src/robot/yarp2/build)

mkdir $YARP_DIR
cd $YARP_DIR

Clean the cache (This has to be done only when we upgrade the repository):

rm CMakeCache.txt

and generate makefiles

ccmake ../

Hit 'c' to configure and enable the following flags:

CMAKE_BUILD_TYPE: Release
CREATE_LIB_MATH, set to ON
CREATE_DEVICE_LIBRARY_MODULES:ON

Configure (hit 'c') Now enable:

ENABLE_yarpmod_serial
ENABLE_yarpmod_serialport
ENABLE_yarpmod_portaudio

Hit 'c' again and generate files, hit 'g'

5) Compile YARP

cd $YARP_DIR
make
  

DO NOT “sudo make install”, the current instructions assume that the binaries are not installed in system directories.

6) Verify the installation:

To verify the procedure type:

yarpdev --list

among the others the list should contains also the new devices:

Device "serial", C++ class ServerInertial, is a network wrapper,
Device "serialport", C++ class SerialDeviceDriver, wrapped by "serial"
Device "portaudio", C++ class ...