diff --git a/.gitignore b/.gitignore
index 59a87a9665eaddbc66268b9ee5257dca7ec18702..d4905ae9915b00413710464de2f131695a59e5fa 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,5 +1,6 @@
 .DS_Store
 */generatedsrc
+*/*/generatedsrc
 */build
 */*/build
 */lib
@@ -18,4 +19,6 @@ Session.vim
 **/manifest.mf
 **/**/manifest.mf
 **/*.*~
+deps
+dist
 
diff --git a/ipaacalib/cpp/CMakeLists.txt b/ipaacalib/cpp/CMakeLists.txt
index 18727d7189b37c3555ee76ca6ac2d1bb075c1fd1..ba3a102a656772ccebc65ac8d8496efcd68c9676 100644
--- a/ipaacalib/cpp/CMakeLists.txt
+++ b/ipaacalib/cpp/CMakeLists.txt
@@ -25,6 +25,10 @@ set(RSBLIBS rsc rsbcore)
 #set(LIBS ${LIBS} ${PROTOLIBS} ${RSBLIBS})
 set(LIBS ${LIBS} ${PROTOBUF_LIBRARY} ${Boost_LIBRARIES} ${RSBLIBS})
 
+if (NOT DEFINED APPLE)
+	set(LIBS ${LIBS} uuid)
+endif(NOT DEFINED APPLE)
+
 # enhance the default search paths (headers, libs ...)
 set(CMAKE_PREFIX_PATH ${PROJECT_SOURCE_DIR}:/opt/local:${CMAKE_PREFIX_PATH})
 
diff --git a/ipaacalib/cpp/src/ipaaca.cc b/ipaacalib/cpp/src/ipaaca.cc
index ee4c9ba6921051a4aa466bd27ff132ea4a93d231..855acd3722d0e8eeb57d081666de1d87b8c98711 100644
--- a/ipaacalib/cpp/src/ipaaca.cc
+++ b/ipaacalib/cpp/src/ipaaca.cc
@@ -43,10 +43,16 @@ void Initializer::initialize_ipaaca_rsb_if_needed()
 std::string generate_uuid_string()
 {
 	uuid_t uuidt;
-	uuid_string_t uuidstr;
 	uuid_generate(uuidt);
+#ifdef __MACOSX__
+	uuid_string_t uuidstr;
 	uuid_unparse_lower(uuidt, uuidstr);
 	return uuidstr;
+#else
+	char result_c[37];
+	uuid_unparse_lower(uuidt, result_c);
+	return result_c;
+#endif
 }
 
 /*
diff --git a/ipaacalib/python/build.properties b/ipaacalib/python/build.properties
index f8d6c6b68367fdb3125b0f6343f73b72a8f417bb..0ff94232f59833c87c3a0951afb16be9409b3a40 100644
--- a/ipaacalib/python/build.properties
+++ b/ipaacalib/python/build.properties
@@ -6,4 +6,5 @@ pyzip.excludes=
 run.py=run.py
 publish.resolver=soa.core.repository
 dist.dir=../../dist
+extra.python.path=/vol/soa/opt64/python-spread/current/lib/python2.7/site-packages
 
diff --git a/ipaacatools/scripts/start-spread-local b/ipaacatools/scripts/start-spread-local
index 0e72630df45743ec89865896fdb07b5ade1ea0f2..5b79d103a093389a2e3581a091d61728e321f0bb 100755
--- a/ipaacatools/scripts/start-spread-local
+++ b/ipaacatools/scripts/start-spread-local
@@ -1,4 +1,10 @@
 #!/bin/bash
-echo "Starting local-only spread daemon for ipaaca ..."
-spread -n localhost &
+if [ -d /vol/soa/opt64/spread ]; then
+	echo "Starting local-only spread daemon for ipaaca (from soa volume) ..."
+	LD_LIBRARY_PATH=/vol/soa/opt64/spread/current/lib
+	/vol/soa/opt64/spread/current/sbin/spread -n localhost &
+else
+	echo "Starting local-only spread daemon for ipaaca ..."
+	spread -n localhost &
+fi