the pointer "tall_bsc_ctx" belongs to the gsm_data.c file not to include file.
diff --git a/openbsc/src/bsc_hack.c b/openbsc/src/bsc_hack.c
index e3e3a40..13438b9 100644
--- a/openbsc/src/bsc_hack.c
+++ b/openbsc/src/bsc_hack.c
@@ -49,8 +49,6 @@
 #include <openbsc/signal.h>
 #include <openbsc/talloc.h>
 
-void *tall_bsc_ctx;
-
 /* global pointer to the gsm network data structure */
 static struct gsm_network *gsmnet;
 
diff --git a/openbsc/src/gsm_data.c b/openbsc/src/gsm_data.c
index 81facdf..c21c6b4 100644
--- a/openbsc/src/gsm_data.c
+++ b/openbsc/src/gsm_data.c
@@ -27,6 +27,8 @@
 #include <openbsc/gsm_data.h>
 #include <openbsc/talloc.h>
 
+void *tall_bsc_ctx;
+
 void set_ts_e1link(struct gsm_bts_trx_ts *ts, u_int8_t e1_nr,
 		   u_int8_t e1_ts, u_int8_t e1_ts_ss)
 {