Having trouble installing ROS2 on ubuntu 16.04
Hello, I am having trouble getting ROS2 running. I am running ubuntu 16.04, kernel: Linux 4.15.0-101-generic on a Dell Latitude E6420 XFR tefbook. The processor is 64 bit intel. I have a previous version of ROS 1 installed on the system, but didn't mess with that at all.
I followed the instructions here to install ROS2: https://index.ros.org/doc/ros2/Instal...
After going through that process, I tested out the installation by running:
ros2 run demo_nodes_py listener
Which produces the following output (some very similar lines removed for brevity):
Failed to load entry point 'test': cannot import name 'Coroutine'
Failed to load entry point 'launch': cannot import name 'Coroutine'
Failed to load entry point 'info': cannot import name 'Coroutine'
Failed to load entry point 'play': No module named 'rclpy._rclpy'
Failed to load entry point 'info': No module named 'rosbag2_transport._rosbag2_transport_py'
Failed to load entry point 'record': No module named 'rclpy._rclpy'
Failed to load entry point 'load': No module named 'rclpy._rclpy'
Failed to load entry point 'create': No module named 'catkin_pkg'
Traceback (most recent call last):
File "/home/ros2_dashing/ros2-linux/lib/demo_nodes_py/listener", line 11, in <module>
load_entry_point('demo-nodes-py==0.7.9', 'console_scripts', 'listener')()
File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 542, in load_entry_point
return get_distribution(dist).load_entry_point(group, name)
File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 2569, in load_entry_point
return ep.load()
File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 2229, in load
return self.resolve()
File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 2235, in resolve
module = __import__(self.module_name, fromlist=['__name__'], level=0)
File "/home/ros2_dashing/ros2-linux/lib/python3.6/site-packages/demo_nodes_py/topics/listener.py", line 16, in <module>
from rclpy.node import Node
File "/home/ros2_dashing/ros2-linux/lib/python3.6/site-packages/rclpy/node.py", line 39, in <module>
from rclpy.client import Client
File "/home/ros2_dashing/ros2-linux/lib/python3.6/site-packages/rclpy/client.py", line 22, in <module>
from rclpy.impl.implementation_singleton import rclpy_implementation as _rclpy
File "/home/ros2_dashing/ros2-linux/lib/python3.6/site-packages/rclpy/impl/implementation_singleton.py", line 31, in <module>
rclpy_implementation = _import('._rclpy')
File "/home/ros2_dashing/ros2-linux/lib/python3.6/site-packages/rclpy/impl/__init__.py", line 21, in _import
return importlib.import_module(name, package='rclpy')
File "/usr/lib/python3.5/importlib/__init__.py", line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
ImportError: No module named 'rclpy._rclpy'
There were quite a few warnings and errors during the installation process, and I'm not sure which are important, and which to ignore. So I will denote my steps and the results here:
sudo apt update
gives these errors/warnings:
N: Skipping acquire of configured file 'main/binary-i386/Packages' as repository 'http://packages.ros.org/ros2/ubuntu xenial InRelease' doesn't support architecture 'i386'
E: The repository 'http://ppa.launchpad.net/jonathonf/python-3.6/ubuntu xenial Release' does not have a Release file.
N: Updating from such a repository can't be done securely, and is therefore disabled by ...
So Xenial is actually not really supported any more by ROS 2.
Officially I believe Crystal should still build from sources (and the binary archive is supposed to work), but I'm not sure whether that is still the case.
I'm sure someone from OR will be able to provide an authoritative answer.
Gotcha, so basically I need to install a different ROS version, or use a different OS?
Yes. Really you need a new OS. No ROS2 distro has support before 18.04. Even then 18.04 support will end soon, you should migrate to 20.04
Ok, thank you both for the help!