Index: XIOS3/trunk/src/attribute_map.cpp
===================================================================
--- XIOS3/trunk/src/attribute_map.cpp	(revision 2465)
+++ XIOS3/trunk/src/attribute_map.cpp	(revision 2471)
@@ -402,5 +402,5 @@
            {
              oss << ", " << it->second->getName() << "_";
-             if (oss.tellp() - startPos > 90)
+             if ((long)oss.tellp() - startPos > 90)
              {
                oss << "  &" << iendl;
@@ -452,5 +452,5 @@
            {
              oss << ", " << it->second->getName() << "_";
-             if (oss.tellp() - startPos > 90)
+             if ((long)oss.tellp() - startPos > 90)
              {
                oss << "  &" << iendl;
@@ -502,5 +502,5 @@
            {
              oss << ", " << it->second->getName() << "_";
-             if (oss.tellp() - startPos > 90)
+             if ((long)oss.tellp() - startPos > 90)
              {
                oss << "  &" << iendl;
@@ -552,5 +552,5 @@
            {
              oss << ", " << it->second->getName();
-             if (oss.tellp() - startPos > 90)
+             if ((long)oss.tellp() - startPos > 90)
              {
                oss << "  &" << iendl;
@@ -587,5 +587,5 @@
            {
              oss << ", " << it->second->getName();
-             if (oss.tellp() - startPos > 90)
+             if ((long)oss.tellp() - startPos > 90)
              {
                oss << "  &" << iendl;
@@ -614,5 +614,5 @@
            {
              oss << ", " << it->second->getName();
-             if (oss.tellp() - startPos > 90)
+             if ((long)oss.tellp() - startPos > 90)
              {
                oss << "  &" << iendl;
@@ -649,5 +649,5 @@
            {
              oss << ", " << it->second->getName();
-             if (oss.tellp() - startPos > 90)
+             if ((long)oss.tellp() - startPos > 90)
              {
                oss << "  &" << iendl;
@@ -676,5 +676,5 @@
            {
              oss << ", " << it->second->getName();
-             if (oss.tellp() - startPos > 90)
+             if ((long)oss.tellp() - startPos > 90)
              {
                oss << "  &" << iendl;
@@ -711,5 +711,5 @@
            {
              oss << ", " << it->second->getName();
-             if (oss.tellp() - startPos > 90)
+             if ((long)oss.tellp() - startPos > 90)
              {
                oss << "  &" << iendl;
@@ -738,5 +738,5 @@
            {
              oss << ", " << it->second->getName();
-             if (oss.tellp() - startPos > 90)
+             if ((long)oss.tellp() - startPos > 90)
              {
                oss << "  &" << iendl;
@@ -776,5 +776,5 @@
            {
              oss << ", " << it->second->getName();
-             if (oss.tellp() - startPos > 90)
+             if ((long)oss.tellp() - startPos > 90)
              {
                oss << "  &" << iendl;
@@ -803,5 +803,5 @@
            {
              oss << ", " << it->second->getName();
-             if (oss.tellp() - startPos > 90)
+             if ((long)oss.tellp() - startPos > 90)
              {
                oss << "  &" << iendl;
@@ -841,5 +841,5 @@
            {
              oss << ", " << it->second->getName();
-             if (oss.tellp() - startPos > 90)
+             if ((long)oss.tellp() - startPos > 90)
              {
                oss << "  &" << iendl;
@@ -868,5 +868,5 @@
            {
              oss << ", " << it->second->getName();
-             if (oss.tellp() - startPos > 90)
+             if ((long)oss.tellp() - startPos > 90)
              {
                oss << "  &" << iendl;
@@ -906,5 +906,5 @@
            {
              oss << ", " << it->second->getName();
-             if (oss.tellp() - startPos > 90)
+             if ((long)oss.tellp() - startPos > 90)
              {
                oss << "  &" << iendl;
Index: XIOS3/trunk/src/interface/c/icdata.cpp
===================================================================
--- XIOS3/trunk/src/interface/c/icdata.cpp	(revision 2465)
+++ XIOS3/trunk/src/interface/c/icdata.cpp	(revision 2471)
@@ -66,14 +66,20 @@
       if (!cstr2string(client_id, len_client_id, str)) return;
 
-      CTimer::get("XIOS").resume();
-      CTimer::get("XIOS init").resume();
       int initialized;
       MPI_Initialized(&initialized);
-      if (initialized) local_comm=MPI_Comm_f2c(*f_local_comm);
+      if (initialized)
+      {
+        CTimer::get("XIOS").resume();
+        CTimer::get("XIOS init").resume();
+        local_comm=MPI_Comm_f2c(*f_local_comm);
+      }
       else local_comm=MPI_COMM_NULL;
       CXios::initClientSide(str, local_comm, return_comm);
       *f_return_comm=MPI_Comm_c2f(return_comm);
-      CTimer::get("XIOS init").suspend();
-      CTimer::get("XIOS").suspend();
+      if (initialized)
+      {
+        CTimer::get("XIOS init").suspend();
+        CTimer::get("XIOS").suspend();
+      }
    }
    CATCH_DUMP_STACK
Index: XIOS3/trunk/src/log_type.hpp
===================================================================
--- XIOS3/trunk/src/log_type.hpp	(revision 2465)
+++ XIOS3/trunk/src/log_type.hpp	(revision 2471)
@@ -6,4 +6,5 @@
 #include <cstdint>
 #include <unordered_map>
+#include <map>
 
 //#include "cxios.hpp"
