Build Pianobar from Source on Raspberry Pi Raspbian

After getting the TLS handshake Error from pianobar on Raspberry Pi running Debian Wheezy ( aka Raspbian ) I decided to get the latest version of Pianobar. This requires building from sourcecode if you’re on the Wheezy release.

The TLS handshake Error can basically be translated to mean “the version of pianobar you’re using is too old” – this is an error that occurs regularly and the solution is always to update to the latest edge version. Packges for Raspbian / Wheezy aren’t going to get updates fast enough for this to be a good option (i.e. to not interrupt your listening ) so you’ll need to build from source.

One of the requirements is basically to have ffmpeg ( it the libraries from it ) installed. Several people will suggest installing ffmpeg from source – which you can do – but if you’re using a “Raspberry Pi model B” and not the latest Raspberry Pi 2.0 – or even if you are – it will take a long time to build ffmpeg from source – maybe 6 hours or more.

If you go this route, and you’re doing it via SSH make sure to use something like screen to keep the process from dying if you get disconnected.

I didn’t want to install ffmpeg and found a good alternative – install the libraries from the backports.

Here’s a script – which is basically my notes from along the way. It is sloppy and has some duplication – created from trial and error – but it worked for me and the duplicate packages is not an issue with apt-get ( if one of them is already installed it will be skipped)

So, run as root or with sudo. Good luck – report issues on the PromyLOPh github page, or leave a comment if you have any adjustments or tweaks or improvements to the script.

#!/bin/bash

# script from https://techblog.willshouse.com/?p=5564
# based on notes from:
# http://www.mobileread.com/forums/archive/index.php/t-224800.html


apt-get install -y debian-keyring debian-archive-keyring

if [[ "`grep -c wheezy-backports /etc/apt/sources.list`" -lt 1 ]]; then
 echo deb http://ftp.us.debian.org/debian wheezy-backports main contrib non-free >> /etc/apt/sources.list
 echo deb-src http://ftp.us.debian.org/debian wheezy-backports main contrib non-free >> /etc/apt/sources.list
fi

apt-get update

apt-get install -y git libao-dev libgcrypt11-dev libgnutls-dev libfaad-dev libmad0-dev libjson0-dev make pkg-config libevent-pthreads-2.0-5 libao-dev gnutls-dev libmad0-dev libfaad-dev libjson0-dev pkg-config git libao-dev libgcrypt11-dev libgnutls-dev libfaad-dev libmad0-dev libjson0-dev make pkg-config
apt-get install -y libgnutls28-dev
apt-get -t wheezy-backports install libavfilter-dev libavformat-dev libswscale-dev libavresample-dev -y
apt-get -t wheezy-backports install libavfilter-dev libavformat-dev libswscale-dev libavresample-dev libgnutls28-dev -y

apt-get install libavcodec-dev libavfilter-dev libavformat-dev alsa-utils -y

apt-get install -y alsa-utils

# may need to make sure this module is loaded at startup:
sudo modprobe snd_bcm2835


cd /usr/src
git clone https://github.com/PromyLOPh/pianobar.git
cd pianobar
make
make install

Related Posts:

This entry was posted in Software and tagged , . Bookmark the permalink.

One Response to Build Pianobar from Source on Raspberry Pi Raspbian

  1. themadterran says:

    Thanks for this script. This saved me hours of waiting around.

Leave a Reply

Your email address will not be published. Required fields are marked *