This was tested on master OpenSRF @ba3ca05, OS X Lion
You need to install XCode and MacPorts.
In MacPorts install something like the following ports:
apache2 @2.2.19_0+preforkmpm+universal (active) platform='darwin 11' archs='i386 x86_64' apr @1.4.5_1+universal (active) platform='darwin 11' archs='i386 x86_64' ejabberd @2.1.8_0 (active) platform='darwin 11' archs='x86_64' libmemcached @0.43_0+dtrace+universal (active) platform='darwin 11' archs='i386 x86_64' libxml2 @2.7.8_0+universal (active) platform='darwin 11' archs='i386 x86_64' memcached @1.4.5_1+universal (active) platform='darwin 11' archs='i386 x86_64' p5-cache-memcached @1.29_0 (active) platform='darwin 11' archs='noarch' p5-datetime-format-iso8601 @0.07_0+universal (active) platform='darwin 11' archs='i386 x86_64' p5-dbi @1.616_1+universal (active) platform='darwin 11' archs='i386 x86_64' p5-error @0.17016_1 (active) platform='darwin 11' archs='noarch' p5-json-xs @2.23_1+universal (active) platform='darwin 11' archs='i386 x86_64' p5-net-server @0.99_1 (active) platform='darwin 11' archs='noarch' p5-universal-require @0.13_1 (active) platform='darwin 11' archs='noarch' p5-unix-syslog @1.1_1+universal (active) platform='darwin 11' archs='i386 x86_64' p5-xml-libxml @1.84_0+universal (active) platform='darwin 11' archs='i386 x86_64' perl5.12 @5.12.3_1+universal (active) platform='darwin 11' archs='i386 x86_64' pkgconfig @0.26_0+universal (active) platform='darwin 11' archs='i386 x86_64'
Do something like this:
git clone git://git.evergreen-ils.org/OpenSRF.git cd OpenSRF
You need to do this to src/c-apps/timejson.c
diff --git a/src/c-apps/timejson.c b/src/c-apps/timejson.c index c0ab46e..2cafa4b 100644 --- a/src/c-apps/timejson.c +++ b/src/c-apps/timejson.c @@ -5,7 +5,6 @@ #include <time.h> #include <sys/time.h> #include <sys/resource.h> -#include <malloc.h> #include "opensrf/utils.h" #include "opensrf/osrf_json.h"
Then do this or something:
./autogen.sh ./configure --with-apxs=/opt/local/apache2/bin/apxs --with-libraries=/opt/local/lib:/usr/lib --with-includes=/opt/local/include/ --with-apache=/opt/local/include --with-apr=/opt/local/include/apr-1/ --with-libxml=/opt/local/include/libxml2 make sudo make install
You need to do this at some point and it needs to be done each time you reboot before you start Ejabberd, if you want to run OpenSRF:
sudo ifconfig lo0 alias 127.0.1.2 sudo ifconfig lo0 alias 127.0.1.3
Be sure to add the usual stuff to /etc/hosts and ejabberdcfg
Add an OpenSRF user via the normal "System Preferences" way
# run this before starting OpenSRF
export DYLD_LIBRARY_PATH=/opensrf