(no commit message)
[devwiki.git] / building_client_software_for_mac_os.mdwn
1 ###Introduction
2
3 This page contains notes on how to build and install the software necessary to run Moonshot clients on a computer running Max OS X 10.6 Snow Leopard and 10.7 Lion.
4
5 It also contains instructions for creating an installer package allowing the Moonshot software to be installed on other machines running Mac OS X.
6
7 There are three components that need to be built and installed:
8 1: the Cyrus SASL2 library, along with the SASL GS2 Library which implements the GS2 GSS-API->SASL bridge mechanism.
9 2: the Moonshot GSS EAP library, implements the EAP mechanism for use by the GSS API. This library depends on having a recent version of Kerberos. Mac OS X ships with Kerberos 5 release 1.7-prerelease which is not recent enough. So. for the installer at least, we will get and build the latest stable release (1.9.2) from [MIT](from http://web.mit.edu/kerberos/dist/index.html).
10 3: the Moonshot Identity Selector/Manager software which... 
11 ToDo: Complete this section
12
13
14 ###Getting the Moonshot source code 
15
16 Follow the instructions at http://www.project-moonshot.org/developers/repository, cloning  the repo in $HOME
17
18 Working in $HOME/moonshot/mac-client-installer
19
20 ###Building the Cyrus SASL2 library
21
22     $ cd $HOME/moonshot/cyrus_sasl
23     $ ./autogen.sh 
24
25 You will see the following message
26
27     configure.in:14 error: possibly undefined macro: AC_DEFINE
28     If this token and others are legitimate, please use m4_pattern_allow.
29     See the Autoconf documentation
30
31     $ ./configure
32     $ make
33
34 To install to /usr/local in your build machine
35
36     $ sudo make install
37
38 Create the link from /usr/lib/sasl2 (where the library looks for the plugins)->/usr/local/lib/sasl2 (where the plugins will be installed)
39
40     $ cd sasl/usr/lib
41     $ ln -fs   ../local/lib/sasl2 
42
43 Or, if you are making the installer
44
45     $ make install DESTDIR=$HOME/moonshot/mac-client-installer/sasl
46
47 Create the link from /usr/lib/sasl2 (where the library looks for the plugins)->/usr/local/lib/sasl2 (where the plugins will be installed)
48
49     $ mkdir sasl/usr/lib
50     $ cd sasl/usr/lib
51     $ ln -fs   ../local/lib/sasl2 
52     $ cd ../../..
53     $ cd ~/installerbuild
54
55 The files and directories that are installed are as listed in README.saslInstalledFiles
56
57 ###Building the downloaded Kerberos
58
59 Unpack the file to $HOME/krbbuild
60
61     $ cd $HOME/krbbuild/krb5-1.9.2-signed/krb5-1.9.2/src
62     $ ./configure
63     $ make
64
65 To install to /usr/local in your build machine
66
67     $ sudo make install
68
69 Or, if you are making the installer
70     $ make install DESTDIR=$HOME/moonshot/mac-client-installer/krb
71
72 ###Building the Moonshot GSS EAP library
73
74     $ cd $HOME/moonshot/moonshot
75     $ ./autogen.sh
76     $ ./configure --enable-acceptor=no 
77
78 You will see the following warnings
79
80     configure: WARNING:
81     ----------------------------------------------------------------------
82     Cannot find OpenSAML libraries, building without OpenSAML support.
83     Please install OpenSAML or specify installation directory with
84     --with-opensaml=(dir).
85     ----------------------------------------------------------------------
86
87     configure: WARNING:
88     ----------------------------------------------------------------------
89     Cannot find Shibboleth resolver libraries, building without
90     Shibboleth support.
91     Please install Shibboleth or specify installation directory with
92       --with-shibresolver=(dir).
93     ----------------------------------------------------------------------
94
95     $ make
96     $ cd mech_eap
97     $ sudo make install
98     $ libtool --finish /usr/local/lib/gss
99
100 Or, if you are making the installer
101
102     $ ./configure --enable-acceptor=no --with-krb5=$HOME/moonshot/mac-client-installer/krb/usr/local
103     $ make
104
105 We only need to install the mech_eap library
106
107     $ cd mech_eap
108     $ make install DESTDIR=$HOME/moonshot/mac-client-installer/krb
109
110 The files and directories that are installed are as listed in README.KrbInstalledFiles