Personal tools
The Open Lighting Project has moved!

We've launched our new site at This wiki will remain and be updated with more technical information.

Difference between revisions of "OLA on Beaglebone"


Jump to: navigation, search
(Debian / Ubuntu)
Line 31: Line 31:
Note, these dependancys are slightly different from the Debian build
Note, these dependancys are slightly different from the Debian build
== Centos 6 / RHEL 6 / Fedora 17 ==
Users of rpm based distributions can install them with yum (protobuf*, libmicrohttpd* and libftdi* are in the EPEL repository):
  sudo yum install flex bison protobuf protobuf-devel uuid-devel cppunit-devel protobuf-python libmicrohttpd-devel libusb-devel libftdi-devel libuuid-devel openslp-devel
(The remaining libs already come with the OS installation)
== Other Distributions ==
Install using your package manager, or build everything by hand
If you installed things by hand (rather than using your package manager), you need to run ldconfig as root to pick up the new libraries
  sudo  ldconfig
=Checkout or Download an Archive=
You can either download a tarball, or pull the latest version from the git repo
== Tarball ==
== Tarball ==
Line 82: Line 62:
=Known Issues=
=Known Issues=
If you get an error like the following:
/bin/sh ./libtool --tag=CC  --mode=compile gcc -DHAVE_CONFIG_H -I.  -I/opt/local/var/macports/software/protobuf-cpp/2.0.3_0/opt/local/include/  -g -O2 -c -o ltdl.lo ltdl.c
./libtool: line 464: CDPATH: command not found
/Users/simonn/lighting/lla/libltdl/libtool: line 464: CDPATH: command not found
/Users/simonn/lighting/lla/libltdl/libtool: line 1142: func_opt_split: command not found
libtool: Version mismatch error.  This is libtool 2.2.6, but the
libtool: definition of this LT_INIT comes from an older release.
libtool: You should recreate aclocal.m4 with macros from libtool 2.2.6
libtool: and run autoconf again.
Your system uses a different version of libtool. Run:
  libtoolize --ltdl -c -f
and then start from the autoreconf step again.
If you should get the following error try to fix it with one of [ two available solutions]: In copy constructor 'ola::rpc::RpcMessage::RpcMessage(const ola::rpc::RpcMessage&)': error: base class 'class google::protobuf::Message' should be explicitly initialized in the copy constructor
You should be able to prevent this by [ editing <code>./src/</code>], removing <code>-Werror</code> and then start from the autoreconfig step again.

Revision as of 12:45, 7 January 2013

This describes how to get OLA working on a Beaglebone from strach. At the time of writing, an "image" does not exist for the beagle bone. This process is based on using the debian os.

Preparing your debian based Beaglebone

Install dependencies

You need a couple of libraries installed for everything to work correctly. Some of these are available as packages in distros but others need to be downloaded and built manually.

First you'll need at least the following:

If you're building from git you'll also need the following:

  • libtool
  • automake
  • autoconf

 sudo apt-get install libcppunit-dev libcppunit-1.12-1 uuid-dev pkg-config libncurses5-dev libtool autoconf automake  g++ libmicrohttpd-dev libmicrohttpd5 protobuf-c-compiler libprotobuf-lite6 python-protobuf libprotobuf-dev zlib1g-dev bison flex make libftdi-dev  libftdi1 libusb-1.0-0-dev liblo-dev 

Note, these dependancys are slightly different from the Debian build


Download the most recent tarball from Extract using

 tar -zxf ola-0.X.Y.tar.gz
 cd ola-0.X.Y


If you don't have git yet, you'll need to install it with your distro's package manager. On Debian / Ubuntu run:

 sudo apt-get install git

Check out the git repo with the following command:

 git clone ola
 cd ola

Run autoreconf

If this is the first time run with -i to install the missing files

autoreconf -i

Do the usual build steps

You can pass additional options to ./configure . Run

 ./configure --help

to see all options. The most popular option is --enable-python-libs to build the Python Client Module. If you want to use the RDM responder tests add --enable-rdm-tests.

Once you've decided on the options, it's time to build OLA. If you have a multi-core machine, you can speed up the build by using make -j N. A good value of N is the number of cores on your machine. On a MacBook Pro (4 core) using -j 4 reduced the build time from 5 minutes to 2.5 minutes.

./configure --enable-rdm-tests
make check
sudo make install

Finally run ldconfig so you can use the new libraries.

 sudo ldconfig

Device drivers

Note that, for some devices, it is necessary to install drivers for OLA to work with them. For example, the Open DMX USB device needs an additional kernel module that could be built using the instuctions on LLA_and_Q_Light_Controller_Ubuntu_Tutorial. For other devices, refer to the corresponding device page on this wiki.

Known Issues