ICub software: Difference between revisions

From ISRWiki
Jump to navigation Jump to search
m (→‎See also: update a link)
(installing yarp2 in windows - initial version)
Line 26: Line 26:


Note: if you use Cygwin, refer to Linux instructions instead.
Note: if you use Cygwin, refer to Linux instructions instead.
==== Installing yarp2 in Windows ====
Note: all environment variables should have '/' and NOT '\' (except in the PATH enviroment variable)! The directories do not need to be the same as the ones presented here, just be sure to alter the environment variables correctly.
# Download ACE and GLS from http://eris.liralab.it/iCub/downloads/packages/windows/msvc8/ ; unzip them to anywhere (don't forget where :)).
# If you want GUIs, download GTKMM from http://live.gnome.org/gtkmm/MSWindows and use the installer.
# Create environment variable: ACE_ROOT, GTK_BASEPATH, GTKMM_BASEPATH, GSL_DIR.
# Add this to the PATH environment variable: %ACE_ROOT%/lib (important: make sure you put it at the beginning of the PATH environment variable, to avoid conflicts with other existing ACE versions on the system)
# ACE_ROOT is ACE dir (e.g., C:/ace_wrappers).
# GTK_BASEPATH and GTKMM_BASEPATH is GTKMM dir (C:/gtkmm).
# GSL_DIR is GSL dir (C:/gsl-1.8).
# Set the YARP_ROOT, YARP_DIR environment variables.
# Add this to the PATH enviroment variable: %YARP_DIR%/bin/Release (and/or Debug). Note: these directories will be created later
# YARP_ROOT is yarp dir (C:/yarp2).
# YARP_DIR is yarp build dir (C:/yarp2/build).
# Use CMake to build the YARP SLN files. Point the source code to the yarp2 dir, and build to the yarp2/build dir (which will be created now).
# In CMake, check: CREATE_DEVICE_LIBRARY_MODULES, CREATE_LIB_MATH and, optionally, CREATE_GUIS (don't uncheck anything!).
# Click: Configure, Configure, Generate.
# Go to your YARP_DIR and open YARP.sln with Visual Studio
# Go to Build->Batch Build
# Check ALL_BUILD (Release and/or Debug) and Build!


=== Getting the yarp2 repository in Linux ===
=== Getting the yarp2 repository in Linux ===

Revision as of 13:43, 28 September 2010

Effective August 2009, YARP and iCub software repositories have been moved to SourceForge.net servers and must be downloaded with Subversion (SVN).

It is recommended that you rename your old (CVS) iCub and yarp2 directories and do a fresh download of the new SVN repositories.

Preliminaries

You should install an SVN client on your system if you do not have one already. For Windows, TortoiseSVN is recommended. If you run Linux or other UNIX flavours, chances are high that you can just go ahead using svn in command line (if that is not the case, install it with apt-get install subversion or equivalent).

Furthermore, you should install CMake.

YARP

Browsing the yarp2 repository online

http://yarp0.svn.sf.net/viewvc/yarp0/trunk/yarp2/

Getting the yarp2 repository in Windows

Inside TortoiseSVN, use the file manager to browse to the location where you would like to download the code. Right click on an empty region of the window and select "SVN checkout" from the contextual menu.

Type the following string in the entry "URL of repository":

 https://yarp0.svn.sourceforge.net/svnroot/yarp0/trunk/yarp2

No password or username will be required.

Note: if you use Cygwin, refer to Linux instructions instead.

Installing yarp2 in Windows

Note: all environment variables should have '/' and NOT '\' (except in the PATH enviroment variable)! The directories do not need to be the same as the ones presented here, just be sure to alter the environment variables correctly.

  1. Download ACE and GLS from http://eris.liralab.it/iCub/downloads/packages/windows/msvc8/ ; unzip them to anywhere (don't forget where :)).
  2. If you want GUIs, download GTKMM from http://live.gnome.org/gtkmm/MSWindows and use the installer.
  3. Create environment variable: ACE_ROOT, GTK_BASEPATH, GTKMM_BASEPATH, GSL_DIR.
  4. Add this to the PATH environment variable: %ACE_ROOT%/lib (important: make sure you put it at the beginning of the PATH environment variable, to avoid conflicts with other existing ACE versions on the system)
  5. ACE_ROOT is ACE dir (e.g., C:/ace_wrappers).
  6. GTK_BASEPATH and GTKMM_BASEPATH is GTKMM dir (C:/gtkmm).
  7. GSL_DIR is GSL dir (C:/gsl-1.8).
  8. Set the YARP_ROOT, YARP_DIR environment variables.
  9. Add this to the PATH enviroment variable: %YARP_DIR%/bin/Release (and/or Debug). Note: these directories will be created later
  10. YARP_ROOT is yarp dir (C:/yarp2).
  11. YARP_DIR is yarp build dir (C:/yarp2/build).
  12. Use CMake to build the YARP SLN files. Point the source code to the yarp2 dir, and build to the yarp2/build dir (which will be created now).
  13. In CMake, check: CREATE_DEVICE_LIBRARY_MODULES, CREATE_LIB_MATH and, optionally, CREATE_GUIS (don't uncheck anything!).
  14. Click: Configure, Configure, Generate.
  15. Go to your YARP_DIR and open YARP.sln with Visual Studio
  16. Go to Build->Batch Build
  17. Check ALL_BUILD (Release and/or Debug) and Build!

Getting the yarp2 repository in Linux

Paste the following command in a console terminal:

 svn co https://yarp0.svn.sourceforge.net/svnroot/yarp0/trunk/yarp2

This will create a new directory called yarp2 that contains the software. Your environment variables YARP_DIR and YARP_ROOT should be set to that directory (e.g., /home/yourname/yarp2).

Updating the yarp2 repository in Linux

  cd $YARP_ROOT
  svn update

Downloading YARP as a single file

If for whatever reason you cannot use SVN on a machine, or you do not want the very latest revision of the repository, you may just download a single file containing YARP here: [1]. Pre-compiled binaries are also available.

iCub

Browsing the iCub repository online

http://robotcub.svn.sf.net/viewvc/robotcub/trunk/iCub/

Getting the iCub repository in Windows

Inside TortoiseSVN, use the file manager to browse to the location where you would like to download the code. Right click on an empty region of the window and select "SVN checkout" from the contextual menu.

Type the following string in the entry "URL of repository":

 https://robotcub.svn.sourceforge.net/svnroot/robotcub/trunk/iCub

No password or username will be required.

Note: if you use Cygwin, refer to Linux instructions instead.

Getting the iCub repository in Linux

Paste the following command in a console terminal:

 svn co https://robotcub.svn.sourceforge.net/svnroot/robotcub/trunk/iCub

This will create a new directory called iCub that contains the software. Your environment variables ICUB_DIR and ICUB_ROOT should be set to that directory (e.g., /home/yourname/iCub).

Updating the iCub repository in Linux

  cd $ICUB_ROOT
  svn update

Downloading iCub snapshot files

Periodic snapshots of the iCub repository are available at http://eris.liralab.it/iCub/downloads/src/

Note that there are two types of files:

  • iCub-src-x.y.z.tar.gz: the whole iCub repository, version x.y.z
  • iCub-dep-x.y.z.txt: a list of the libraries, software packages and environment variables that are required to compile the code in snapshot x.y.z, including YARP version number.

Compiling the repositories

To compile the yarp2 (respectively, iCub) repository, go to YARP_DIR (respectively, ICUB_DIR) and generate the project files with the CMake program. In Linux you do this with the command

 ccmake .

and you obtain a Makefile, while in Windows you do it with the CMake GUI and you obtain Microsoft Visual Studio solution files (sln extension).

Having generated your project file, only the actual compilation remains to be done. In Linux type make, in Windows build the VS solution.

Committing changes to the repositories

If you are a developer and you need to add/modify files within the repository, you need two things:

  • a SourceForge.net account; once you have that, send an email to the RobotCub project administrators to join the project
  • make sure that your SVN client is configured correctly with regard to auto-props, which is a mechanism that takes care of line endings and MIME filetypes according to wildcards (for example, setting some flags for *.txt files and other flags for *.sh). Go here for a better explanation, and check the 'Subversion client flags' page (linked below) for auto-props adopted by RobotCub developers.

See also