diff -ru dillo-3.0.5.orig/dpid/dpid.c dillo-3.0.5/dpid/dpid.c
--- dillo-3.0.5.orig/dpid/dpid.c	2021-06-19 13:04:18.948712417 +0200
+++ dillo-3.0.5/dpid/dpid.c	2021-06-19 17:58:03.315625622 +0200
@@ -40,6 +40,13 @@
 
 volatile sig_atomic_t caught_sigchld = 0;
 char *SharedKey = NULL;
+char *srs_name;
+int srs_fd;
+int numdpis;
+int numsocks;
+struct dp *dpi_attr_list;
+Dlist *services_list;
+fd_set sock_set;
 
 /*! Remove dpid_comm_keys file.
  * This avoids that dillo instances connect to a stale port after dpid
diff -ru dillo-3.0.5.orig/dpid/dpid_common.c dillo-3.0.5/dpid/dpid_common.c
--- dillo-3.0.5.orig/dpid/dpid_common.c	2021-06-19 13:04:18.965712417 +0200
+++ dillo-3.0.5/dpid/dpid_common.c	2021-06-19 17:53:53.265626854 +0200
@@ -14,6 +14,8 @@
 #include <unistd.h>
 #include "dpid_common.h"
 
+dpi_errno_t dpi_errno;
+
 /*
  * Send a verbose error message.
  */
diff -ru dillo-3.0.5.orig/dpid/dpid_common.h dillo-3.0.5/dpid/dpid_common.h
--- dillo-3.0.5.orig/dpid/dpid_common.h	2021-06-19 13:04:18.935712417 +0200
+++ dillo-3.0.5/dpid/dpid_common.h	2021-06-19 17:54:21.562626714 +0200
@@ -38,10 +38,12 @@
 
 
 /*! Error codes for dpid */
-enum {
+typedef enum {
    no_errors,
    dpid_srs_addrinuse /* dpid service request socket address already in use */
-} dpi_errno;
+} dpi_errno_t;
+
+extern dpi_errno_t dpi_errno;
 
 /*! Intended for identifying dillo plugins
  * and related files
diff -ru dillo-3.0.5.orig/dpid/dpid.h dillo-3.0.5/dpid/dpid.h
--- dillo-3.0.5.orig/dpid/dpid.h	2021-06-19 13:04:18.929712417 +0200
+++ dillo-3.0.5/dpid/dpid.h	2021-06-19 17:57:51.789625679 +0200
@@ -25,10 +25,10 @@
 
 /*! \TODO: Should read this from dillorc */
 #define SRS_NAME "dpid.srs"
-char *srs_name;
+extern char *srs_name;
 
 /*! dpid's service request socket file descriptor */
-int srs_fd;
+extern int srs_fd;
 
 /*! plugin state information
  */
@@ -49,19 +49,19 @@
 };
 
 /*! Number of available plugins */
-int numdpis;
+extern int numdpis;
 
 /*! Number of sockets being watched */
-int numsocks;
+extern int numsocks;
 
 /*! State information for each plugin. */
-struct dp *dpi_attr_list;
+extern struct dp *dpi_attr_list;
 
 /*! service served for each plugin  */
-Dlist *services_list;
+extern Dlist *services_list;
 
 /*! Set of sockets watched for connections */
-fd_set sock_set;
+extern fd_set sock_set;
 
 /*! Set to 1 by the SIGCHLD handler dpi_sigchld */
 extern volatile sig_atomic_t caught_sigchld;
