====== 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 ...