Install iCub software from pre-compiled binaries via conda package manager
We provide binary packages for Linux, macOS and Windows of the software contained in the robotology-superbuild via the conda package manager, relying on the community-mantained
conda-forge channel and for some packages on on our own
robotology conda channel.
Install a conda distribution
mambaforge, please follow the instructions
install-mambaforge in robotology-superbuild documentation.
Even if you are not using
mambaforge and you are using instead a different
conda distribution, to follow the instructions on this document you need to install the
mamba package in your
mamba is a re-implementation of some functionalities of the
conda package manager, that is much faster.
Create an environment
conda package manager is an
environment-oriented package manager, meaning that packages are not
installed in some global location, but rather you install packages in an
environment (that is just a directory in your filesystem), so that you
can easily have multiple different environments with different packages installed on your system. To read more about this, check https://docs.conda.io/projects/conda/en/4.6.1/user-guide/tasks/manage-environments.html .
For this reason, to use the robotology conda packages it is suggested to first create a conda environment, and then install in it all the packages you want to use. To create a new environment called
robotologyenv, execute the following command:
mamba create -n robotologyenv
Once you created the
robotologyenv environment, you can "activate" it for the current terminal (i.e. make sure that the installed packages can be found) by the command:
mamba activate robotologyenv
IMPORTANT: if you open a new terminal, you need to manually activate the environment also there.
IMPORTANT: To avoid strange conflicts in environment variables, it is a good idea to remove from the environment any variable that refers to libraries or software not installed with conda. For example, if you have a robotology-superbuild installed with apt dependencies, it is a good idea to remove the source of the
setup.sh from the
.bashrc before using conda environments, or in Windows it can make sense to check with Rapid Environment Editor that the environment is clean.
IMPORTANT: On Windows, it is recommended to use Command Prompt to manage conda environments, as some packages (see conda-forge/gazebo-feedstock#42 and RoboStack/ros-noetic#21) have problems in activating environments on Powershell.
Install robotology packages
Once you are in an activated environment, you can install robotology packages by just running the command:
mamba install -c conda-forge -c robotology <packagename>
The list of available packages is available at https://anaconda.org/robotology/repo .
For example, if you want to install yarp and icub-main, you simple need to install:
mamba install -c conda-forge -c robotology yarp icub-main
In addition, if you want to simulate the iCub in Gazebo, you should also install
mamba install -c conda-forge -c robotology gazebo-yarp-plugins icub-models
If you want to develop some C++ code on the top of these libraries, it is recommended to also install the necessary compiler and development tools directly in the same environment:
mamba install -c conda-forge compilers cmake pkg-config make ninja
If you want instead install all the robotology distro just:
mamba install -c robotology robotology-distro