diff -ruN etherape-0.9.17-orig/src/names/eth_resolv.c etherape-0.9.17/src/names/eth_resolv.c
--- etherape-0.9.17-orig/src/names/eth_resolv.c	2017-03-18 11:11:42.000000000 -0500
+++ etherape-0.9.17/src/names/eth_resolv.c	2024-12-01 08:28:52.000000000 -0600
@@ -27,7 +27,7 @@
 #include <string.h>
 
 #include <net/ethernet.h>
-#include <netinet/ether.h>
+#include <netinet/if_ether.h>
 
 #include <glib.h>
 
diff -ruN etherape-0.9.17-orig/src/names/thread_resolve.c etherape-0.9.17/src/names/thread_resolve.c
--- etherape-0.9.17-orig/src/names/thread_resolve.c	2017-03-18 11:11:42.000000000 -0500
+++ etherape-0.9.17/src/names/thread_resolve.c	2024-12-01 07:16:35.000000000 -0600
@@ -35,11 +35,7 @@
 #include <sys/socket.h>
 #include <netinet/in.h>
 #include <arpa/inet.h>
-#if defined(__MACH__) && defined(__APPLE__)
-#include <arpa/nameser_compat.h>
-#else
 #include <arpa/nameser.h>
-#endif
 #include <netdb.h>
 #include <resolv.h>
 #include <unistd.h>
@@ -55,6 +51,8 @@
 #include "thread_resolve.h"
 #include "stats/util.h"
 
+#define FORCE_SINGLE_THREAD
+
 #define ETHERAPE_THREAD_POOL_SIZE 6
 static pthread_t resolver_threads[ETHERAPE_THREAD_POOL_SIZE];
 static int resolver_threads_num = 0;
diff -ruN etherape-0.9.17-orig/src/stats/decode_proto.c etherape-0.9.17/src/stats/decode_proto.c
--- etherape-0.9.17-orig/src/stats/decode_proto.c	2017-03-18 11:11:42.000000000 -0500
+++ etherape-0.9.17/src/stats/decode_proto.c	2024-12-01 07:14:11.000000000 -0600
@@ -25,6 +25,8 @@
 #include "appdata.h"
 #include <ctype.h>
 #include <string.h>
+#include <stdint.h>
+#include <sys/socket.h>
 #ifdef HAVE_ARPA_INET_H
 #include <arpa/inet.h>
 #endif
diff -ruN etherape-0.9.17-orig/src/ui_utils.c etherape-0.9.17/src/ui_utils.c
--- etherape-0.9.17-orig/src/ui_utils.c	2018-04-05 12:39:34.000000000 -0500
+++ etherape-0.9.17/src/ui_utils.c	2024-12-01 08:37:50.000000000 -0600
@@ -19,6 +19,7 @@
 #include <config.h>
 #endif
 #include <pwd.h>
+#include <unistd.h>
 
 #include "appdata.h"
 #include "ui_utils.h"