Ask Your Question
1

Why is it possible to "apt-get install ros-indigo-ros-base" on Raspbian?

asked 2016-08-21 15:52:11 -0500

spmaniato gravatar image

updated 2016-08-21 15:57:43 -0500

I thought that Debian packages for ROS Indigo were not available on Raspbian. However, this Dockerfile does:

echo "deb http://packages.ros.org/ros/ubuntu trusty main" > /etc/apt/sources.list.d/ros-latest.list

and then

# install ros packages
RUN sudo apt-get update && sudo apt-get install -y \
    ros-indigo-ros-core=1.1.4-0* \
    ros-indigo-ros-base=1.1.4-0* \
    && sudo rm -rf /var/lib/apt/lists/*

and it seems to work just fine. There's even an image on Docker Hub and I was also able to replicate it in this modified Dockerfile which uses a different Raspbian base image.

How come this is possible? I thought I'd have to build from source.

edit retag flag offensive close merge delete

2 Answers

Sort by ยป oldest newest most voted
2

answered 2016-09-09 21:25:11 -0500

ahendrix gravatar image

By most accounts, this probably shouldn't work. And even if it all installs, there's no guarantee that everything will work correctly.

The biggest reason that it works is because the author specifies the trusty repository, which contains ROS packages for armhf, and those packages have dependencies that appear to be satisfied (at least in name) on raspbian.

Within an Ubuntu release, the developers make sure that there aren't ABI-breaking changes to packages, and they explicitly save the breaking changes for releases. The fact that the Trusty packages work at all on raspbian is mostly due to very few changes in the libc ABI, and a good deal of luck. If you try to install packages that depend on more complex libraries that change more frequently, you'll probably run into either missing dependencies, dependencies that are the wrong version, or dependencies that have quietly changed between releases and just don't work.

The "Supported/Tested" list on http://wiki.ros.org/indigo/Installati... is user-contributed, so it's not perfect. It's not clear why someone added a non-Ubuntu distribution to that list, and it isn't something that should be supported, so I've removed it.

edit flag offensive delete link more

Comments

On my RPi3 (physical and Docker image), I've been able to apt-get install ros-indigo-navigation without any problems. But I haven't actually run/tested it yet. And you're saying that even if it seems to work, the "hack" won't be reliable. Makes sense. Thanks a lot for the input Austin!

spmaniato gravatar image spmaniato  ( 2016-09-10 02:44:06 -0500 )edit
0

answered 2016-09-08 09:24:21 -0500

spmaniato gravatar image

updated 2016-09-08 09:53:17 -0500

I'm guessing it's because the Ubuntu for ARMhf instructions ( http://wiki.ros.org/indigo/Installati... ) say that Raspberry Pi 3 (with Rasbian JESSIE 2016-05-27) is a supported platform. And ofc because Raspbian and Ubuntu are both Debian-based.

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: 2016-08-21 15:52:11 -0500

Seen: 386 times

Last updated: Sep 09 '16