diff --git a/src/include/async_io.hh b/src/include/async_io.hh
index 8f71234..97d0896 100644
--- a/src/include/async_io.hh
+++ b/src/include/async_io.hh
@@ -18,6 +18,7 @@
 #ifndef ASYNC_IO_HH
 #define ASYNC_IO_HH 1
 
+#include <cstdio>
 #include <memory>
 #include <unistd.h>
 
diff --git a/src/include/cnode.hh b/src/include/cnode.hh
index 5f49125..63879f6 100644
--- a/src/include/cnode.hh
+++ b/src/include/cnode.hh
@@ -22,6 +22,7 @@
 #include <string>
 #include <vector>
 #include <assert.h>
+#include <cstdio>
 
 #include "cnode-result.hh"
 #include "rule.hh"
diff --git a/src/include/leak-checker.hh b/src/include/leak-checker.hh
index 4f817ef..0b6bb4a 100644
--- a/src/include/leak-checker.hh
+++ b/src/include/leak-checker.hh
@@ -18,6 +18,7 @@
 #ifndef LEAK_CHECKER_HH
 #define LEAK_CHECKER_HH 1
 
+#include <cstdio>
 #include <sys/types.h>
 
 namespace vigil {
diff --git a/src/include/netinet++/datapathid.hh b/src/include/netinet++/datapathid.hh
index 759d40e..fcae0f7 100644
--- a/src/include/netinet++/datapathid.hh
+++ b/src/include/netinet++/datapathid.hh
@@ -20,6 +20,7 @@
 
 #include <inttypes.h>
 #include <string>
+#include <cstdio>
 
 #include "hash_map.hh" // hash fn defined at end of file
 #include "xtoxll.h"
diff --git a/src/include/netinet++/ethernetaddr.hh b/src/include/netinet++/ethernetaddr.hh
index 64fb774..42dda30 100644
--- a/src/include/netinet++/ethernetaddr.hh
+++ b/src/include/netinet++/ethernetaddr.hh
@@ -39,6 +39,7 @@
 #ifndef ETHERNETADDR_HH
 #define ETHERNETADDR_HH
 
+#include <cstdio>
 #include "config.h"
 #include <stdexcept>
 #include <ostream>
diff --git a/src/include/rule.hh b/src/include/rule.hh
index 179e83f..f50ce2f 100644
--- a/src/include/rule.hh
+++ b/src/include/rule.hh
@@ -18,6 +18,8 @@
 #ifndef  RULE_HH
 #define  RULE_HH
 
+#include <stdint.h>
+#include <cstdio>
 #include <boost/function.hpp>
 #include <boost/shared_ptr.hpp>
 
diff --git a/src/include/string.hh b/src/include/string.hh
index 7b216b3..e32a4d8 100644
--- a/src/include/string.hh
+++ b/src/include/string.hh
@@ -19,6 +19,7 @@
 #define STRING_HH 1
 
 #include <stdarg.h>
+#include <cstdio>
 #include <string>
 
 namespace vigil {
diff --git a/src/include/threads/cooperative.hh b/src/include/threads/cooperative.hh
index 4d52ce8..73d90b8 100644
--- a/src/include/threads/cooperative.hh
+++ b/src/include/threads/cooperative.hh
@@ -26,6 +26,7 @@
 #define THREADS_COOPERATIVE_HH 1
 
 #include <assert.h>
+#include <stdint.h>
 #include <boost/noncopyable.hpp>
 #include "threads/task.hh"
 
diff --git a/src/include/threads/impl.hh b/src/include/threads/impl.hh
index 92c77dc..9ba108c 100644
--- a/src/include/threads/impl.hh
+++ b/src/include/threads/impl.hh
@@ -29,6 +29,7 @@
 #include <boost/noncopyable.hpp>
 #include <sys/socket.h>
 #include <sys/types.h>
+#include <stdint.h>
 
 struct msghdr;
 
diff --git a/src/include/threads/signals.hh b/src/include/threads/signals.hh
index fec675e..1e0685e 100644
--- a/src/include/threads/signals.hh
+++ b/src/include/threads/signals.hh
@@ -34,6 +34,8 @@
 #ifndef THREADS_SIGNALS_HH
 #define THREADS_SIGNALS_HH 1
 
+#include <cstdio>
+
 namespace vigil {
 
 struct Signal_group_impl;
diff --git a/src/include/vlog.hh b/src/include/vlog.hh
index f0d7f94..33ceb4e 100644
--- a/src/include/vlog.hh
+++ b/src/include/vlog.hh
@@ -31,6 +31,8 @@
 
 #include <boost/noncopyable.hpp>
 #include <string>
+#include <cstdio>
+#include <stdint.h>
 #include <sys/types.h>
 
 #ifdef LOG4CXX_ENABLED
