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 Linux"

From wiki.openlighting.org

Jump to: navigation, search
(Install libraries)
(Install libraries)
Line 11: Line 11:
 
==Install libraries==
 
==Install libraries==
  
You need a couple of libraries installed for everything to work correctly. Some of these are available as packages in most distros but others need to be downloaded.
+
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 up you'll need the following:
 +
* cppunit
 +
* uuid or ossp uuid
 +
* pkg-config
 +
* curses
  
First up we'll need '''microhttpd''' for the embedded web server (Note: you'll need version >= 0.4.0):
 
 
 
-> [ftp://ftp.gnu.org/gnu/libmicrohttpd/ ftp://ftp.gnu.org/gnu/libmicrohttpd/]
 
 
 
Then you will need '''libcppunit-dev''' and '''libcppunit'''.
 
  
Debian users can install them with apt:
+
Debian/Ubuntu users can install them with apt:
  
 
   apt-get install libcppunit-dev libcppunit-1.12-1 uuid-dev pkg-config libncurses5-dev
 
   apt-get install libcppunit-dev libcppunit-1.12-1 uuid-dev pkg-config libncurses5-dev
  
  
Next, you need the '''Protocol Buffers''' from Google (BSD license). Most likely, you will need to download and build them yourself:
+
Next, you need '''Protocol Buffers''' [http://code.google.com/p/protobuf/ http://code.google.com/p/protobuf/] version 2.1.0 or above from Google (BSD license). Most likely, you'll need to download and build them yourself.
 
 
-> [http://code.google.com/p/protobuf/ http://code.google.com/p/protobuf/]
 
  
 
Debian (and Ubuntu) users can, in some cases, use the following packets (not yet in stable):
 
Debian (and Ubuntu) users can, in some cases, use the following packets (not yet in stable):
 
libprotobuf2 (libprotobuf3), libprotobuf-dev, protobuf-compiler
 
libprotobuf2 (libprotobuf3), libprotobuf-dev, protobuf-compiler
For OLA 0.6.0, protoc v. 2.1.0 or higher is required.
 
  
  
Then, build '''CTemplate''' (another Google goodie):
 
  
-> [http://code.google.com/p/google-ctemplate/ http://code.google.com/p/google-ctemplate/]
+
Finally, if you want to use the built in webserver, you'll need '''microhttpd''' and '''ctemplate'''. Note: you'll need version >= 0.4.0 of microhttpd else you will get errors:
 +
 
 +
* [ftp://ftp.gnu.org/gnu/libmicrohttpd/ ftp://ftp.gnu.org/gnu/libmicrohttpd/]
 +
* [http://code.google.com/p/google-ctemplate/ http://code.google.com/p/google-ctemplate/]
 +
 
  
Finally run ldconfig as root to pick up the new libraries
+
Once everything is installed, run ldconfig as root to pick up the new libraries
  
   ldconfig
+
   $ sudo  ldconfig
  
 
==Configure==
 
==Configure==

Revision as of 15:00, 14 March 2010

Installing OLA on Linux From GIT/Archive

This describes how to get OLA working on a Linux system.

Checkout or Download an Archive

 git clone http://www.nomis52.net/git/lla

If you don't have it yet, install git using your distro's package manager.

Install libraries

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 up you'll need the following:

  • cppunit
  • uuid or ossp uuid
  • pkg-config
  • curses


Debian/Ubuntu users can install them with apt:

 apt-get install libcppunit-dev libcppunit-1.12-1 uuid-dev pkg-config libncurses5-dev


Next, you need Protocol Buffers http://code.google.com/p/protobuf/ version 2.1.0 or above from Google (BSD license). Most likely, you'll need to download and build them yourself.

Debian (and Ubuntu) users can, in some cases, use the following packets (not yet in stable): libprotobuf2 (libprotobuf3), libprotobuf-dev, protobuf-compiler


Finally, if you want to use the built in webserver, you'll need microhttpd and ctemplate. Note: you'll need version >= 0.4.0 of microhttpd else you will get errors:


Once everything is installed, run ldconfig as root to pick up the new libraries

 $ sudo  ldconfig

Configure

If you checked out the sources from git, you'll need to run

 autoreconf -i

After that run

 ./configure

Building & Testing

Build

 make


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.

Run the tests

 make check

And install OLA

 sudo make install
 sudo ldconfig