Installing OLA (precompiled) on Raspbian Jessie

839 views
Skip to first unread message

swis...@gmail.com

unread,
Mar 19, 2017, 5:18:17 AM3/19/17
to open-lighting
Hi,

Pardon my newness, but is there a simple way to install a recent, precompiled OLA on Raspbian Jessie? I know some old Raspbian DEBs exist for Wheezy, but I was hoping to get something newer. I'm designing a small (wireless) theater prop using the new Raspberry Pi Zero W and a dozen APA102 pixels. I will direct-wire the pixels to the Pi and use OLA's SPI plugin. I don't know if the Wheezy Pi images will work on the Zero W; I'm still waiting for it in the mail.

If there aren't any recent DEBs for Jessie, is there a way to use the PPAs from Steve French on Raspbian?

Because I know someone will ask: Yes, I did try building OLA from source (10.3, from tarball). I have a Pi B+ for experimentation, and it just completed a 6-hour compile of OLA, only to fail a recursion check during 'make check' (I believe it complained that the Pi ran out of virtual memory). Again, pardon my terminology—I've been skimming the conversations here but am still learning how to do all this.

Thanks for any pointers!

P.S. OLA is truly wonderful—thanks to the developers for such a versatile tool!

Peter Newman

unread,
Mar 19, 2017, 6:44:09 AM3/19/17
to open-lighting
There are OLA debs in Raspbian Jessie, but too old to support the APA102 pixels. The Wheezy images won't work on the Zero or Zero W as they don't have late enough firmware for those boards.

Steve French's PPAs may work.

See https://github.com/OpenLightingProject/ola/issues/1203

Or do ./configure --disable-all-plugins --enable-spi

swis...@gmail.com

unread,
Mar 19, 2017, 3:36:21 PM3/19/17
to open-lighting
Peter,

Thanks! How would I go about installing the PPAs on Raspbian? Do I just grab the DEBs and use 'dpkg -i'? Or add the PPA to my /etc/apt/sources.list?

Peter Newman

unread,
Mar 19, 2017, 8:33:40 PM3/19/17
to open-lighting
Yes, just follow the steps here to add the PPA to your system:

swis...@gmail.com

unread,
Mar 20, 2017, 2:27:11 AM3/20/17
to open-lighting
Peter,

I tried using the PPA with no success. I changed the Ubuntu release in my sources.list to each of the ones available in the PPA and then ran 'apt-get update'. Each time, I tried 'apt-get install ola' and was met with 1-2 dependencies that could not be satisfied. I was just about to brace myself for another marathon compile from source, hoping that there was just a glitch in my first build. Before getting started, I did one last Google search and realized that there are ways to install packages from newer Debian versions. (I know this is not an ideal solution; I'm sure many things could go wrong.)

I used this guide as a starting point: http://dev-random.net/how-to-install-a-single-package-from-debian-testing-through-apt/

Debian stretch (currently testing) has a build of OLA 10.3, which I successfully installed on Jessie. I'm now checking its functionality to make sure the parts I need do not break. I'll post here if I find anything interesting.

Peter Newman

unread,
Mar 20, 2017, 10:36:47 PM3/20/17
to open-lighting
Ah, I wondered if that may be the case with the PPA Andrew. Thanks for confirming anyway.

I expect the stretch testing one should just work fine. The code compiles on the other platforms, it would just be if there are issues with library versions between the OSes.

Wouter Verhelst

unread,
Mar 22, 2017, 8:04:35 PM3/22/17
to open-l...@googlegroups.com
On Sun, Mar 19, 2017 at 11:27:11PM -0700, swis...@gmail.com wrote:
> Peter,
>
> I tried using the PPA with no success. I changed the Ubuntu release in my
> sources.list to each of the ones available in the PPA and then ran 'apt-get
> update'. Each time, I tried 'apt-get install ola' and was met with 1-2
> dependencies that could not be satisfied. I was just about to brace myself for
> another marathon compile from source, hoping that there was just a glitch in my
> first build. Before getting started, I did one last Google search and realized
> that there are ways to install packages from newer Debian versions. (I know
> this is not an ideal solution; I'm sure many things could go wrong.)
>
> I used this guide as a starting point: http://dev-random.net/
> how-to-install-a-single-package-from-debian-testing-through-apt/

This will break horribly at some undefined point in the future; don't do
it. It's also not a supported configuration, except in some very
specific use cases (for which this does not qualify). See
https://wiki.debian.org/DontBreakDebian#Don.27t_make_a_FrankenDebian for
more information.

> Debian stretch (currently testing) has a build of OLA 10.3, which I
> successfully installed on Jessie.

... and you're now not running Jessie anymore, but some weird
intermediate version between Jessie and Stretch.

Instead, the better way to do this is to rebuild ola 0.10.3 for the
version of the system you're running on. You can do this by:

apt-get install devscripts

then browse to https://packages.debian.org/ola, choose the version you
want, and copy the URL to the .dsc file on the right side of the page.
Next:

dget <.dsc URL>
cd ola-*
sudo mk-build-deps -i
dpkg-buildpackage -uc -us -rfakeroot
sudo debi --upgrade

If you haven't already installed the ola packages, drop the "--upgrade"
bit in the last line.

This keeps your system in a supported state, and will not break things
at a future point with no way back.

To bring your system back to a properly supported state, do the
following:

- Create a file "/etc/apt/preferences.d/go_away_stretch", with the
following contents:

Package: *
Pin: release a=stable
Pin-Priority: 1001

- Run "apt-get update; apt-get dist-upgrade". Counterintuitively, the
"dist-upgrade" step will downgrade packages, but that's what you want.
- Remove the sources.list entry for stretch that you added.
- Optionally, remove the go_away_stretch file again.

I can probably add an ola backport into jessie-backports, if it's really
wanted.

--
< ron> I mean, the main *practical* problem with C++, is there's like a dozen
people in the world who think they really understand all of its rules,
and pretty much all of them are just lying to themselves too.
-- #debian-devel, OFTC, 2016-02-12

Peter Newman

unread,
Mar 22, 2017, 8:22:26 PM3/22/17
to open-lighting


On Thursday, 23 March 2017 00:04:35 UTC, Wouter Verhelst wrote:
I was going to say yes please Wouter. As we regularly get request for people who want the newest version of OLA on their Pis (and we're not hot enough at building the debs), but actually I see that Raspbian doesn't have backports, so this won't necessarily help without introducing more issues similar to the above. However I've generally found it frustrating on Ubuntu and Debian when something is a few years old and things don't work, so how much hassle is it to add it to backports, is it just a case of republishing to another repo?

Andrew Hall

unread,
Mar 23, 2017, 5:29:39 AM3/23/17
to open-lighting
Wouter,

Thanks for your warnings. You can probably tell by now that my Linux skills are basic at best. I'm a lighting and set technician, and I'm learning as I go. I tried your proposed actions, with this result:

pi@raspberrypi:~ $ sudo dget http://http.debian.net/debian/pool/main/o/ola/ola_0.10.3.nojsmin-2.dsc
dget: retrieving http://http.debian.net/debian/pool/main/o/ola/ola_0.10.3.nojsmin-2.dsc
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   329  100   329    0     0    528      0 --:--:-- --:--:-- --:--:--   529
100  2381  100  2381    0     0   2652      0 --:--:-- --:--:-- --:--:--     0
dget: retrieving http://http.debian.net/debian/pool/main/o/ola/ola_0.10.3.nojsmin.orig.tar.gz
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   335  100   335    0     0    878      0 --:--:-- --:--:-- --:--:--   881
100 2309k  100 2309k    0     0   901k      0  0:00:02  0:00:02 --:--:-- 2400k
dget: retrieving http://http.debian.net/debian/pool/main/o/ola/ola_0.10.3.nojsmin-2.debian.tar.xz
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   339  100   339    0     0    896      0 --:--:-- --:--:-- --:--:--   896
100 33808  100 33808    0     0  36470      0 --:--:-- --:--:-- --:--:-- 36470
ola_0.10.3.nojsmin-2.dsc:
      Good signature found
   validating ola_0.10.3.nojsmin.orig.tar.gz
   validating ola_0.10.3.nojsmin-2.debian.tar.xz
All files validated successfully.
dpkg-source: info: extracting ola in ola-0.10.3.nojsmin
dpkg-source: info: unpacking ola_0.10.3.nojsmin.orig.tar.gz
dpkg-source: info: unpacking ola_0.10.3.nojsmin-2.debian.tar.xz
dpkg-source: info: applying debian-changes
pi@raspberrypi:~ $ cd ola-*
pi@raspberrypi:~/ola-0.10.3.nojsmin $ sudo mk-build-deps -i
dh_testdir
dh_testroot
dh_prep
dh_testdir
dh_testroot
dh_install
dh_install: Compatibility levels before 9 are deprecated (level 7 in use)
dh_installdocs
dh_installdocs: Compatibility levels before 9 are deprecated (level 7 in use)
dh_installchangelogs
dh_installchangelogs: Compatibility levels before 9 are deprecated (level 7 in use)
dh_compress
dh_fixperms
dh_installdeb
dh_installdeb: Compatibility levels before 9 are deprecated (level 7 in use)
dh_gencontrol
dh_md5sums
dh_builddeb
dpkg-deb: building package `ola-build-deps' in `../ola-build-deps_0.10.3.nojsmin-2_all.deb'.

The package has been created.
Attention, the package has been created in the current directory,
not in ".." as indicated by the message above!
Selecting previously unselected package ola-build-deps.
(Reading database ... 36496 files and directories currently installed.)
Preparing to unpack ola-build-deps_0.10.3.nojsmin-2_all.deb ...
Unpacking ola-build-deps (0.10.3.nojsmin-2) ...
Reading package lists... Done
Building dependency tree
Reading state information... Done
Correcting dependencies... Done
The following extra packages will be installed:
  bison flex libbison-dev libfl-dev
Suggested packages:
  bison-doc
The following packages will be REMOVED:
  ola-build-deps
The following NEW packages will be installed:
  bison flex libbison-dev libfl-dev
0 upgraded, 4 newly installed, 1 to remove and 2 not upgraded.
1 not fully installed or removed.
Need to get 1,761 kB of archives.
After this operation, 3,340 kB of additional disk space will be used.
Do you want to continue? [Y/n] y
Get:1 http://mirrordirector.raspbian.org/raspbian/ jessie/main libfl-dev armhf 2.5.39-8+deb8u2 [75.3 kB]
Get:2 http://mirrordirector.raspbian.org/raspbian/ jessie/main flex armhf 2.5.39-8+deb8u2 [407 kB]
Get:3 http://mirrordirector.raspbian.org/raspbian/ jessie/main libbison-dev armhf 2:3.0.2.dfsg-2 [425 kB]
Get:4 http://mirrordirector.raspbian.org/raspbian/ jessie/main bison armhf 2:3.0.2.dfsg-2 [854 kB]
Fetched 1,761 kB in 1s (925 kB/s)
(Reading database ... 36500 files and directories currently installed.)
Removing ola-build-deps (0.10.3.nojsmin-2) ...
Selecting previously unselected package libfl-dev:armhf.
(Reading database ... 36496 files and directories currently installed.)
Preparing to unpack .../libfl-dev_2.5.39-8+deb8u2_armhf.deb ...
Unpacking libfl-dev:armhf (2.5.39-8+deb8u2) ...
Selecting previously unselected package flex.
Preparing to unpack .../flex_2.5.39-8+deb8u2_armhf.deb ...
Unpacking flex (2.5.39-8+deb8u2) ...
Selecting previously unselected package libbison-dev:armhf.
Preparing to unpack .../libbison-dev_2%3a3.0.2.dfsg-2_armhf.deb ...
Unpacking libbison-dev:armhf (2:3.0.2.dfsg-2) ...
Selecting previously unselected package bison.
Preparing to unpack .../bison_2%3a3.0.2.dfsg-2_armhf.deb ...
Unpacking bison (2:3.0.2.dfsg-2) ...
Processing triggers for install-info (5.2.0.dfsg.1-6) ...
Processing triggers for man-db (2.7.0.2-5) ...
Setting up libfl-dev:armhf (2.5.39-8+deb8u2) ...
Setting up flex (2.5.39-8+deb8u2) ...
Setting up libbison-dev:armhf (2:3.0.2.dfsg-2) ...
Setting up bison (2:3.0.2.dfsg-2) ...
update-alternatives: using /usr/bin/bison.yacc to provide /usr/bin/yacc (yacc) in auto mode
Processing triggers for libc-bin (2.19-18+deb8u7) ...
pi@raspberrypi:~/ola-0.10.3.nojsmin $ dpkg-buildpackage -uc -us -rfakeroot
dpkg-buildpackage: source package ola
dpkg-buildpackage: source version 0.10.3.nojsmin-2
dpkg-buildpackage: source distribution unstable
dpkg-buildpackage: source changed by Wouter Verhelst <wou...@debian.org>
dpkg-buildpackage: host architecture armhf
 dpkg-source --before-build ola-0.10.3.nojsmin
dpkg-checkbuilddeps: Unmet build dependencies: libcppunit-dev uuid-dev python-protobuf libprotobuf-dev protobuf-compiler libprotoc-dev libusb-1.0-0-dev libftdi-dev liblo-dev libmicrohttpd-dev (>= 0.9.44+dfsg-1) libclosure-compiler-java libncurses5-dev python-numpy
dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting
dpkg-buildpackage: warning: (Use -d flag to override.)
pi@raspberrypi:~/ola-0.10.3.nojsmin $



I don't know what to do next; I'm guessing your next step (sudo debi) would fail because of the missing dependencies. I'm open to suggestions. :)

Andrew Hall

unread,
Mar 23, 2017, 5:31:46 AM3/23/17
to open-lighting
I forgot to note that I put a fresh copy of Raspbian Jessie Lite on my MicroSD before attempting this. No more FrankenDebian. ;)

Wouter Verhelst

unread,
Mar 23, 2017, 8:39:44 AM3/23/17
to open-l...@googlegroups.com
Hi Andrew,

On Thu, Mar 23, 2017 at 02:29:38AM -0700, Andrew Hall wrote:
[...]
> Preparing to unpack ola-build-deps_0.10.3.nojsmin-2_all.deb ...
> Unpacking ola-build-deps (0.10.3.nojsmin-2) ...
> Reading package lists.... Done
> Building dependency tree
> Reading state information... Done
> Correcting dependencies... Done
> The following extra packages will be installed:
>   bison flex libbison-dev libfl-dev
> Suggested packages:
>   bison-doc
> The following packages will be REMOVED:
>   ola-build-deps

Darn.

That means you can't build it on jessie atm, because of some missing
dependencies.

I'll try to create a version of the source package that builds on
stable, and upload to backports. Hopefully later this week.

You should then recompile that on your raspberry pi, because there's no
backports for raspberry pi. Ah well.

Peter Newman

unread,
Mar 23, 2017, 11:14:58 AM3/23/17
to open-lighting
Hi both,

It's just the specific version of libmicrohttpd-dev that's the issue, but earlier versions do work on Jessie. Is there an --ignore-dependencies or --force option he could use Wouter?

On a related note Wouter, have you seen this (specifically the build-depends-on-1-revision bit):

Wouter Verhelst

unread,
Mar 23, 2017, 11:25:26 AM3/23/17
to open-l...@googlegroups.com
Hi Peter,

On Thu, Mar 23, 2017 at 08:14:58AM -0700, Peter Newman wrote:
> Hi both,
>
> It's just the specific version of libmicrohttpd-dev that's the issue, but
> earlier versions do work on Jessie.

Yeah, I remember now.

> Is there an --ignore-dependencies or --force option he could use Wouter?

Yes and no.

If you manually install dependencies, you can say "dpkg-buildpackage
-d", which is the "ignore dependencies" flag. But that doesn't help for
mk-build-deps :-)

Having said that, I'm working on a backports upload now. Will probably
be ready by tonight, and then (once accepted by the admins and published
etc) it's just a matter of adding a deb-src line for backports and
running "apt-get build-dep ola; apt-get -b source ola", which should be
easier than all this.

> On a related note Wouter, have you seen this (specifically the
> build-depends-on-1-revision bit):
> https://lintian.debian.org/maintainer/wou...@debian.org.html#ola 

Yeah, but that doesn't help us here, because there's no
libmicrohttpd-dev in backports ;-)

Peter Newman

unread,
Mar 23, 2017, 11:46:48 AM3/23/17
to open-lighting


On Thursday, 23 March 2017 15:25:26 UTC, Wouter Verhelst wrote:
Hi Peter,

On Thu, Mar 23, 2017 at 08:14:58AM -0700, Peter Newman wrote:
> Hi both,
>
> It's just the specific version of libmicrohttpd-dev that's the issue, but
> earlier versions do work on Jessie.

Yeah, I remember now.

> Is there an --ignore-dependencies or --force option he could use Wouter?

Yes and no.

If you manually install dependencies, you can say "dpkg-buildpackage
-d", which is the "ignore dependencies" flag. But that doesn't help for
mk-build-deps :-)
Ah I see. 

Having said that, I'm working on a backports upload now. Will probably
be ready by tonight, and then (once accepted by the admins and published
etc) it's just a matter of adding a deb-src line for backports and
running "apt-get build-dep ola; apt-get -b source ola", which should be
easier than all this.

> On a related note Wouter, have you seen this (specifically the
> build-depends-on-1-revision bit):
> https://lintian.debian.org/maintainer/wou...@debian.org.html#ola 

Yeah, but that doesn't help us here, because there's no
libmicrohttpd-dev in backports ;-)
Oh. Anyway that was more of a should that line either be in Lintian overrides, or drop the -1 if it was just 0.9.37 that was broken.

Andrew Hall

unread,
Mar 24, 2017, 3:29:55 AM3/24/17
to open-lighting
Wouter & Peter,

Many thanks for your help! I'll add the deb-src line for jessie-backports and check for ola. I can't wait to get a recent version on my Pi! I met with my theater's stage prop designer today and told her about this; if it works, we're going to make several different props this way.

Andrew Hall

unread,
Mar 30, 2017, 4:04:48 PM3/30/17
to open-lighting
On Thursday, March 23, 2017 at 8:25:26 AM UTC-7, Wouter Verhelst wrote:
Having said that, I'm working on a backports upload now. Will probably
be ready by tonight, and then (once accepted by the admins and published
etc) it's just a matter of adding a deb-src line for backports and
running "apt-get build-dep ola; apt-get -b source ola", which should be
easier than all this.

I've added the jessie-backports deb-src line to /etc/apt/sources.list and tried running "apt-get -t jessie-backports -b source ola", but it can't find the source package. Is it just a matter of time before it publishes, or am I doing something wrong?

Assuming it's just going through review at Debian, I'm now simply checking https://packages.debian.org/source/stretch/ola and looking for a [jessie-backports] tab at the top of the page.

Wouter Verhelst

unread,
Mar 31, 2017, 3:18:57 AM3/31/17
to open-l...@googlegroups.com
Hi Andrew,

On Thu, Mar 30, 2017 at 01:04:48PM -0700, Andrew Hall wrote:
> On Thursday, March 23, 2017 at 8:25:26 AM UTC-7, Wouter Verhelst wrote:
>
> Having said that, I'm working on a backports upload now. Will probably
> be ready by tonight, and then (once accepted by the admins and published
> etc) it's just a matter of adding a deb-src line for backports and
> running "apt-get build-dep ola; apt-get -b source ola", which should be
> easier than all this.
>
>
> I've added the jessie-backports deb-src line to /etc/apt/sources.list and tried
> running "apt-get -t jessie-backports -b source ola", but it can't find the
> source package. Is it just a matter of time before it publishes, or am I doing
> something wrong?

You're not

> Assuming it's just going through review at Debian, I'm now simply checking
> https://packages.debian.org/source/stretch/ola and looking for a
> [jessie-backports] tab at the top of the page.

It's still going through review, yes.

Specifically, it's in the backports NEW queue, waiting for a backports admin to
ack it.

You can follow the progress on
<https://ftp-master.debian.org/backports-new.html>; as soon as it's not listed
there anymore, it should be available (unless it gets rejected for whatever
reason, but that's unlikely)

Peter Newman

unread,
Mar 31, 2017, 9:34:07 AM3/31/17
to open-lighting


On Friday, 31 March 2017 08:18:57 UTC+1, Wouter Verhelst wrote:
Hi Andrew,

On Thu, Mar 30, 2017 at 01:04:48PM -0700, Andrew Hall wrote:
> On Thursday, March 23, 2017 at 8:25:26 AM UTC-7, Wouter Verhelst wrote:
>
>     Having said that, I'm working on a backports upload now. Will probably
>     be ready by tonight, and then (once accepted by the admins and published
>     etc) it's just a matter of adding a deb-src line for backports and
>     running "apt-get build-dep ola; apt-get -b source ola", which should be
>     easier than all this.
>
>
> I've added the jessie-backports deb-src line to /etc/apt/sources.list and tried
> running "apt-get -t jessie-backports -b source ola", but it can't find the
> source package. Is it just a matter of time before it publishes, or am I doing
> something wrong?

You're not

> Assuming it's just going through review at Debian, I'm now simply checking
> https://packages.debian.org/source/stretch/ola and looking for a
> [jessie-backports] tab at the top of the page.

It's still going through review, yes.

Specifically, it's in the backports NEW queue, waiting for a backports admin to
ack it.

You can follow the progress on
<https://ftp-master.debian.org/backports-new.html>; as soon as it's not listed
there anymore, it should be available (unless it gets rejected for whatever
reason, but that's unlikely)
It's gone from that list now. Are current backports actually listed online anywhere?

Andrew Hall

unread,
Mar 31, 2017, 2:01:58 PM3/31/17
to open-lighting
It's live! See https://packages.debian.org/source/jessie-backports/ola. I'm running a build now...

Wouter Verhelst

unread,
Mar 31, 2017, 6:16:29 PM3/31/17
to open-l...@googlegroups.com
On Fri, Mar 31, 2017 at 06:34:07AM -0700, Peter Newman wrote:
> On Friday, 31 March 2017 08:18:57 UTC+1, Wouter Verhelst wrote:
> You can follow the progress on
> <https://ftp-master.debian.org/backports-new.html>; as soon as it's not
> listed
> there anymore, it should be available (unless it gets rejected for whatever
> reason, but that's unlikely)
>
> It's gone from that list now. Are current backports actually listed online
> anywhere?

Along with the rest of available packages, on
<https://packages.debian.org/>. That isn't updated immediately, however,
but it's up there now.

Regards,

Andrew Hall

unread,
Apr 1, 2017, 8:36:46 PM4/1/17
to open-lighting
Wouter,

Thanks! OLA 10.3 is working wonderfully on my (non-Franken-) Debian Jessie. I am unclear on one thing, though. After the build, I tried "apt-get -t jessie-backports install ola", which (to my surprise) worked. I was just expecting to run "dpkg -i" on the resulting DEB. Did my build upload the binaries, or did someone else? (My Linux newbie-ness is showing.)

Andrew

Wouter Verhelst

unread,
Apr 2, 2017, 5:27:29 PM4/2/17
to open-l...@googlegroups.com
On Sat, Apr 01, 2017 at 05:36:46PM -0700, Andrew Hall wrote:
> Wouter,
>
> Thanks! OLA 10.3 is working wonderfully on my (non-Franken-) Debian Jessie. I
> am unclear on one thing, though. After the build, I tried "apt-get -t
> jessie-backports install ola", which (to my surprise) worked.

Yeah, if you added a "deb" line, that might work, too. It might even not
crash. I did mean you should have just added a "deb-src" line, though.

The problem with Raspbian is that it's almost but not quite entirely
unlike Debian. They changed their compiler settings, which makes it
incompatible with Debian armhf, but then they went ahead and didn't
change the architecture name inside dpkg, which means dpkg thinks the
binaries from official Debian are the same, but they're not. This means
you can't install a Debian package on a RPi 1 and expect things to work;
this will break, since the processor in the RPi1 is not capable of
running Debian armhf (Debian armhf was defined to use some instructions
that the RPi1 processor does not implement).

Later RPis (the 2 and 3 families) *do* support those extra instructions,
however, so you *might* be able to get away with installing a Debian
package. I can't guarantee it won't cause problems, though, so I
recommend against it.

> I was just
> expecting to run "dpkg -i" on the resulting DEB. Did my build upload the
> binaries, or did someone else? (My Linux newbie-ness is showing.)

The "sudo debi" step that I suggested you do upthread should have done
that. Your 'apt-get install' will have then upgraded your packages to
the ones from jessie-backports, which is suboptimal. Luckily, you should
be able to fix that by doing the debi thing again -- this will just
reinstall the packages that you compiled again.

After that, do yourself a favour and remove the "deb" line for
jessie-backports from sources.list ;-)

Andrew Hall

unread,
Apr 3, 2017, 2:23:59 AM4/3/17
to open-lighting
Wouter,

Wow! Thank you for explaining this. I didn't know there could be problems installing Debian repository packages on a Pi. I feel I need to make sure I'm going about this the right way. Starting from a fresh Raspbian Jessie Lite, is this the correct way to build compatible OLA 10.3 debs?

Add this line to /etc/apt/sources.list:
deb-src http://ftp.debian.org/debian jessie-backports main

Run these commands:
sudo apt-get install devscripts


apt-get build-dep ola
apt-get -b source ola

sudo debi


If this is correct, can I copy the resulting debs to another Pi and install all of them? I'm building on a Pi 2 because it's faster, but I'd like to install these debs on a handful of Pi Zero W's to be used as prop controllers. (I could just try installing the debs there, but if I've learned anything here, it's that just because something installs doesn't mean it will work reliably.)

Thanks for your patience.

Andrew

Andrew Hall

unread,
Apr 3, 2017, 2:31:18 AM4/3/17
to open-lighting
Argh. After posting, I noticed the lack of "-t jessie-backports". How about this?

Add this line to /etc/apt/sources.list:
deb-src http://ftp.debian.org/debian jessie-backports main

Run these commands:
sudo apt-get update


sudo apt-get install devscripts
apt-get build-dep ola

apt-get -t jessie-backports -b source ola
sudo debi

Will

unread,
Apr 6, 2017, 8:14:37 AM4/6/17
to open-lighting
Firstly, thank you guys for trying to get this working. I'm still tinkering with an OLA project that runs on a raspberry pi and the idea of having an updated pre-compiled package is amazing! No more 6+ hour waits with my fingers crossed to see if it went through ok.

Andrew, I have tried your steps and they don't work for me.

I have a fresh Jessie Raspbian Install on the Raspberry pi that is up to date.
I added to the sources list but when I run 

sudo apt-get update 

I get:

W: GPG error: http://ftp.debian.org jessie-backports InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 8B48AD6246925553 NO_PUBKEY 7638D0442B90D010

Hope that makes sense as an error to someone. My Linux skills are growing by the day but I have no idea where to start with this one!

Andrew Hall

unread,
Apr 6, 2017, 2:38:48 PM4/6/17
to open-lighting
Will,

I'm not very far ahead of you in this endeavor, but I have gotten it working (so far). Here's my understanding from Wouter's posts: Don't use the precompiled binaries from jessie-backports because they may not work reliably on a Pi. Rather, build your own from the source he made available in jessie-backports. On a Pi 2, it took about 2 hours to compile, but it resulted in a collection of .deb packages that I can copy to my other Pi's and simply install. This means that you should only need to spend this time once to get Pi-specific OLA 10.3 binaries. Hang on to these for future use.

You're right that I forgot a step. I had to add the Debian signing keys before attempting this. Here are my steps with that change:

Add this line to /etc/apt/sources.list:
deb-src http://ftp.debian.org/debian jessie-backports main

Run these commands:
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 7638D0442B90D010
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 8B48AD6246925553

sudo apt-get update
sudo apt-get install devscripts
apt-get build-dep ola
apt-get -t jessie-backports -b source ola

If you want to install OLA on the Pi you just compiled it on, do this when the above has finished:
sudo debi


If you want to take the fresh DEBs (I believe you'll end up with 5) and install them on another Pi, here's what I did:
  1. Copy them to the other Pi, placing them in an empty directory.
  2. cd into that directory.
  3. Run "sudo dpkg -i *". You will get dependency errors.
  4. Run "sudo apt-get -f install". This will get and install the missing dependencies.
This assumes that, in both cases, you're starting from a fresh install of Raspbian Jessie Lite.

I hope this is helpful, but I'm sure there are mistakes. I am far from an expert and have been relying on the gracious help of Wouter and Peter here.

Andrew

Wouter Verhelst

unread,
Apr 8, 2017, 4:30:59 AM4/8/17
to open-l...@googlegroups.com
Hi,

On Sun, Apr 02, 2017 at 11:23:59PM -0700, Andrew Hall wrote:
> Wouter,
>
> Wow! Thank you for explaining this. I didn't know there could be problems
> installing Debian repository packages on a Pi. I feel I need to make sure I'm
> going about this the right way. Starting from a fresh Raspbian Jessie Lite,
> is this the correct way to build compatible OLA 10.3 debs?
>
> Add this line to /etc/apt/sources.list:
> deb-src http://ftp.debian.org/debian jessie-backports main
>
> Run these commands:
> sudo apt-get install devscripts
> apt-get build-dep ola
> apt-get -b source ola
> sudo debi

Yes, except that you want to run the final command from inside the build
directory; e.g., add the "cd ola-*" command before it.

> If this is correct, can I copy the resulting debs to another Pi and
> install all of them?

Yes.

> I'm building on a Pi 2 because it's faster, but I'd like to install
> these debs on a handful of Pi Zero W's to be used as prop controllers.
> (I could just try installing the debs there, but if I've learned
> anything here, it's that just because something installs doesn't mean
> it will work reliably.)

The instruction set limitation is implemented by the compiler, not by
the processor on which things are compiled. As such, if you compile a
package on a Pi2 with raspbian installed, it comes with the same
compiler as on a Pi1, and therefore the same instruction set
limitations.

So yes, you can absolutely compile something on a faster pi and copy it
to a slower one.

Wouter Verhelst

unread,
Apr 8, 2017, 4:35:16 AM4/8/17
to open-l...@googlegroups.com
On Thu, Apr 06, 2017 at 11:38:47AM -0700, Andrew Hall wrote:
> Will,
>
> I'm not very far ahead of you in this endeavor, but I have gotten it working
> (so far). Here's my understanding from Wouter's posts: Don't use the
> precompiled binaries from jessie-backports because they may not work reliably
> on a Pi. Rather, build your own from the source he made available in
> jessie-backports. On a Pi 2, it took about 2 hours to compile, but it resulted
> in a collection of .deb packages that I can copy to my other Pi's and simply
> install. This means that you should only need to spend this time once to get
> Pi-specific OLA 10.3 binaries. Hang on to these for future use.
>
> You're right that I forgot a step. I had to add the Debian signing keys before
> attempting this. Here are my steps with that change:
>
> Add this line to /etc/apt/sources.list:
> deb-src http://ftp.debian.org/debian jessie-backports main
>
> Run these commands:
> sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 7638D0442B90D010
> sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 8B48AD6246925553

I believe raspbian also ships the debian-archive-keyring package, but
does not install it by default (which makes sense, considering). If so,
you can replace the above two by

apt-get install debian-archive-keyring

> sudo apt-get update
> sudo apt-get install devscripts
> apt-get build-dep ola
> apt-get -t jessie-backports -b source ola

right, although "apt-get source" takes the most recent version always,
which in the above case should be the version from backports.

> If you want to install OLA on the Pi you just compiled it on, do this when the
> above has finished:
> sudo debi
>
> If you want to take the fresh DEBs (I believe you'll end up with 5) and install
> them on another Pi, here's what I did:
>
> 1. Copy them to the other Pi, placing them in an empty directory.
> 2. cd into that directory.
> 3. Run "sudo dpkg -i *". You will get dependency errors.
> 4. Run "sudo apt-get -f install". This will get and install the missing
> dependencies.

Exactly.

Alternatively, if you have many pis to install, you can use reprepro to
manage a repository for you. You then copy the ".changes" file that the
"apt-get -b source" process created, along with all files mentioned
inside it, to the "incoming" directory for reprepro, and then run
"reprepro processincoming <name>".

This may be a bit too complicated, however.

> This assumes that, in both cases, you're starting from a fresh install of
> Raspbian Jessie Lite.
>
> I hope this is helpful, but I'm sure there are mistakes.

I didn't see any, for sure ;-)

Will

unread,
Apr 8, 2017, 6:29:33 AM4/8/17
to open-lighting
Thanks for the update guys. I still haven't managed to get a working OLA setup on my raspberry pi's this way.

The issue I get to is at:

pi@BLUE:/etc/apt $ sudo apt-get -t jessie-backports -b source ola

Reading package lists... Done

E: The value 'jessie-backports' is invalid for APT::Default-Release as such a release is not available in the sources

I'm guessing that this means I need to change the APT setup so that it matches what is actually available in the jessie-backports? Any help appreciated. Thanks, Will

Wouter Verhelst

unread,
Apr 10, 2017, 2:25:49 AM4/10/17
to open-l...@googlegroups.com
On Sat, Apr 08, 2017 at 03:29:33AM -0700, Will wrote:
> Thanks for the update guys. I still haven't managed to get a working OLA setup
> on my raspberry pi's this way.
>
> The issue I get to is at:
>
>
> pi@BLUE:/etc/apt $ sudo apt-get -t jessie-backports -b source ola
>
> Reading package lists... Done
>
> E: The value 'jessie-backports' is invalid for APT::Default-Release as such a
> release is not available in the sources
>
> I'm guessing that this means I need to change the APT setup so that it matches
> what is actually available in the jessie-backports? Any help appreciated.
> Thanks, Will

Can you show what your apt sources.list configuration looks like? Did
you run "apt-get update" after changing it last?
> --
> The Open Lighting Project: open-l...@googlegroups.com, #openlighting
> (irc.freenode.org)
> To unsubscribe from this group, send email to
> open-lightin...@googlegroups.com
> For more options, visit https://groups.google.com/groups/opt_out?hl=en

Will

unread,
Apr 10, 2017, 4:21:45 AM4/10/17
to open-lighting
Here's the contents of my sources file:

deb http://mirrordirector.raspbian.org/raspbian/ jessie main contrib non-free rpi

# Uncomment line below then 'apt-get update' to enable 'apt-get source'

#deb-src http://archive.raspbian.org/raspbian/ jessie main contrib non-free rpi

deb-src http://ftp.debian.org/debian jessie-backports main

I did run apt-get update but I will try again from the top of the instructions with another fresh Jessie install maybe I missed something last time. Is my sources list correct?

Will

unread,
Apr 10, 2017, 5:22:38 AM4/10/17
to open-lighting
I have repeated all the steps and still getting the following error when running 
`apt-get -t jessie-backports -b source ola`

Reading package lists... Done

E: The value 'jessie-backports' is invalid for APT::Default-Release as such a release is not available in the sources


Thanks in advance for your help!
Will

Wouter Verhelst

unread,
Apr 10, 2017, 6:17:18 PM4/10/17
to open-l...@googlegroups.com
Hi Will,

On Mon, Apr 10, 2017 at 02:22:37AM -0700, Will wrote:
> I have repeated all the steps and still getting the following error when
> running 
> `apt-get -t jessie-backports -b source ola`

Had some time today to try to reproduce this on my raspberry pi.

The answer is quite simple. You need to drop the "-t jessie-backports".
Using a target release (-t) is only valid for binary packages, not for
source packages; for those, apt only looks at version numbers (and no
amount of target releases and/or apt pinning will work).

Regards,

Will

unread,
Apr 11, 2017, 8:45:26 AM4/11/17
to open-lighting
Thanks, Wouter

I feel like I'm getting closer but still no luck.

After 'sudo apt-get -b source ola ' I get the following in the terminal:

==================================

   OLA 0.10.3: ./test-suite.log

==================================


# TOTAL: 87

# PASS:  86

# SKIP:  0

# XFAIL: 0

# FAIL:  1

# XPASS: 0

# ERROR: 0


.. contents:: :depth: 2


FAIL: common/base/CredentialsTester

===================================


.F.F....


CredentialsTest.cpp:72:Assertion

Test name: CredentialsTest::testGetUIDs

assertion failed

- Expression: uid

- Don't run the tests as root!


CredentialsTest.cpp:95:Assertion

Test name: CredentialsTest::testGetGIDs

assertion failed

- Expression: gid

- Don't run the tests as root!


Failures !!!

Run: 6   Failure total: 2   Failures: 2   Errors: 0


============================================================================

Testsuite summary for OLA 0.10.3

============================================================================

# TOTAL: 87

# PASS:  86

# SKIP:  0

# XFAIL: 0

# FAIL:  1

# XPASS: 0

# ERROR: 0

============================================================================

See ./test-suite.log

Please report to open-l...@googlegroups.com

============================================================================

Makefile:15455: recipe for target 'test-suite.log' failed

make[5]: *** [test-suite.log] Error 1

make[5]: Leaving directory '/home/pi/ola-0.10.3.nojsmin'

Makefile:15561: recipe for target 'check-TESTS' failed

make[4]: *** [check-TESTS] Error 2

make[4]: Leaving directory '/home/pi/ola-0.10.3.nojsmin'

Makefile:16373: recipe for target 'check-am' failed

make[3]: *** [check-am] Error 2

make[3]: Leaving directory '/home/pi/ola-0.10.3.nojsmin'

Makefile:15341: recipe for target 'check-recursive' failed

make[2]: *** [check-recursive] Error 1

make[2]: Leaving directory '/home/pi/ola-0.10.3.nojsmin'

Makefile:16377: recipe for target 'check' failed

make[1]: *** [check] Error 2

make[1]: Leaving directory '/home/pi/ola-0.10.3.nojsmin'

dh_auto_test: make -j1 check VERBOSE=1 returned exit code 2

debian/rules:14: recipe for target 'build' failed

make: *** [build] Error 2

dpkg-buildpackage: error: debian/rules build gave error exit status 2

Build command 'cd ola-0.10.3.nojsmin && dpkg-buildpackage -b -uc' failed.

E: Child process failed


It seems like a logical test to fail as I was sudo. Was I not supposed to be? I have the following files and folders now:

ola-0.10.3.nojsmin ola_0.10.3.nojsmin-2~bpo8+1.debian.tar.xz ola_0.10.3.nojsmin-2~bpo8+1.dsc ola_0.10.3.nojsmin.orig.tar.gz


When I run 'sudo debi' as Andrew and you advised I get:

debi: cannot find readable debian/changelog anywhere!

Are you in the source code tree?

I must be getting close! Thanks for the help



Wouter Verhelst

unread,
Apr 12, 2017, 3:59:22 AM4/12/17
to open-l...@googlegroups.com
On Tue, Apr 11, 2017 at 05:45:26AM -0700, Will wrote:
> Thanks, Wouter
>
> I feel like I'm getting closer but still no luck.
>
> After 'sudo apt-get -b source ola ' I get the following in the terminal:

Drop the sudo:

> CredentialsTest.cpp:72:Assertion
>
> Test name: CredentialsTest::testGetUIDs
>
> assertion failed
>
> - Expression: uid
>
> - Don't run the tests as root!
^^^^^^^^^^^^^^^^^^^^^^^^^^^^

;-)

Will

unread,
Apr 12, 2017, 5:25:09 AM4/12/17
to open-lighting
If I don't run it as root: 

pi@BLUE:~ $ apt-get -b source ola

Reading package lists... Done

Building dependency tree       

Reading state information... Done

NOTICE: 'ola' packaging is maintained in the 'Git' version control system at:

https://github.com/yoe/ola

Skipping already downloaded file 'ola_0.10.3.nojsmin-2~bpo8+1.dsc'

Skipping already downloaded file 'ola_0.10.3.nojsmin.orig.tar.gz'

Skipping already downloaded file 'ola_0.10.3.nojsmin-2~bpo8+1.debian.tar.xz'

Need to get 0 B of source archives.

Skipping unpack of already unpacked source in ola-0.10.3.nojsmin

dpkg-buildpackage: source package ola

dpkg-buildpackage: source version 0.10.3.nojsmin-2~bpo8+1

dpkg-buildpackage: source distribution jessie-backports

dpkg-buildpackage: source changed by Wouter Verhelst <wou...@debian.org>

dpkg-buildpackage: host architecture armhf

 dpkg-source --before-build ola-0.10.3.nojsmin

 fakeroot debian/rules clean

dh clean --parallel --with autotools_dev,autoreconf,bash_completion,python2

   dh_testdir

   dh_auto_clean

make -j1 distclean

make[1]: Entering directory '/home/pi/ola-0.10.3.nojsmin'

Making distclean in java

make[2]: Entering directory '/home/pi/ola-0.10.3.nojsmin/java'

test -z "src/main/java/ola/proto/Ola.java src/main/java/ola/rpc/Rpc.java" || rm -f src/main/java/ola/proto/Ola.java src/main/java/ola/rpc/Rpc.java

rm -rf .libs _libs

rm -f *.lo

test -z "" || rm -f 

test . = "." || test -z "" || rm -f 

rm -f Makefile

rm: cannot remove ‘Makefile’: Permission denied

Makefile:468: recipe for target 'distclean' failed

make[2]: [distclean] Error 1 (ignored)

make[2]: Leaving directory '/home/pi/ola-0.10.3.nojsmin/java'

make[2]: Entering directory '/home/pi/ola-0.10.3.nojsmin'

 rm -f examples/ola_dev_info examples/ola_rdm_discover examples/ola_rdm_get examples/ola_recorder examples/ola_streaming_client examples/ola_timecode examples/ola_uni_stats examples/ola_e131 examples/ola_usbpro examples/ola_artnet examples/ola_dmxconsole examples/ola_dmxmonitor olad/olad tools/ola_trigger/ola_trigger tools/usbpro/usbpro_firmware tools/rdmpro/rdmpro_sniffer

rm: cannot remove ‘examples/ola_dev_info’: Permission denied

rm: cannot remove ‘examples/ola_rdm_discover’: Permission denied

rm: cannot remove ‘examples/ola_rdm_get’: Permission denied

rm: cannot remove ‘examples/ola_recorder’: Permission denied

rm: cannot remove ‘examples/ola_streaming_client’: Permission denied

rm: cannot remove ‘examples/ola_timecode’: Permission denied

rm: cannot remove ‘examples/ola_uni_stats’: Permission denied

rm: cannot remove ‘examples/ola_e131’: Permission denied

rm: cannot remove ‘examples/ola_usbpro’: Permission denied

rm: cannot remove ‘examples/ola_artnet’: Permission denied

rm: cannot remove ‘examples/ola_dmxconsole’: Permission denied

rm: cannot remove ‘examples/ola_dmxmonitor’: Permission denied

rm: cannot remove ‘olad/olad’: Permission denied

rm: cannot remove ‘tools/ola_trigger/ola_trigger’: Permission denied

rm: cannot remove ‘tools/usbpro/usbpro_firmware’: Permission denied

rm: cannot remove ‘tools/rdmpro/rdmpro_sniffer’: Permission denied

Makefile:8220: recipe for target 'clean-binPROGRAMS' failed

make[2]: *** [clean-binPROGRAMS] Error 1

make[2]: Leaving directory '/home/pi/ola-0.10.3.nojsmin'

Makefile:15341: recipe for target 'distclean-recursive' failed

make[1]: *** [distclean-recursive] Error 1

make[1]: Leaving directory '/home/pi/ola-0.10.3.nojsmin'

dh_auto_clean: make -j1 distclean returned exit code 2

debian/rules:14: recipe for target 'clean' failed

make: *** [clean] Error 2

dpkg-buildpackage: error: fakeroot debian/rules clean gave error exit status 2

Build command 'cd ola-0.10.3.nojsmin && dpkg-buildpackage -b -uc' failed.

E: Child process failed


Is there a precompiled image anywhere that I can download that includes the python module? Preferably one that has the latest version, 0.10.3 and can run on a Raspberry pi B+, 2 or 3.
The downloads page has some old images (http://dl.openlighting.org/). I'm wondering if it is easier to update one of those old git images? Trying to get this to compile doesn't seem to be working. I'm happy to keep trying but I would rather someone like you Wouter put your spare time into getting a new image on the downloads page than answering the many questions now coming through to this google group regarding getting 0.10.3 to compile.

Thanks for your help so far, Will

Andrew Hall

unread,
Apr 12, 2017, 1:05:40 PM4/12/17
to open-lighting
Will,

I made that mistake with "sudo" also. You'll have to delete all the files and folders created by your first build. Then do "apt-get -b source ola". It will work, since your build did pass all the other tests. You are so close! :)

Andrew

Will

unread,
Apr 18, 2017, 6:31:58 AM4/18/17
to open-lighting
Phew, I got there (I think!!). Now to get some python together so that it behaves. Thanks for your help everyone!

Peter Newman

unread,
Apr 18, 2017, 9:16:01 AM4/18/17
to open-lighting
Great Will, glad you got it sorted!
Reply all
Reply to author
Forward
0 new messages