I recently had the challenge of installing ROS on a Beaglebone [amazon-product type=”text” text=”Black”]B00K7EEX2U[/amazon-product] 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.
[shell]
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
[/shell]
After the openni packages were installed, the ubuntu debs installed like magic.
In the [shell]dch -i[/shell] command, the [no-highlight]debian/changelog[/no-highlight] file should be edited in the same style as the other entries present. [shell]dch[/shell] will be nice enough to start the entry for you. I set the new entry to the following:
[no-highlight]
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
[/no-highlight]
After installing the backported openni debs, the Ubuntu ROS debs installed without any problems.