InstallingLuabind

Version 5 (tnxgalaxy, 06/01/2010 03:51 pm)

1 2 rti
h1. Installing Luabind on Linux, Mac OS X, ...
2 1 rti
3 1 rti
Since luabind is not available from macports (I think certain Linux Distributions do not provide it too), here the short summary how to install luabind on a Unix like system :)
4 1 rti
5 4 tnxgalaxy
h2. Installing lua
6 1 rti
7 1 rti
To build luabind, you need liblua. Install it, for example on a Mac using macports:
8 1 rti
<pre>
9 1 rti
sudo port install lua
10 1 rti
</pre>
11 4 tnxgalaxy
On Ubuntu 10.04:
12 4 tnxgalaxy
<pre>
13 4 tnxgalaxy
sudo apt-get install liblua5.1-0-dev
14 4 tnxgalaxy
</pre>
15 1 rti
16 1 rti
h2. Getting the source
17 1 rti
18 1 rti
While writing this, the most current version is 0.9. Get it!
19 4 tnxgalaxy
On Mac OS X:
20 1 rti
<pre>
21 4 tnxgalaxy
curl -O http://sunet.dl.sourceforge.net/project/luabind/luabind/0.9/luabind-0.9.tar.gz
22 4 tnxgalaxy
</pre>
23 4 tnxgalaxy
24 4 tnxgalaxy
On Linux:
25 4 tnxgalaxy
<pre>
26 1 rti
wget http://sunet.dl.sourceforge.net/project/luabind/luabind/0.9/luabind-0.9.tar.gz
27 1 rti
</pre>
28 1 rti
29 1 rti
h2. Extract the source
30 1 rti
31 1 rti
<pre>
32 1 rti
tar zxf luabind-0.9.tar.gz
33 1 rti
</pre>
34 1 rti
35 4 tnxgalaxy
h2. Building and installing
36 1 rti
37 5 tnxgalaxy
h3. On Ubuntu 10.04:
38 1 rti
39 4 tnxgalaxy
install boost build:
40 4 tnxgalaxy
<pre>
41 4 tnxgalaxy
sudo apt-get install boost-build libboost1.40-dev
42 4 tnxgalaxy
</pre>
43 4 tnxgalaxy
44 4 tnxgalaxy
and compile / install with the following command:
45 4 tnxgalaxy
<pre>
46 4 tnxgalaxy
sudo bjam --prefix=/usr/local install
47 4 tnxgalaxy
</pre>
48 1 rti
49 5 tnxgalaxy
h3. On Mac OS X:
50 5 tnxgalaxy
51 5 tnxgalaxy
Bjam might be annoying and complicated, use this small build script. Put it in the luabind root directory.
52 4 tnxgalaxy
53 1 rti
This script is configured for a Mac OS X having lua and boost installed in /opt/local (using macports).
54 1 rti
Please adjust LUA_INCLUDE_DIR, LUA_LIBRARY_DIR and LIB_EXTENSION if you have a different setup.
55 1 rti
<pre>
56 1 rti
#!/bin/sh
57 1 rti
58 1 rti
LUA_INCLUDE_DIR=/opt/local/include
59 1 rti
LUA_LIBRARY_DIR=/opt/local/lib
60 1 rti
LIB_EXTENSION=dylib
61 1 rti
62 1 rti
rm -rf build
63 1 rti
mkdir -p build/src
64 1 rti
65 1 rti
for i in src/*.cpp
66 1 rti
do 
67 1 rti
	gcc -I$LUA_INCLUDE_DIR -I. -fPIC -c $i -o build/$i.o
68 1 rti
done
69 1 rti
70 1 rti
gcc -shared -o build/libluabind.$LIB_EXTENSION build/src/*.o \
71 1 rti
	-L$LUA_LIBRARY_DIR -lstdc++ -llua
72 1 rti
</pre>
73 1 rti
74 1 rti
To install the thing, just copy lib and header into the preferred path. For example:
75 1 rti
76 1 rti
<pre>
77 1 rti
sudo cp -r luabind /usr/local/include
78 1 rti
sudo cp build/libluabind.* /usr/local/lib
79 1 rti
</pre>
80 1 rti
81 1 rti
h2. Thats all
82 1 rti
83 1 rti
Hope that works for you. 
84 1 rti
Have fun!