diff --git a/profiling/common/src/NetworkSockets.cpp b/profiling/common/src/NetworkSockets.cpp
index 1e1f701..b41cbac 100644
--- a/profiling/common/src/NetworkSockets.cpp
+++ b/profiling/common/src/NetworkSockets.cpp
@@ -8,6 +8,8 @@
 #if defined(__unix__)
 #include <unistd.h>
 #include <fcntl.h>
+#include <armnn/Conversion.hpp>
+
 #endif
 
 namespace armnnUtils
@@ -68,10 +70,10 @@
 
 int Ioctl(Socket s, unsigned long int cmd, void* arg)
 {
-#if defined(__ANDROID__)
+#if defined(__unix__)
+    ARMNN_NO_CONVERSION_WARN_BEGIN
     return ioctl(s, static_cast<int>(cmd), arg);
-#elif defined(__unix__)
-    return ioctl(s, cmd, arg);
+    ARMNN_NO_CONVERSION_WARN_END
 #elif defined(_MSC_VER)
     return ioctlsocket(s, cmd, static_cast<u_long*>(arg));
 #endif
diff --git a/profiling/server/src/basePipeServer/BasePipeServer.cpp b/profiling/server/src/basePipeServer/BasePipeServer.cpp
index 7e8789a..ed5c442 100644
--- a/profiling/server/src/basePipeServer/BasePipeServer.cpp
+++ b/profiling/server/src/basePipeServer/BasePipeServer.cpp
@@ -11,6 +11,7 @@
 #include <boost/cast.hpp>
 #include <vector>
 #include <iomanip>
+#include <string.h>
 
 using namespace armnnUtils;
 
diff --git a/profiling/server/src/basePipeServer/ConnectionHandler.cpp b/profiling/server/src/basePipeServer/ConnectionHandler.cpp
index 69ccd01..1485ab8 100644
--- a/profiling/server/src/basePipeServer/ConnectionHandler.cpp
+++ b/profiling/server/src/basePipeServer/ConnectionHandler.cpp
@@ -4,6 +4,8 @@
 //
 #include "ConnectionHandler.hpp"
 
+#include <string.h>
+
 using namespace armnnUtils;
 
 namespace armnnProfiling
diff --git a/src/armnnTfParser/test/Gather.cpp b/src/armnnTfParser/test/Gather.cpp
index a6c20fd..8c4b891 100644
--- a/src/armnnTfParser/test/Gather.cpp
+++ b/src/armnnTfParser/test/Gather.cpp
@@ -15,7 +15,7 @@
 namespace {
 // helper for setting the dimensions in prototxt
 void dimsHelper(const std::vector<int>& dims, std::string& text){
-    for(u_int i = 0; i < dims.size(); ++i) {
+    for(unsigned int i = 0; i < dims.size(); ++i) {
         text.append(R"(dim {
       size: )");
         text.append(std::to_string(dims[i]));
diff --git a/src/armnnTfParser/test/StridedSlice.cpp b/src/armnnTfParser/test/StridedSlice.cpp
index 89faf75..340f3a4 100644
--- a/src/armnnTfParser/test/StridedSlice.cpp
+++ b/src/armnnTfParser/test/StridedSlice.cpp
@@ -15,7 +15,7 @@
 namespace {
 // helper for setting the dimensions in prototxt
 void shapeHelper(const armnn::TensorShape& shape, std::string& text){
-    for(u_int i = 0; i < shape.GetNumDimensions(); ++i) {
+    for(unsigned int i = 0; i < shape.GetNumDimensions(); ++i) {
         text.append(R"(dim {
       size: )");
         text.append(std::to_string(shape[i]));
diff --git a/tests/DeepSpeechV1Database.hpp b/tests/DeepSpeechV1Database.hpp
index 85654b6..fa7dda0 100644
--- a/tests/DeepSpeechV1Database.hpp
+++ b/tests/DeepSpeechV1Database.hpp
@@ -81,7 +81,7 @@
                                    [&quantizationScale, &quantizationOffset](const std::string & s)
                                    {
                                        return boost::numeric_cast<uint8_t>(
-                                               armnn::Quantize<u_int8_t>(std::stof(s),
+                                               armnn::Quantize<uint8_t>(std::stof(s),
                                                                          quantizationScale,
                                                                          quantizationOffset));
                                    });
