Index: branches/prototype-v0/zoo-project/zoo-kernel/Makefile.in
===================================================================
--- branches/prototype-v0/zoo-project/zoo-kernel/Makefile.in	(revision 898)
+++ branches/prototype-v0/zoo-project/zoo-kernel/Makefile.in	(revision 899)
@@ -9,5 +9,5 @@
 
 service.o: service.c service.h
-	gcc ${YAML_CFLAGS} ${XML2CFLAGS} ${CFLAGS} -fPIC -c service.c
+	g++ ${YAML_CFLAGS} ${XML2CFLAGS} ${CFLAGS} -fPIC -c service.c
 
 main_conf_read.tab.c: main_conf_read.y service.h
@@ -66,5 +66,5 @@
 
 service_yaml.o: service_yaml.c service.h
-	gcc ${YAML_CFLAGS} ${XML2CFLAGS} ${CFLAGS} -fPIC -c service_yaml.c
+	g++ ${YAML_CFLAGS} ${XML2CFLAGS} ${CFLAGS} -fPIC -c service_yaml.c
 
 meta_sql.o: meta_sql.c meta_sql.h service.h
Index: branches/prototype-v0/zoo-project/zoo-kernel/caching.c
===================================================================
--- branches/prototype-v0/zoo-project/zoo-kernel/caching.c	(revision 898)
+++ branches/prototype-v0/zoo-project/zoo-kernel/caching.c	(revision 899)
@@ -38,12 +38,12 @@
  */
 char* getMd5(char* url){
-  EVP_MD_CTX md5ctx;
+  EVP_MD_CTX *md5ctx=EVP_MD_CTX_create();
   char* fresult=(char*)malloc((EVP_MAX_MD_SIZE+1)*sizeof(char));
   unsigned char result[EVP_MAX_MD_SIZE];
   unsigned int len;
-  EVP_DigestInit(&md5ctx, EVP_md5());
-  EVP_DigestUpdate(&md5ctx, url, strlen(url));
-  EVP_DigestFinal_ex(&md5ctx,result,&len);
-  EVP_MD_CTX_cleanup(&md5ctx);
+  EVP_DigestInit(md5ctx, EVP_md5());
+  EVP_DigestUpdate(md5ctx, url, strlen(url));
+  EVP_DigestFinal_ex(md5ctx,result,&len);
+  EVP_MD_CTX_destroy(md5ctx);
   int i;
   for(i = 0; i < len; i++){
@@ -79,5 +79,4 @@
     EVP_DigestUpdate(md5ctx, data, bytes);
   EVP_DigestFinal_ex(md5ctx,result,&len);
-  EVP_MD_CTX_cleanup(md5ctx);
   EVP_MD_CTX_destroy(md5ctx);
   int i;
Index: branches/prototype-v0/zoo-project/zoo-kernel/response_print.h
===================================================================
--- branches/prototype-v0/zoo-project/zoo-kernel/response_print.h	(revision 898)
+++ branches/prototype-v0/zoo-project/zoo-kernel/response_print.h	(revision 899)
@@ -38,5 +38,4 @@
 
 #include <libintl.h>
-//#include <xlocale.h> //#include <xlocale> 
 #include <locale.h>
 
@@ -65,5 +64,4 @@
 #include <sys/stat.h>
 #include <sys/types.h>
-#include "cgic.h"
 #ifndef WIN32
 #include <sys/ipc.h>
@@ -97,4 +95,6 @@
 #include <libxml/parser.h>
 #include <libxml/xpath.h>
+
+#include "cgic.h"
 
 #ifdef __cplusplus
Index: branches/prototype-v0/zoo-project/zoo-kernel/service.c
===================================================================
--- branches/prototype-v0/zoo-project/zoo-kernel/service.c	(revision 898)
+++ branches/prototype-v0/zoo-project/zoo-kernel/service.c	(revision 899)
@@ -2,5 +2,5 @@
  * Author : Gérald FENOY
  *
- * Copyright (c) 2015 GeoLabs SARL
+ * Copyright (c) 2015-2019 GeoLabs SARL
  *
  * Permission is hereby granted, free of charge, to any person obtaining a copy
@@ -28,5 +28,7 @@
 #include <ctime>
 #include <chrono>
+#ifdef WIN32
 #include <process.h>
+#endif
 
 #if defined(_MSC_VER) && _MSC_VER < 1800
@@ -1784,5 +1786,5 @@
 
 	snprintf(text, msglen, "pid: %d %s line %d %s() %s systime: %lld ns ticks: %lld %s\n",
-		_getpid(), source, line, function, str, sys_t, proc_t, message); // __FILE__ __LINE__ __func__ //
+		zGetpid(), source, line, function, str, sys_t, proc_t, message); // __FILE__ __LINE__ __func__ //
 
 	if (file != NULL && (log = fopen(file, "a+")) != NULL) {
Index: branches/prototype-v0/zoo-project/zoo-kernel/service.h
===================================================================
--- branches/prototype-v0/zoo-project/zoo-kernel/service.h	(revision 898)
+++ branches/prototype-v0/zoo-project/zoo-kernel/service.h	(revision 899)
@@ -2,5 +2,5 @@
  * Author : Gérald FENOY
  *
- * Copyright (c) 2009-2015 GeoLabs SARL
+ * Copyright (c) 2009-2019 GeoLabs SARL
  *
  * Permission is hereby granted, free of charge, to any person obtaining a copy
@@ -475,6 +475,8 @@
   ZOO_DLL_EXPORT bool nonempty(map* map);
   ZOO_DLL_EXPORT bool hasvalue(maps* source, const char* node, const char* key, map** kvp);
+#ifdef __cplusplus
   ZOO_DLL_EXPORT void setErrorMessage(maps*& conf, const char* service, WPSException exc, const char* message = NULL);
   ZOO_DLL_EXPORT void logMessage(const char* source, const char* function, int line, const char* file = NULL, const char* message = NULL);
+#endif
   #define zooLogMsg(file,message) logMessage(__FILE__, __func__, __LINE__, (file), (message)) 
   #define zooLog logMessage(__FILE__, __func__, __LINE__)  
Index: branches/prototype-v0/zoo-project/zoo-kernel/service_callback.c
===================================================================
--- branches/prototype-v0/zoo-project/zoo-kernel/service_callback.c	(revision 898)
+++ branches/prototype-v0/zoo-project/zoo-kernel/service_callback.c	(revision 899)
@@ -2,5 +2,5 @@
  * Author : Gérald FENOY
  *
- *  Copyright 2017 GeoLabs SARL. All rights reserved.
+ *  Copyright 2017-2019 GeoLabs SARL. All rights reserved.
  *
  * This work was supported by public funds received in the framework of GEOSUD,
@@ -132,5 +132,5 @@
     if(!CHECK_INET_HANDLE(hInternet)){
       InternetCloseHandle (&hInternet);
-      return false;
+      return NULL;
     }
     char *URL=(char*)malloc((strlen(arg->url->value)+5)*sizeof(char));
Index: branches/prototype-v0/zoo-project/zoo-kernel/service_internal.c
===================================================================
--- branches/prototype-v0/zoo-project/zoo-kernel/service_internal.c	(revision 898)
+++ branches/prototype-v0/zoo-project/zoo-kernel/service_internal.c	(revision 899)
@@ -929,5 +929,5 @@
  */
 char* file_exists(const char* dir, const char* name) {
-	char* d = (dir != NULL ? dir : ".");
+	const char* d = (dir != NULL ? dir : ".");
 	if (name != NULL) {
 		size_t length = strlen(d) + strlen(name) + 2; // including file separator and \0 character
Index: branches/prototype-v0/zoo-project/zoo-kernel/service_internal.h
===================================================================
--- branches/prototype-v0/zoo-project/zoo-kernel/service_internal.h	(revision 898)
+++ branches/prototype-v0/zoo-project/zoo-kernel/service_internal.h	(revision 899)
@@ -67,5 +67,4 @@
 #include <sys/stat.h>
 #include <sys/types.h>
-#include "cgic.h"
 #ifndef WIN32
 #include <sys/ipc.h>
Index: branches/prototype-v0/zoo-project/zoo-kernel/service_internal_hpc.c
===================================================================
--- branches/prototype-v0/zoo-project/zoo-kernel/service_internal_hpc.c	(revision 898)
+++ branches/prototype-v0/zoo-project/zoo-kernel/service_internal_hpc.c	(revision 899)
@@ -34,4 +34,5 @@
 #include "mimetypes.h"
 #include <sys/un.h>
+#include "cgic.h"
 
 typedef struct {
Index: branches/prototype-v0/zoo-project/zoo-kernel/service_internal_hpc.h
===================================================================
--- branches/prototype-v0/zoo-project/zoo-kernel/service_internal_hpc.h	(revision 898)
+++ branches/prototype-v0/zoo-project/zoo-kernel/service_internal_hpc.h	(revision 899)
@@ -34,5 +34,4 @@
 #include "service_internal.h"
 #include "service.h"
-#include "cgic.h"
 #ifdef WIN32
 #include <windows.h>
Index: branches/prototype-v0/zoo-project/zoo-kernel/service_internal_python.h
===================================================================
--- branches/prototype-v0/zoo-project/zoo-kernel/service_internal_python.h	(revision 898)
+++ branches/prototype-v0/zoo-project/zoo-kernel/service_internal_python.h	(revision 899)
@@ -2,5 +2,5 @@
  * Author : Gérald FENOY
  *
- * Copyright (c) 2009-2010 GeoLabs SARL
+ * Copyright (c) 2009-2019 GeoLabs SARL
  *
  * Permission is hereby granted, free of charge, to any person obtaining a copy
@@ -31,9 +31,9 @@
 #include "response_print.h"
 #include <Python.h>
-#include "cgic.h"
 #ifdef WIN32
 #include <windows.h>
 #include <direct.h>
 #endif
+#include "cgic.h"
 
 PyDictObject* PyDict_FromMaps(maps* t);
Index: branches/prototype-v0/zoo-project/zoo-kernel/ulinet.c
===================================================================
--- branches/prototype-v0/zoo-project/zoo-kernel/ulinet.c	(revision 898)
+++ branches/prototype-v0/zoo-project/zoo-kernel/ulinet.c	(revision 899)
@@ -4,5 +4,5 @@
  * Author : Gérald FENOY
  *
- * Copyright (c) 2008-2015 GeoLabs SARL
+ * Copyright (c) 2008-2019 GeoLabs SARL
  *
  * Permission is hereby granted, free of charge, to any person obtaining a copy
@@ -32,4 +32,5 @@
 #include <assert.h>
 #include <ctype.h>
+#include "fcgi_stdio.h"
 
 /**
Index: branches/prototype-v0/zoo-project/zoo-kernel/ulinet.h
===================================================================
--- branches/prototype-v0/zoo-project/zoo-kernel/ulinet.h	(revision 898)
+++ branches/prototype-v0/zoo-project/zoo-kernel/ulinet.h	(revision 899)
@@ -2,5 +2,5 @@
  * Author : Gérald FENOY
  *
- *  Copyright 2008-2009 GeoLabs SARL. All rights reserved.
+ *  Copyright 2008-2019 GeoLabs SARL. All rights reserved.
  *
  * Permission is hereby granted, free of charge, to any person obtaining a copy
@@ -26,5 +26,4 @@
 #define _ULINET_H
 
-#include "fcgi_stdio.h"
 #include <stdlib.h>
 #include <fcntl.h>
