← Back to the journal
dribbleLinuxBeaglebone Black

Debian + BBB + ROS

I recently had the challenge of installing ROS on a Beaglebone Black running the latest Debian linux image. I won't go into the details of why I needed to do this.

Installing ROS on Debian, at least according to the ROS website, requires a source compilation and installation. I tried that on the board first, but the dependencies ended up killing my efforts. (Compiling PCL required that I create an extra gig of swap space and leave it run for a whole day.)

Next, I tried utilizing the Ubuntu ARM install procedure, which I've done several times on previous Ubuntu installations. However, this method fails and apt generally refuses to say why. I drilled through the dependencies and found the problem was due to the openni libraries requiring a version of libc that wasn't available in the stable .deb repositories. The "appropriate" way to deal with this problem is by installing a backport, a version of the .deb package compiled against the stable version of libc. Without a stock version available I had to build one myself.

I followed the basic instructions explained at this page, resulting in the following basic commands.

apt-get -t source libopenni0
sudo apt-get install debhelper devscripts freeglut3-dev libusb-1.0-0-dev doxygen default-jdk
tar cvzf openni_1.5.4.0.orig.tar.gz openni-1.5.4.0
cd openni-1.5.4.0/
dch -i
debuild -uc -us
cd ..
sudo dpkg -i *openni*.deb

After the openni packages were installed, the ubuntu debs installed like magic.

In the dch -i command, the debian/changelog file should be edited in the same style as the other entries present. dch will be nice enough to start the entry for you. I set the new entry to the following:

openni (1.5.4.0-7+wheezy) UNRELEASED; urgency=low

* Backport to Debian Wheezy
*
*

-- James Zapico <my email>  Wed, 11 Jun 2014 05:00:55 +0000

After installing the backported openni debs, the Ubuntu ROS debs installed without any problems.