diff --git a/tools/firmware-utils/src/dgfirmware.c b/tools/firmware-utils/src/dgfirmware.c
index 5ff3b69646db334cacd931cd6f8dfb4fac9fc37d..e3257f1077903ed47c7be58f29d7ba0b5b6e754c 100644
--- a/tools/firmware-utils/src/dgfirmware.c
+++ b/tools/firmware-utils/src/dgfirmware.c
@@ -1,5 +1,6 @@
 #include <stdlib.h>
 #include <stdio.h>
+#include <string.h>
 
 
 #define IMG_SIZE     0x3e0000
diff --git a/tools/firmware-utils/src/lzma2eva.c b/tools/firmware-utils/src/lzma2eva.c
index 0bc13fa4f34e1dad938aca59a80838ebfada72c2..1d7e364889918b72bae2fc41151cf7d6f0e01f50 100644
--- a/tools/firmware-utils/src/lzma2eva.c
+++ b/tools/firmware-utils/src/lzma2eva.c
@@ -48,7 +48,7 @@ main(int argc, char *argv[])
 
   const char *infile, *outfile;
   FILE *in, *out;
-  static const uint8_t buf[4096];
+  static uint8_t buf[4096];
   size_t elems;
 
   uint8_t properties;
diff --git a/tools/firmware-utils/src/mkhilinkfw.c b/tools/firmware-utils/src/mkhilinkfw.c
index 99322d4ea0bd746812a431d931985ad8a41626e2..55908e5caa7f447c214ec5b30749ef61618424a0 100644
--- a/tools/firmware-utils/src/mkhilinkfw.c
+++ b/tools/firmware-utils/src/mkhilinkfw.c
@@ -22,6 +22,7 @@
  *   gcc -lcrypto hlkcrypt.c -o hlkcrypt
  */
  
+#include <arpa/inet.h>
 #include <errno.h>
 #include <fcntl.h>
 #include <getopt.h>
diff --git a/tools/firmware-utils/src/spw303v.c b/tools/firmware-utils/src/spw303v.c
index ae34a1ebddcb46ebe396fb356cca13ef2ad6a17a..654d68db2b08eedb3ee55d1edb52bc999460f59f 100644
--- a/tools/firmware-utils/src/spw303v.c
+++ b/tools/firmware-utils/src/spw303v.c
@@ -18,6 +18,7 @@
  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
  */
 
+#include <arpa/inet.h>
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
diff --git a/tools/firmware-utils/src/srec2bin.c b/tools/firmware-utils/src/srec2bin.c
index 1cffbaed969ee5bc205c79a21628e6246f77ef0d..5cc71bda2209564d88ed26b5157dd536768d41cb 100644
--- a/tools/firmware-utils/src/srec2bin.c
+++ b/tools/firmware-utils/src/srec2bin.c
@@ -513,7 +513,7 @@ int srec2bin(int argc,char *argv[],int verbose)
     return(1);
 }
 
-main(int argc, char *argv[])
+int main(int argc, char *argv[])
 {
     debug = TRUE;
     debug = FALSE;
diff --git a/tools/firmware-utils/src/wrt400n.c b/tools/firmware-utils/src/wrt400n.c
index a9a4908060c674fe89f9eee952a5736935364e16..1cf1debc89341d9ffbc7dae94eb5af721a1c6376 100644
--- a/tools/firmware-utils/src/wrt400n.c
+++ b/tools/firmware-utils/src/wrt400n.c
@@ -7,12 +7,14 @@
  *
  *	Author: Sandeep Mistry
  */
+#include <arpa/inet.h>
 #include <fcntl.h>
 #include <stdio.h>
 #include <stdint.h>
 #include <string.h>
 #include <sys/types.h>
 #include <sys/stat.h>
+#include <unistd.h>
 
 #include "cyg_crc.h"
 
diff --git a/tools/firmware-utils/src/zyxbcm.c b/tools/firmware-utils/src/zyxbcm.c
index cfd00d3b0539ffb083744004b422ea948de97680..ffeb7cc2650e41b94acbf062c19ac953ab78a95c 100644
--- a/tools/firmware-utils/src/zyxbcm.c
+++ b/tools/firmware-utils/src/zyxbcm.c
@@ -18,6 +18,7 @@
  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
  */
 
+#include <arpa/inet.h>
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>