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 OS X"

From wiki.openlighting.org

Jump to: navigation, search
(Optionally install microhttpd and ctemplate)
(Optionally install microhttpd and ctemplate)
Line 25: Line 25:
 
* http://www.gnu.org/software/libmicrohttpd/ (Currently you need to install libgcrypt too for this library to work)
 
* http://www.gnu.org/software/libmicrohttpd/ (Currently you need to install libgcrypt too for this library to work)
 
  sudo port install libgcrypt
 
  sudo port install libgcrypt
or you can disable https support (which should work with LLA just fine) by running "./configure --enable-https=no" in libmicrohttpd and then hacking LIBGCRYPT out of configure.ac before running autoconf -fi and deleting all the https references from the Makefile. I'm not putting this in great detail because you should know what that means in order to try it.
+
or you can disable https support (which should work with LLA just fine) by adding "AC_DEFUN([AM_PATH_LIBGCRYPT],[:])" to configure.ac BEFORE running "autoreconf -fi" and then configuring libmicrohttpd without https support - "./configure --enable-https=no", deleting lines 242-247 from 'src/daemon/Makefile' because of a bug in the config script and deleting "MHD_get_connection_info" from 'src/daemon/EXPORT.sym' for the same reason.
 
* http://code.google.com/p/google-ctemplate/
 
* http://code.google.com/p/google-ctemplate/
  
* Make sure both of these are made AND installed before running ./configure on LLA otherwise it will not detect the libraries and ignore all the HTTP server code
+
* Make sure both of these are made AND installed before running "./configure" on LLA otherwise it will not detect the libraries and ignore all the HTTP server code
  
 
== Run autoreconf==
 
== Run autoreconf==

Revision as of 16:10, 9 February 2009

This page describes how to get LLA 0.3 working on OS X.

Basic setup

  • Install xcode [[1]]
  • install git [[2]]
  • install mac ports [[3]]

Use Mac Ports to install stuff

$ port install pkgconfig protobuf-cpp cppunit unittest-cpp

Set some env vars

set $PATH to point to something sane (you should also make sure you point it at your ctemplate and libmicrohttpd)

export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
export CPPFLAGS="-I/opt/local/var/macports/software/protobuf-cpp/2.0.3_0/opt/local/include/"
export LDFLAGS="-L/opt/local/var/macports/software/protobuf-cpp/2.0.3_0/opt/local/lib/"

Optionally install microhttpd and ctemplate

If you want the http interface you need these

sudo port install libgcrypt

or you can disable https support (which should work with LLA just fine) by adding "AC_DEFUN([AM_PATH_LIBGCRYPT],[:])" to configure.ac BEFORE running "autoreconf -fi" and then configuring libmicrohttpd without https support - "./configure --enable-https=no", deleting lines 242-247 from 'src/daemon/Makefile' because of a bug in the config script and deleting "MHD_get_connection_info" from 'src/daemon/EXPORT.sym' for the same reason.

  • Make sure both of these are made AND installed before running "./configure" on LLA otherwise it will not detect the libraries and ignore all the HTTP server code

Run autoreconf

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

autoconf -i

Do the usual steps

./configure
make
make check
sudo make install

Note: On Mac I had to add #include <sys/socket.h> to 'include/lla/ExportMap.h' and 'llad/HttpServer.h' before the line #include <microhttpd.h> otherwise it would not know about socklen_t