2

I am running Linux raspberrypi 4.1.13+ #826 PREEMPT Fri Nov 13 20:13:22 GMT 2015 armv6l GNU/Linux on my Raspberry Pi Model B.

The RPi comes preinstalled with BlueZ v5.23, which is horribly outdated and buggy. I hoped to install the newer BlueZ v5.36, so I checked out their repo. I disabled systemd in the configure process and let it make. But even after a successful sudo make install and multiple reboots, bluetoothd -v still returns 5.23.

Does anybody have an idea why this could be and how to update BlueZ?

David Refoua
  • 109
  • 1
  • 6
paulgavrikov
  • 123
  • 1
  • 5

2 Answers2

5

BlueZ 5.43 is available in the Stretch repositories, but Jessie only comes with version 5.23.

I'd try the following to get the more recent version:
Add the stretch sources to your sources.list and at the same time tell APT to (still) default to jessie. You'd do the former by copy/paste the jessie line and in the copy change jessie to stretch. You'd do the latter by creating a file /etc/apt/apt.conf.d/40defaultrelease with the following contents:

APT::Default-Release "jessie";

Then do apt-get update to let APT know of the new packages and versions. To install bluez from stretch/testing, do the following: apt-get install bluez -t stretch. This will install bluez and its dependencies from stretch.
This way you get a nicely packed Debian/Raspbian package, but at the version you want.
Because of the APT::Default-Release "jessie" you'd still install/upgrade package from jessie by default and would only get stretch package when you explicitly request them (with '-t').

There's also a small variation to that and that is apt-get install bluez/stretch and this will only install the bluez package itself from stretch, but the rest from jessie. This may be a 'cleaner' variant as will only install that one package from stretch. OTOH it may cause an installation problem if it can't satisfy it's dependencies from jessie.
In that case I suggest to do it with aptitude like this: aptitude install bluez/stretch.
The dependency resolver of aptitude is more powerful then apt-get's and will likely find a solution to it. It may come up with 1 (or more) 'bogus' suggestions, but just say 'n' then and let it calculate a new solution till you find one that is appropriate.

Aurora0001
  • 6,357
  • 3
  • 25
  • 39
Diederik de Haas
  • 809
  • 8
  • 12
3

This was pre Jessie but I logged the following steps in March

git clone git://git.kernel.org/pub/scm/bluetooth/bluez.git 
cd bluez

sudo apt-get install autoconf make automake cmake libtool libglib2.0 libdbus-1-dev libudev-dev libical-dev libreadline-dev 
libtoolize --force 

then

aclocal 
autoheader 
automake --force-missing --add-missing 
autoconf
./configure --prefix=/usr --mandir=/usr/share/man --sysconfdir=/etc --localstatedir=/var --enable-experimental --with-systemdsystemunitdir=/lib/systemd/system --with-systemduserunitdir=/usr/lib/systemd
make

from my blog http://www.jumpstation.co.uk/flog/Mar2015.html#p090320152120

rob
  • 2,813
  • 4
  • 22
  • 31