ros2 / rosbag2_bag_v2

rosbag2 plugin for replaying ros1 version2 bag files
Apache License 2.0
24 stars 4 forks source link

Fix rosbag2_bag_v2 GitHub Action build #26

Closed piraka9011 closed 4 years ago

piraka9011 commented 4 years ago

See ros-tooling/aws-oncall#69 for more context on the solution.

Install python3-catkin-pkg after setup-ros since it is uninstalled by ros-<ros1-distro>-desktop.

Signed-off-by: Anas Abou Allaban aabouallaban@pm.me

dirk-thomas commented 4 years ago

You might want to consider to install only the package with the -modules suffix which is side-by-side installable with both Python versions.

piraka9011 commented 4 years ago

You might want to consider to install only the package with the -modules suffix which is side-by-side installable with both Python versions.

Would this be auto-removed by installing ros-melodic-desktop as well? That was the issue we had before (python3-catkin-pkg was being auto removed)

piraka9011 commented 4 years ago

@dirk-thomas Checkout setup-ros's apt install where we install the -modules package.

dirk-thomas commented 4 years ago

No, the non-modules package is removed because the packages for different Python versions conflict with each other since they install the same global executable.

The modules packages only contain the Python modules but not the global executables and therefore don't have to conflict with each other.

piraka9011 commented 4 years ago

@dirk-thomas unfortunately the build still fails even when python3-catkin-pkg-modules is installed (see the latest run). colcon build complains about catkin-pkg distribution not being found:

ERROR:colcon.colcon_core.entry_point:Exception loading extension 'colcon_argcomplete.argcomplete_completer.catkin_cmake_args': The 'catkin-pkg' distribution was not found and is required by the application
  Traceback (most recent call last):
    File "/usr/local/lib/python3.6/dist-packages/colcon_core/entry_point.py", line 98, in load_entry_points
      extension_type = load_entry_point(entry_point)
    File "/usr/local/lib/python3.6/dist-packages/colcon_core/entry_point.py", line 140, in load_entry_point
      return entry_point.load()
    File "/usr/local/lib/python3.6/dist-packages/pkg_resources/__init__.py", line 2444, in load
      self.require(*args, **kwargs)
    File "/usr/local/lib/python3.6/dist-packages/pkg_resources/__init__.py", line 2467, in require
      items = working_set.resolve(reqs, env, installer, extras=self.extras)
    File "/usr/local/lib/python3.6/dist-packages/pkg_resources/__init__.py", line 787, in resolve
      raise DistributionNotFound(req, requirers)
  pkg_resources.DistributionNotFound: The 'catkin-pkg' distribution was not found and is required by the application
dirk-thomas commented 4 years ago

Are you installing colcon via pip? If yes, have you considered installing the Debian packages instead which should work?

emersonknapp commented 4 years ago

Yes, it's being installed via pip https://github.com/ros-tooling/setup-ros/blob/858e31056b129120aa89e9f8a3b7a41cae67303e/src/package_manager/pip.ts#L8 - we at some point moved to installing via pip so that we could pin versions (https://github.com/ros-tooling/setup-ros/pull/46) as we had seen breaking changes (or did we just anticipate them?) coming from new versions of the apt package being uploaded

thomas-moulard commented 4 years ago

Let's close as this effort is currently paused.