ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question
4

Could not resolve rosdep key 'message_generation'

asked 2013-03-16 16:38:51 -0600

joq gravatar image

updated 2013-05-03 17:08:33 -0600

130s gravatar image

When I try to release a simple message package to Hydro, it fails:

$ git-bloom-release hydro
Processing release track settings for 'hydro'
Checking upstream devel branch for a package.xml(s) or stack.xml
Looking for packages in 'master' branch... found 'ackermann_msgs'.
Detected version '0.9.0' from package(s): ['ackermann_msgs']

Executing release track 'hydro'
==> bloom-export-upstream /tmp/tmp_wXBdW git --tag 0.9.0 --display-uri https://github.com/jack-oquin/ackermann_msgs.git --name ackermann_msgs --output-dir /tmp/tmpIuNRNs
Checking out repository at 'https://github.com/jack-oquin/ackermann_msgs.git' to reference '0.9.0'.
Exporting to archive: '/tmp/tmpIuNRNs/ackermann_msgs-0.9.0.tar.gz'
md5: 9a3ea71412a579bcf13b65039c1f8a08

==> git-bloom-import-upstream /tmp/tmpIuNRNs/ackermann_msgs-0.9.0.tar.gz  --release-version 0.9.0 --replace
The latest upstream tag in the release repository is 'upstream/0.9.0'.
Removing tag: 'upstream/0.9.0'
Importing archive into upstream branch...
Creating tag: 'upstream/0.9.0'
I'm happy.  You should be too.

==> git-bloom-generate -y rosrelease hydro --source upstream -i 0
Releasing package: ['ackermann_msgs']
Releasing package 'ackermann_msgs' for 'hydro' to: 'release/hydro/ackermann_msgs'

==> git-bloom-generate -y rosdebian --prefix release/hydro hydro -i 0
Generating source debs for the packages: ['ackermann_msgs']
Debian Incremental Version: 0
Debian Distributions: ['precise', 'quantal', 'raring']
Releasing for rosdistro: hydro
Running 'rosdep update'...

####
#### Generating 'precise' debian for package 'ackermann_msgs' at version '0.9.0-0'
####
Generating debian for precise...
Could not resolve rosdep key 'message_generation'
Resolve problem with rosdep and then continue to try again.
Continue [Y/n]? 
Running 'rosdep update'...
Could not resolve rosdep key 'message_generation'
Resolve problem with rosdep and then continue to try again.
Continue [Y/n]? n
Traceback (most recent call last):
  File "/usr/bin/git-bloom-generate", line 9, in <module>
    load_entry_point('bloom==0.3.2', 'console_scripts', 'git-bloom-generate')()
  File "/usr/lib/pymodules/python2.7/bloom/commands/git/generate.py", line 237, in main
    run_generator(generator, args)
  File "/usr/lib/pymodules/python2.7/bloom/commands/git/generate.py", line 160, in run_generator
    gen.post_rebase, destination)
  File "/usr/lib/pymodules/python2.7/bloom/commands/git/generate.py", line 99, in try_execute
    retcode = func(*args, **kwargs)
  File "/usr/lib/pymodules/python2.7/bloom/generators/debian/generator.py", line 225, in post_rebase
    self.generate_debian(data, stamp, distro)
  File "/usr/lib/pymodules/python2.7/bloom/generators/debian/generator.py", line 366, in generate_debian
    self.resolved_dependencies = self.resolve_dependencies(self.depends + self.build_depends, debian_distro)
  File "/usr/lib/pymodules/python2.7/bloom/generators/debian/generator.py", line 485, in resolve_dependencies
    resolved_depends[rosdep_key] = resolve_rosdep_key(rosdep_key, rosdep_view)
  File "/usr/lib/pymodules/python2.7/bloom/generators/debian/generator.py", line 479, in resolve_rosdep_key
    return resolve_rosdep_key(rosdep_key, new_view)
  File "/usr/lib/pymodules/python2.7/bloom/generators/debian/generator.py", line 481, in resolve_rosdep_key
    .format(rosdep_key))
  File "/usr/lib/pymodules/python2.7/bloom/generators/common.py", line 73, in exit
    raise GeneratorError(retcode)
GeneratorError: Error running generator

<== Error running command 'git-bloom-generate -y rosdebian --prefix release/hydro hydro -i 0'

On my system, the message_generation key is defined for precise and quantal, but not for raring:

$ rosdep resolve message_generation --os=ubuntu:raring

ERROR: No definition of [message_generation] for OS version [raring]

No ...
(more)
edit retag flag offensive close merge delete

Comments

Note: when running rosdep from the command line like above, you can specify the rosdistro with something like rosdep --rosdistro hydro ...

William gravatar image William  ( 2013-03-16 20:04:24 -0600 )edit

1 Answer

Sort by ยป oldest newest most voted
5

answered 2013-03-16 20:03:13 -0600

William gravatar image

This is because your rosdep sources are out of date. rosdep has an entry in its sources list for each gbpdistro file for each ROS distribution. hydro has recently been added to the list:

https://github.com/ros/rosdistro/commit/c09e4ae3ff3e8e81408127582c4b260718c679f6

So to solve this, remove your /etc/ros/rosdep/sources.list.d/20-default.list file and do sudo rosdep init and rosdep update OR add the line from the above commit to your /etc/ros/rosdep/sources.list.d/20-default.list file directly and then do rosdep update.

I know this is a likely pitfall for most users, but the method for tools like rosdep to get this information will be improved with the new rosdistro format being drafted in REP137:

https://github.com/ros-infrastructure/rep/pull/27

edit flag offensive delete link more

Comments

I posted a message on ros-users about this issue.

joq gravatar image joq  ( 2013-03-17 09:15:11 -0600 )edit
1

Thanks, that should give it some visibility, and hopefully we will improve this workflow with the new rosdistro format.

William gravatar image William  ( 2013-03-17 18:50:53 -0600 )edit

Question Tools

Stats

Asked: 2013-03-16 16:38:51 -0600

Seen: 1,855 times

Last updated: Mar 17 '13