diff --git a/ionic/install_ubuntu_src.md b/ionic/install_ubuntu_src.md index 7768125850..14cffd0396 100644 --- a/ionic/install_ubuntu_src.md +++ b/ionic/install_ubuntu_src.md @@ -103,6 +103,38 @@ sudo apt -y install \ $(sort -u $(find . -iname 'packages-'`lsb_release -cs`'.apt' -o -iname 'packages.apt' | grep -v '/\.git/') | sed '/gz\|sdf/d' | tr '\n' ' ') ``` +Alternatively, if you want to install dependencies using +[rosdep](https://docs.ros.org/en/rolling/Tutorials/Intermediate/Rosdep.html), +ensure that [rosdep is installed](https://docs.ros.org/en/rolling/Tutorials/Intermediate/Rosdep.html#how-do-i-use-the-rosdep-tool) +and use the following command: + +```bash +cd ~/workspace/src +rosdep install -i --from-path . -y \ + --skip-keys "gz-cmake3 DART libogre-dev libogre-next-2.3-dev" +``` + +The `rosdep` command attempts to install dependencies listed in `package.xml` +files, but when problems arise the `--skip-keys` argument is used. Explanations +for its use in the previous line are given below: + +* `gz-cmake3`: `gz-tools2` can build from source against + [both `gz-cmake3` and `gz-cmake4`](https://github.com/gazebosim/gz-tools/pull/128), + and this workspace only contains `gz-cmake4`. The `gz-tools2` `package.xml` + file only [depends on gz-cmake3](https://github.com/gazebosim/gz-tools/blob/2b228e5b956/package.xml#L13) + and since that package is not present, use `--skip-keys gz-cmake3`. +* `DART`: `gz-physics8` can build against [dartsim](http://dartsim.github.io), + which is listed as DART in the [gz-physics package.xml file](https://github.com/gazebosim/gz-physics/blob/gz-physics8_8.0.0/package.xml#L16). + This package is not in the workspace, so `DART` is added to the `--skip-keys` + string. + See the discussion in [gz-physics#608](https://github.com/gazebosim/gz-physics/pull/608#discussion_r1589512231) + for more background on the package name used for `DART`. +* `libogre-dev` and `libogre-next-2.3-dev`: `gz-rendering9` can build against + ogre 1.9 and ogre-next 2.3. The debian package names are listed as + dependencies in the [gz-rendering package.xml](https://github.com/gazebosim/gz-rendering/blob/gz-rendering9_9.0.0/package.xml#L22-L23) + but they are not available on all Linux versions, so work around with + `--skip-keys "libogre-dev libogre-next-2.3-dev"`. + ## Building the Gazebo Libraries Once the compiler and all the sources are in place it is time to compile them.