Ask Your Question
1

old versions of ros-kinetic for ubuntu?

asked 2018-11-01 03:23:28 -0500

hetzbh gravatar image

Hi,

Looking at the repo for Ubuntu Xenial, it looks like there are only packages for the latest version (1.12.14). I'm looking for the older versions (1.12.13 etc...)

Any idea where those packages are located (if there's some sort of archive)?

Thanks

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted
0

answered 2018-11-01 03:50:35 -0500

gvdhoorn gravatar image

updated 2018-11-01 03:53:35 -0500

Any idea where those packages are located (if there's some sort of archive)?

The ROS package repositories only retain the latest released versions, so you cannot install older versions.

That is: right now. One of the tasks in the work towards an enhanced ROS 2 release / packaging infrastructure is to use aptly instead of reprepro. The former does support keeping older versions around. That work is ongoing though, with no date for completion scheduled yet.


An alternative would be to build what you need from source.

All packages released through the ROS buildfarm are built from specific tags in the source repositories of those packages. If you know which package you want to build an older version for, the process basically becomes:

  1. make a local clone of the repository containing the sources of the package
  2. checkout the tag of the specific version you want
  3. make sure to have installed all dependencies (see #q252478 for the general procedure)
  4. build the workspace

This sort of approach typically works for packages that don't have too many dependencies.

If there are a lot of dependencies, the likelyhood that one of those dependencies has seen a breaking change in a new release increase. Building just a single package from source in those cases can be problematic, as APIs could have gone out-of-sync (ie: the pkg that you're interested in then doesn't build any more).


Edit: a project I'm involved in tries to solve this by essentially building all of ROS from source, using versions of released packages that were/are known to have been compatible. We do that by essentially rewinding ros/rosdistro to a specific point in time and then using rosinstall_generator to generate a set of packages at the versions they were released at in the past.

This may be "overkill" for what you're trying to do, but if you're interested: rosin-project/rosinstall_generator_time_machine. It's not perfect, but it's helped us quite a bit already.

edit flag offensive delete link more

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

2 followers

Stats

Asked: 2018-11-01 03:23:28 -0500

Seen: 135 times

Last updated: Nov 01 '18