Index: trunk/zoo-kernel/Makefile.in
===================================================================
--- trunk/zoo-kernel/Makefile.in	(revision 283)
+++ trunk/zoo-kernel/Makefile.in	(revision 284)
@@ -2,5 +2,5 @@
 ifeq ($(OS),Darwin)
 	MACOS_LD_FLAGS=-lintl -framework SystemConfiguration -framework CoreFoundation
-	MACOS_CFLAGS=-arch i386 -arch ppc -arch x86_64
+	MACOS_CFLAGS=-arch $(shell uname -m)
 endif
 
Index: trunk/zoo-kernel/ZOOMakefile.opts.in
===================================================================
--- trunk/zoo-kernel/ZOOMakefile.opts.in	(revision 284)
+++ trunk/zoo-kernel/ZOOMakefile.opts.in	(revision 284)
@@ -0,0 +1,25 @@
+OS:=$(shell uname -s)
+ifeq ($(OS),Darwin)
+	MACOS_LD_FLAGS=-lintl
+	MACOS_LD_NET_FLAGS=-framework SystemConfiguration -framework CoreFoundation
+	MACOS_CFLAGS=-arch $(shell uname -m)
+endif
+
+GDAL_CFLAGS=@GDAL_CFLAGS@
+GDAL_LIBS=@GDAL_LIBS@
+
+XML2CFLAGS=@XML2_CPPFLAGS@
+XML2LDFLAGS=@XML2_LDFLAGS@
+
+PYTHONCFLAGS=@PYTHON_CPPFLAGS@
+PYTHONLDFLAGS=@PYTHON_LDFLAGS@
+
+JS_ENABLED=@JS_ENABLED@
+JSCFLAGS=@JS_CPPFLAGS@
+JSLDFLAGS=@JS_LDFLAGS@
+ifeq ($(JS_ENABLED),-DUSE_JS)
+     JS_LDFLAGS=${ZRPATH}/zoo-kernel/ulinet.o ${ZRPATH}/zoo-kernel/service_internal_js.o -lcurl 
+endif
+
+ZOO_CFLAGS=-I${ZRPATH}/thirds/cgic206/ -I${ZRPATH}/zoo-kernel/
+ZOO_LDFLAGS=-lcrypto
Index: trunk/zoo-kernel/configure.ac
===================================================================
--- trunk/zoo-kernel/configure.ac	(revision 283)
+++ trunk/zoo-kernel/configure.ac	(revision 284)
@@ -122,4 +122,8 @@
 	[PYTHON_PATH="$withval"; PYTHON_ENABLED="-DUSE_PYTHON"], [PYTHON_ENABLED=""])
 
+AC_ARG_WITH([python-version], 
+	[AS_HELP_STRING([--with-python-version=NUMBER], [To enable python support using a speficific version of python])], 
+	[PYTHON_VERS="$withval"], [PYTHON_VERS=""])
+
 
 if test -z "$PYTHON_ENABLED"
@@ -127,12 +131,12 @@
 	PYTHON_FILE=""
 else
-	PYTHONCONFIG="$PYTHON_PATH/bin/python-config"
+	PYTHONCONFIG="$PYTHON_PATH/bin/python${PYTHON_VERS}-config"
 	PYTHON_FILE="service_internal_python.o"
 	if test  "$PYTHON_PATH" = "yes"
 	then
 		# PHP was not specified, so search within the current path
-		AC_PATH_PROG([PYTHONCONFIG], [python-config])
-	else
-		PYTHONCONFIG="$PYTHON_PATH/bin/python-config"
+		AC_PATH_PROG([PYTHONCONFIG], [python${PYTHON_VERS}-config])
+	else
+		PYTHONCONFIG="$PYTHON_PATH/bin/python${PYTHON_VERS}-config"
 	fi
 
@@ -366,4 +370,4 @@
 
 AC_CONFIG_FILES([Makefile])
-#AC_CONFIG_FILES([ZOOMakefile.opts])
+AC_CONFIG_FILES([ZOOMakefile.opts])
 AC_OUTPUT
Index: trunk/zoo-kernel/service.h
===================================================================
--- trunk/zoo-kernel/service.h	(revision 283)
+++ trunk/zoo-kernel/service.h	(revision 284)
@@ -502,5 +502,8 @@
     map* tmpMap=getMap(tmp,key);
     if(tmpMap==NULL){
-      addToMap(tmp,key,value);
+      if(tmp!=NULL)
+	addToMap(tmp,key,value);
+      else
+	tmp=createMap(key,value);
       tmpMap=getMap(tmp,key);
     }
Index: trunk/zoo-kernel/service_internal.c
===================================================================
--- trunk/zoo-kernel/service_internal.c	(revision 283)
+++ trunk/zoo-kernel/service_internal.c	(revision 284)
@@ -1117,6 +1117,4 @@
       if(hasDefault!=true && strncmp(type,"Input",5)==0)
 	xmlAddChild(nc3,xmlNewNode(ns_ows, BAD_CAST "AnyValue"));
-      xmlFreeNodeList(nc5);
-      xmlFreeNodeList(nc4);
     }
     
@@ -2416,2 +2414,11 @@
 }
 
+int errorException(maps *m, const char *message, const char *errorcode) 
+{
+  map* errormap = createMap("text", message);
+  addToMap(errormap,"code", errorcode);
+  printExceptionReportResponse(m,errormap);
+  freeMap(&errormap);
+  free(errormap);
+  return -1;
+}
Index: trunk/zoo-kernel/service_internal.h
===================================================================
--- trunk/zoo-kernel/service_internal.h	(revision 283)
+++ trunk/zoo-kernel/service_internal.h	(revision 284)
@@ -121,5 +121,4 @@
   char* addDefaultValues(maps**,elements*,maps*,int);
 
-  /*defined in zoo_loader.c*/ 
   int errorException(maps *m, const char *message, const char *errorcode);
 
Index: trunk/zoo-kernel/zoo_loader.c
===================================================================
--- trunk/zoo-kernel/zoo_loader.c	(revision 283)
+++ trunk/zoo-kernel/zoo_loader.c	(revision 284)
@@ -54,19 +54,4 @@
 
 using namespace std;
-
-/* ************************************************************************* */
-
-int errorException(maps *m, const char *message, const char *errorcode) 
-{
-  map* errormap = createMap("text", message);
-  addToMap(errormap,"code", errorcode);
-  printExceptionReportResponse(m,errormap);
-  freeMap(&errormap);
-  free(errormap);
-  return -1;
-}
-
-/* ************************************************************************* */
-
 
 #define TRUE 1
