Personal tools
The Open Lighting Project has moved!

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

Difference between revisions of "OLA on Beaglebone"

From wiki.openlighting.org

Jump to: navigation, search
(Debian / Ubuntu)
(Install OLA)
(11 intermediate revisions by 3 users not shown)
Line 1: Line 1:
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.
+
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. There certainly are other ways of bulding this, but this is a method that works for me.
  
 +
=Preparing your debian based Beaglebone=
  
==Preparing your debian based Beaglebone==
+
Get Robert C nelsons Netinstall scripts, 
  
 +
https://github.com/RobertCNelson/netinstall
 +
 +
cd /netinstall
 +
./mk_mmc.sh --uboot bone --mmc /dev/sdX  ( sdX ) is the card
 +
 +
this will build the boot loader onto the card.  This is also based on debian Squeeze.
 +
 +
Once its done, put the card in your beagle, and start up.  You'll need to connect the Beaglebone via USB, and talk to it via Screen.  Follow the instructions for the debian install..  Select SSH server and System Ultiities for your build.      It can take a while to finish a build, depending on how fast your internet connections are.
  
  
Line 26: Line 35:
 
* autoconf
 
* autoconf
  
== Debian / Ubuntu ==
 
  
Debian/Ubuntu users can install them with apt:
+
sudo apt-get install libcppunit-dev libcppunit-1.12-1 uuid-dev pkg-config libncurses5-dev libtool autoconf automake  g++ libmicrohttpd-dev libmicrohttpd5 protobuf-compiler libprotobuf-lite6 python-protobuf libprotobuf-dev libprotoc-dev zlib1g-dev bison flex make libftdi-dev  libftdi1 libusb-1.0-0-dev liblo-dev git
  
  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 dependencies are slightly different from the Debian build
 
 
Note: Some distributions may offer libprotobuf-lite6 instead of libprotobuf-lite7, which is an acceptable substitution.
 
 
 
If you're using Ubuntu 11.04 or later you can just use the command above. The versions of libprotobuf in earlier versions of Ubuntu are too old, so you'll need to install them by hand.
 
 
 
== 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 ==
 
 
 
Download the most recent tarball from http://code.google.com/p/open-lighting/downloads/list
 
Extract using
 
 
 
  tar -zxf ola-0.X.Y.tar.gz
 
  cd ola-0.X.Y
 
 
 
== Git ==
 
 
 
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
 
  
 +
= Install OLA =
  
 
Check out the git repo with the following command:
 
Check out the git repo with the following command:
  
   git clone https://code.google.com/p/open-lighting/ ola
+
  cd /usr/local/src  ( not entirely nessary, but you will be able to find it later )
 +
   git clone https://github.com/OpenLightingProject/ola.git ola
 
   cd ola
 
   cd ola
  
Line 80: Line 51:
  
 
Finally run ldconfig so you can use the new libraries.
 
Finally run ldconfig so you can use the new libraries.
 
+
sudo ldconfig
  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=
 
 
 
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 [http://groups.google.com/group/open-lighting/msg/72060f6327d30df6 two available solutions]:
 
 
 
Rpc.pb.cc: In copy constructor 'ola::rpc::RpcMessage::RpcMessage(const ola::rpc::RpcMessage&)':
 
Rpc.pb.cc:143: error: base class 'class google::protobuf::Message' should be explicitly initialized in the copy constructor
 
 
 
You should be able to prevent this by [http://groups.google.com/group/open-lighting/msg/c6d86d03dd74ed5b editing <code>./src/Makefile.am</code>], removing <code>-Werror</code> and then start from the autoreconfig step again.
 

Revision as of 21:23, 19 January 2014

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. There certainly are other ways of bulding this, but this is a method that works for me.

Preparing your debian based Beaglebone

Get Robert C nelsons Netinstall scripts,

https://github.com/RobertCNelson/netinstall

cd /netinstall ./mk_mmc.sh --uboot bone --mmc /dev/sdX ( sdX ) is the card

this will build the boot loader onto the card. This is also based on debian Squeeze.

Once its done, put the card in your beagle, and start up. You'll need to connect the Beaglebone via USB, and talk to it via Screen. Follow the instructions for the debian install.. Select SSH server and System Ultiities for your build. It can take a while to finish a build, depending on how fast your internet connections are.


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-compiler libprotobuf-lite6 python-protobuf libprotobuf-dev libprotoc-dev zlib1g-dev bison flex make libftdi-dev  libftdi1 libusb-1.0-0-dev liblo-dev git

Note, these dependencies are slightly different from the Debian build

Install OLA

Check out the git repo with the following command:

 cd /usr/local/src   ( not entirely nessary, but you will be able to find it later )
 git clone https://github.com/OpenLightingProject/ola.git 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
make check
sudo make install

Finally run ldconfig so you can use the new libraries.

sudo ldconfig