Robotics StackExchange | Archived questions

ros-melodic installation on ubuntu-16.04

Hi i am trying to install Ros-melodic on ubuntu-16.04. when i enter the command

mh@mh-Inspiron-1545:~/ros_catkin_ws$ **rosdep install --from-paths src --ignore-src --rosdistro melodic -y**
i found the following error,
ERROR: the following packages/stacks could not have their rosdep keys resolved
to system dependencies:
catkin: No definition of [python-argparse] for OS version [xenial]
rosgraph: No definition of [python-rospkg] for OS version [xenial]
resource_retriever: No definition of [python-rospkg] for OS version [xenial]
rqt_graph: No definition of [python-rospkg] for OS version [xenial]
rqt_console: No definition of [python-rospkg] for OS version [xenial]
qt_gui: No definition of [python-rospkg] for OS version [xenial]
rqt_runtime_monitor: No definition of [python-rospkg] for OS version [xenial]
rosmake: No definition of [python-rospkg] for OS version [xenial]
rqt_dep: No definition of [python-rospkg] for OS version [xenial]
rqt_bag: No definition of [python-rospkg] for OS version [xenial]
roslib: No definition of [python-rospkg] for OS version [xenial]
qt_gui_py_common: No definition of [python-rospkg] for OS version [xenial]
rqt_plot: No definition of [python-rospkg] for OS version [xenial]
rosclean: No definition of [python-rospkg] for OS version [xenial]
rqt_publisher: No definition of [python-rospkg] for OS version [xenial]
roswtf: No definition of [python-rospkg] for OS version [xenial]
gazebo_dev: No definition of [libgazebo9-dev] for OS version [xenial]
rqt_robot_steering: No definition of [python-rospkg] for OS version [xenial]
rqt_web: No definition of [python-rospkg] for OS version [xenial]
roslisp: No definition of [python-argparse] for OS version [xenial]
rqt_shell: No definition of [python-rospkg] for OS version [xenial]
roscreate: No definition of [python-rospkg] for OS version [xenial]
rqt_py_console: No definition of [python-rospkg] for OS version [xenial]
rqt_topic: No definition of [python-rospkg] for OS version [xenial]
rospy: No definition of [python-rospkg] for OS version [xenial]
rosunit: No definition of [python-rospkg] for OS version [xenial]
gazebo_ros: No definition of [python-argparse] for OS version [xenial]
roslaunch: No definition of [python-rospkg] for OS version [xenial]
rqt_tf_tree: No definition of [python-rospkg] for OS version [xenial]
rqt_service_caller: No definition of [python-rospkg] for OS version [xenial]
rqt_msg: No definition of [python-rospkg] for OS version [xenial]
rosbag: No definition of [python-rospkg] for OS version [xenial]
rqt_logger_level: No definition of [python-rospkg] for OS version [xenial]
rosmsg: No definition of [python-rospkg] for OS version [xenial]
rqt_pose_view: No definition of [python-rospkg] for OS version [xenial]
rqt_robot_monitor: No definition of [python-rospkg] for OS version [xenial]

Asked by sam1976 on 2019-08-29 13:10:16 UTC

Comments

Can you show us the output of lsb_release -a?

And the output of python /usr/lib/python2.7/dist-packages/rospkg/os_detect.py (assuming you did not use pip to install rospkg).

I've just successfully built Melodic from source on Xenial amd64 in a Docker container, so it should be possible (you'll need to force at least C++11 though).

Did you set ROS_OS_OVERRIDE? It should not be needed.

Asked by gvdhoorn on 2019-08-29 15:07:02 UTC

This is funny. I am trying to do the same thing, 2 days after the OP (build melodic on a 16.04 machine). But it seems like I got further than (s)he did:

$ rosdep install --from-paths src --ignore-src --rosdistro melodic -y
ERROR: the following packages/stacks could not have their rosdep keys resolved
to system dependencies:
gazebo_dev: No definition of [libgazebo9-dev] for OS version [xenial]

Here are some clues to my problem:

$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 16.04.6 LTS
Release:    16.04
Codename:   xenial

$ python /usr/lib/python2.7/dist-packages/rospkg/os_detect.py
OS Name:     ubuntu
OS Version:  16.04
OS Codename: xenial

I followed the instructions at http://gazebosim.org/tutorials?tut=install_ubuntu&cat=install and have successfully installed libgazebo9-dev on my machine:

$ dpkg -l libgazebo9-dev
...

(Out of characters to show the output, but it shows as installed).

What else can I try?

--wpd

Asked by wpd on 2019-08-31 18:53:00 UTC

As you can see here, there is indeed no rule for libgazeb9-dev for xenial. Gazebo 9 doesn't target Ubuntu Xenial, that's probably why.

If you've already made sure you've got libgazeb9-dev installed, then you could add --skip-keys="libgazebo9-dev <probably some other gazebo-related keys>" to the rosdep command.

Alternatively, you could create a local rosdep db file that adds the rule for libgazeb9-dev for xenial.

Asked by gvdhoorn on 2019-09-01 04:56:13 UTC

Hello @gvdhoorn, Thank you for the suggestion. Not knowing about the --skip-keys option, I instead went down the path of modifying my /etc/ros/rosdep/sources.list.d/20-default.list to point to a local version of rosdep/base.yaml and updating that for my gazebo9 installation. It seems like both approaches would achieve the same end.

That worked for the rosdep --install part of my build, but then the ./src/catkin/bin/catkin_make_isolated step failed and the "too hard" LED came on.

Since, what I really want at the moment is a ROS running on my Ubuntu 16.04 and another one running on my Raspberri Pi, I'm just going to install prebuilt packages for a version of ROS that is reported to support both of those architectures (Lunar).

Thank you again for the suggestion.

--wpd

Asked by wpd on 2019-09-01 07:48:19 UTC

Answers

Melodic is not supported for 16.04 melodic, which could be why you're seeing those errors.

Asked by emielke on 2019-08-29 13:46:01 UTC

Comments

It may not be supported officially, but rosdep should be able to resolve the dependencies. It's likely something else is missing/wrong.

Asked by gvdhoorn on 2019-08-30 02:25:56 UTC