Robotics StackExchange | Archived questions

Buildfarm: melodic, debian stretch: gazebo unmet dependency

Hi,

I'm trying to release a package for melodic. My prerelease builds for ubuntu bionic all work fine, but they are failing for debian stretch.

I'm apparently running into an issue with the gazebo dependencies in debian stretch. My package depends on gazebo, gazeboros, and gazeboplugins. It looks like the gazebo rosdep key resolves to gazebo7 on debian stretch. However, I get the error below when it tries to install gazebo7.

I've not been able to figure out a path forward for resolving this. Any suggestions or ideas?

Thanks!

Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 gazebo7 : Depends: libgazebo7 (= 7.3.1+dfsg-3) but it is not going to be installed
           Depends: libsdformat4 but it is not going to be installed
           Depends: gazebo7-common (= 7.3.1+dfsg-3) but it is not going to be installed
           Recommends: gazebo7-plugin-base but it is not going to be installed
 ros-melodic-gazebo-plugins : Depends: ros-melodic-gazebo-dev but it is not going to be installed
 ros-melodic-gazebo-ros : Depends: ros-melodic-gazebo-dev but it is not going to be installed
E: Unable to correct problems, you have held broken packages.
Invocation failed without any known error condition, printing all lines to debug known error detection:
  1 'Reading package lists...'
  2 'Building dependency tree...'
  3 'Reading state information...'
  4 'Starting pkgProblemResolver with broken count: 3'
  5 'Starting 2 pkgProblemResolver with broken count: 3'
  6 'Investigating (0) gazebo7:amd64 < none -> 7.3.1+dfsg-3 @un puN Ib >'
  7 'Broken gazebo7:amd64 Depends on libgazebo7:amd64 < none | 7.3.1+dfsg-3 @un uH > (= 7.3.1+dfsg-3)'
  8 '  Considering libgazebo7:amd64 0 as a solution to gazebo7:amd64 9998'
  9 '  Re-Instated libsdformat4:amd64'
  10 '  Re-Instated libgazebo7:amd64'
  11 'Broken gazebo7:amd64 Depends on gazebo7-common:amd64 < none | 7.3.1+dfsg-3 @un uH > (= 7.3.1+dfsg-3)'
  12 '  Considering gazebo7-common:amd64 -1 as a solution to gazebo7:amd64 9998'
  13 '  Re-Instated gazebo7-common:amd64'
  14 'Investigating (0) libsdformat6:amd64 < none -> 6.0.0-1~stretch @un uN Ib >'
  15 'Broken libsdformat6:amd64 Breaks on libsdformat4:amd64 < none -> 4.2.0-1 @un uN >'
  16 '  Considering libsdformat4:amd64 1 as a solution to libsdformat6:amd64 8'
  17 '  Added libsdformat4:amd64 to the remove list'
  18 '  Fixing libsdformat6:amd64 via keep of libsdformat4:amd64'
  19 'Investigating (0) libgazebo9:amd64 < none -> 9.0.0-2~stretch @un uN Ib >'
  20 'Broken libgazebo9:amd64 Conflicts on libgazebo7:amd64 < none -> 7.3.1+dfsg-3 @un uN Ib >'
  21 '  Considering libgazebo7:amd64 0 as a solution to libgazebo9:amd64 3'
  22 '  Added libgazebo7:amd64 to the remove list'
  23 '  Fixing libgazebo9:amd64 via keep of libgazebo7:amd64'
  24 'Investigating (0) gazebo9-common:amd64 < none -> 9.0.0-2~stretch @un uN Ib >'
  25 'Broken gazebo9-common:amd64 Conflicts on gazebo7-common:amd64 < none -> 7.3.1+dfsg-3 @un uN >'
  26 '  Considering gazebo7-common:amd64 -1 as a solution to gazebo9-common:amd64 0'
  27 '  Added gazebo7-common:amd64 to the remove list'
  28 '  Fixing gazebo9-common:amd64 via keep of gazebo7-common:amd64'
  29 'Investigating (0) gazebo7-plugin-base:amd64 < none -> 7.3.1+dfsg-3 @un uN Ib >'
  30 'Broken gazebo7-plugin-base:amd64 Depends on libgazebo7:amd64 < none | 7.3.1+dfsg-3 @un uH >'
  31 '  Considering libgazebo7:amd64 0 as a solution to gazebo7-plugin-base:amd64 0'
  32 '  Holding Back gazebo7-plugin-base:amd64 rather than change libgazebo7:amd64'
  33 'Investigating (0) gazebo9:amd64 < none -> 9.0.0-2~stretch @un uN Ib >'
  34 'Broken gazebo9:amd64 Conflicts on gazebo7:amd64 < none -> 7.3.1+dfsg-3 @un puN Ib >'
  35 '  Considering gazebo7:amd64 9998 as a solution to gazebo9:amd64 0'
  36 '  Holding Back gazebo9:amd64 rather than change gazebo7:amd64'
  37 'Investigating (0) gazebo9-plugin-base:amd64 < none -> 9.0.0-2~stretch @un uN Ib >'
  38 'Broken gazebo9-plugin-base:amd64 Depends on gazebo9:amd64 < none | 9.0.0-2~stretch @un uH > (= 9.0.0-2~stretch)'
  39 '  Considering gazebo9:amd64 0 as a solution to gazebo9-plugin-base:amd64 0'
  40 '  Holding Back gazebo9-plugin-base:amd64 rather than change gazebo9:amd64'
  41 'Investigating (0) ros-melodic-gazebo-dev:amd64 < none -> 2.8.4-0stretch.20190605.204836 @un uN Ib >'
  42 'Broken ros-melodic-gazebo-dev:amd64 Depends on gazebo9:amd64 < none | 9.0.0-2~stretch @un uH >'
  43 '  Considering gazebo9:amd64 0 as a solution to ros-melodic-gazebo-dev:amd64 0'
  44 '  Holding Back ros-melodic-gazebo-dev:amd64 rather than change gazebo9:amd64'
  45 'Investigating (0) libgazebo9-dev:amd64 < none -> 9.0.0-2~stretch @un uN Ib >'
  46 'Broken libgazebo9-dev:amd64 Depends on gazebo9-plugin-base:amd64 < none | 9.0.0-2~stretch @un uH > (= 9.0.0-2~stretch)'
  47 '  Considering gazebo9-plugin-base:amd64 0 as a solution to libgazebo9-dev:amd64 -1'
  48 '  Holding Back libgazebo9-dev:amd64 rather than change gazebo9-plugin-base:amd64'
  49 'Investigating (1) gazebo7:amd64 < none -> 7.3.1+dfsg-3 @un puN Ib >'
  50 'Broken gazebo7:amd64 Depends on libgazebo7:amd64 < none | 7.3.1+dfsg-3 @un uH > (= 7.3.1+dfsg-3)'
  51 '  Considering libgazebo7:amd64 0 as a solution to gazebo7:amd64 9998'
  52 'Broken gazebo7:amd64 Depends on libsdformat4:amd64 < none | 4.2.0-1 @un uH >'
  53 '  Considering libsdformat4:amd64 1 as a solution to gazebo7:amd64 9998'
  54 'Broken gazebo7:amd64 Depends on gazebo7-common:amd64 < none | 7.3.1+dfsg-3 @un uH > (= 7.3.1+dfsg-3)'
  55 '  Considering gazebo7-common:amd64 -1 as a solution to gazebo7:amd64 9998'
  56 'Investigating (1) ros-melodic-gazebo-plugins:amd64 < none -> 2.8.4-0stretch.20190808.200210 @un puN Ib >'
  57 'Broken ros-melodic-gazebo-plugins:amd64 Depends on ros-melodic-gazebo-dev:amd64 < none | 2.8.4-0stretch.20190605.204836 @un uH >'
  58 '  Considering ros-melodic-gazebo-dev:amd64 0 as a solution to ros-melodic-gazebo-plugins:amd64 9998'
  59 '    Reinst Failed because of protected gazebo7:amd64'
  60 '    Reinst Failed because of gazebo9:amd64'
  61 'Investigating (1) ros-melodic-gazebo-ros:amd64 < none -> 2.8.4-0stretch.20190808.201752 @un puN Ib >'
  62 'Broken ros-melodic-gazebo-ros:amd64 Depends on ros-melodic-gazebo-dev:amd64 < none | 2.8.4-0stretch.20190605.204836 @un uH >'
  63 '  Considering ros-melodic-gazebo-dev:amd64 0 as a solution to ros-melodic-gazebo-ros:amd64 9998'
  64 'Done'
  65 'python3 is already the newest version (3.5.3-1).'
  66 'Some packages could not be installed. This may mean that you have'
  67 'requested an impossible situation or if you are using the unstable'
  68 'distribution that some required packages have not yet been created'
  69 'or been moved out of Incoming.'
  70 'The following information may help to resolve the situation:'
  71 ''
  72 'The following packages have unmet dependencies:'
  73 ' gazebo7 : Depends: libgazebo7 (= 7.3.1+dfsg-3) but it is not going to be installed'
  74 '           Depends: libsdformat4 but it is not going to be installed'
  75 '           Depends: gazebo7-common (= 7.3.1+dfsg-3) but it is not going to be installed'
  76 '           Recommends: gazebo7-plugin-base but it is not going to be installed'
  77 ' ros-melodic-gazebo-plugins : Depends: ros-melodic-gazebo-dev but it is not going to be installed'
  78 ' ros-melodic-gazebo-ros : Depends: ros-melodic-gazebo-dev but it is not going to be installed'
  79 'E: Unable to correct problems, you have held broken packages.'
None of the following known errors were detected:
  1 'Failed to fetch'
  2 'Failed to stat'
  3 'Hash Sum mismatch'
  4 'Unable to locate package'
  5 'is not what the server reported'
  6 'Size mismatch'
  7 'maybe run apt update'
  8 'The following packages cannot be authenticated!'
  9 'Unable to locate package'
  10 'has no installation candidate'
  11 'corrupted package archive'

Asked by dpkoch on 2019-09-11 17:48:17 UTC

Comments

Answers

ROS Melodic requires Gazebo 9.0.0 on Debian Stretch (https://www.ros.org/reps/rep-0003.html#melodic-morenia-may-2018-may-2023) to facilitate this Gazebo 9 was imported into the ROS repository for Debian Stretch from packages.osrfoundation.org.

If your package contains rosdep dependencies on Gazebo packages it would be a good idea to check that they depend on the Gazebo 9 variants explicitly for Melodic.

Asked by nuclearsandwich on 2019-09-12 13:59:28 UTC

Comments

Okay thanks. So I should use the gazebo9 dependency explicitly instead of just gazebo for melodic? The code will compile with either, it's just a question of which dependency is met.

Do you know why the gazebo rosdep key resolves to gazebo7 for debian stretch instead of gazebo9? Is this potentially an error? (source here)

Asked by dpkoch on 2019-09-12 15:22:44 UTC

gazebo7 is all that is available in upstream Debian Stretch. https://packages.debian.org/search?suite=stretch&searchon=names&keywords=gazebo which is why that's how the gazebo key resolves.

So I should use the gazebo9 dependency explicitly instead of just gazebo for melodic?

I don't know if there's an official policy but that is my recommendation.

Asked by nuclearsandwich on 2019-09-12 15:42:29 UTC