colcon / colcon-core

Command line tool to build sets of software packages

Home Page:http://colcon.readthedocs.io

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

colcon-core 0.13.1python3.8 dependency breaks ROS 2 Dashing

Guillaumebeuzeboc opened this issue · comments

I noticed that the package python3-colcon-core 0.13.1 depend on python3.8. Python3.8 is not available on 18.04 (from Ubuntu or ROS 2 repo)
Thus, installing colcon-core from the ROS 2 PPA is no longer working with Dashing (18.04).

To reproduce:

  • Fresh 18.04 container.
  • Add ROS 2 PPA.
  • sudo apt install python3-colcon-core

To get the following output:

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:
 python3-colcon-core : Depends: python3 (>= 3.8) but 3.6.7-1~18.04 is to be installed or
                                python3-importlib-metadata but it is not installable
                       Recommends: python3-pytest-cov but it is not going to be installed
E: Unable to correct problems, you have held broken packages.

While ROS 2 Dashing is EOL, the default installation for colcon (via APT) is no longer working.

It seems that the colcon package from the ROS 2 PPA is shared between the ROS 2 distros.

This is probably not the correct repository to report this, but I am unsure where to report it.

Was it expected that new colcon-core releases would break old ROS 2 distros?

I'm having the same issue, thanks for already fixing, I suppose the fix is in 0.15.0. I'm not very familiar with the release process to ubuntu -> how long until I can expect to be able to install 0.15.0 with apt update && apt install python3-colcon-core on bionic?

I'd also appreciate a way to workaround this issue until then

Thanks @cottsay for the quick fix!

@tonynajjar I personally used the pip3 package in the meantime.

Hi folks -

The issue here is that we need to move from pkg_resources to importlib.metadata. The latter is available in Python 3.8 or as a standalone backport package importlib-metadata. Ubuntu Bionic has neither available in the debs.

We're dropping support for debs on Bionic (and Buster) because of this. That doesn't mean you can't use pip to get the latest versions of colcon packages (where pip will install the importlib-metadata backport package), but the last release of colcon-core you'll get from debs is 0.14.0.

This issue was auto-closed because I merged a PR which reverted the importlib.metadata changes temporarily to release 0.14.0 so that we leave Bionic and Buster in a "good state" before we stop producing debs there. This should resolve the issue for you, and you should continue to use the debs if you like, but you'll receive no further updates to colcon packages.


All that aside, I recommend getting debs from Canonical for ESM platforms.

Thanks for the explanation, so the fix for bionic is in 0.14.0, same question though:

I'm not very familiar with the release process to ubuntu -> how long until I can expect to be able to install 0.14.0 with apt update && apt install python3-colcon-core on bionic?

how long until I can expect to be able to install 0.14.0 with apt update && apt install python3-colcon-core on bionic?

The update had been pushed to all debian repositories before I wrote that comment, so it should be available to you now.