diff --git a/openair2/LAYER2/MAC/config_ue.c b/openair2/LAYER2/MAC/config_ue.c
index 407fb9e7b5a5985ad4b35fe98d07efae101a3c35..0b27955dad61a096ffebeaf9b87e0b8fd556ba93 100644
--- a/openair2/LAYER2/MAC/config_ue.c
+++ b/openair2/LAYER2/MAC/config_ue.c
@@ -48,6 +48,7 @@
 #include "mac_extern.h"
 #include "UTIL/LOG/log.h"
 #include "UTIL/LOG/vcd_signal_dumper.h"
+#include "PHY/INIT/phy_init.h"
 
 #include "common/ran_context.h"
 #if (RRC_VERSION >= MAKE_VERSION(9, 0, 0))
diff --git a/openair2/LAYER2/MAC/ra_procedures.c b/openair2/LAYER2/MAC/ra_procedures.c
index 6cc7c58e6c3ff915e160ae0774745162001a5a0f..5a66645e3d81e9d5b2ae324372d111193af5eab3 100644
--- a/openair2/LAYER2/MAC/ra_procedures.c
+++ b/openair2/LAYER2/MAC/ra_procedures.c
@@ -44,6 +44,8 @@
 #include "OCG.h"
 #include "OCG_extern.h"
 #include "SIMULATION/TOOLS/sim.h"	// for taus
+#include "PHY/LTE_TRANSPORT/transport_common_proto.h"
+#include "PHY/LTE_ESTIMATION/lte_estimation.h"
 
 extern uint8_t  nfapi_mode;
 extern UE_MODE_t get_ue_mode(uint8_t Mod_id,uint8_t CC_id,uint8_t eNB_index);
diff --git a/openair2/LAYER2/MAC/ue_procedures.c b/openair2/LAYER2/MAC/ue_procedures.c
index 74ce098fa3f8550cfedc7536939360f7ca45a313..948f6c08d0032c6a105a2d6850aa01431e390db2 100644
--- a/openair2/LAYER2/MAC/ue_procedures.c
+++ b/openair2/LAYER2/MAC/ue_procedures.c
@@ -40,6 +40,8 @@
 #include "PHY/impl_defs_top.h"
 #include "PHY_INTERFACE/phy_interface_extern.h"
 #include "COMMON/mac_rrc_primitives.h"
+#include "PHY/INIT/phy_init.h"
+#include "PHY/LTE_ESTIMATION/lte_estimation.h"
 
 #include "RRC/L2_INTERFACE/openair_rrc_L2_interface.h"
 #include "RRC/LTE/rrc_extern.h"
@@ -858,11 +860,11 @@ void ue_send_sl_sdu(module_id_t module_idP,
 
   if (longh->F==1) {
     rlc_sdu_len = ((longh->L_MSB<<8)&0x7F00)|(longh->L_LSB&0xFF);
-    rlc_sdu = sdu+sizeof(SLSCH_SUBHEADER_24_Bit_DST_LONG);
+    rlc_sdu = (char *)sdu+sizeof(SLSCH_SUBHEADER_24_Bit_DST_LONG);
   }
   else {
     rlc_sdu_len = ((SLSCH_SUBHEADER_24_Bit_DST_SHORT *)sdu)->L;
-    rlc_sdu = sdu+sizeof(SLSCH_SUBHEADER_24_Bit_DST_SHORT);
+    rlc_sdu = (char *)sdu+sizeof(SLSCH_SUBHEADER_24_Bit_DST_SHORT);
   }
   mac_rlc_data_ind(
 		   module_idP,
diff --git a/openair2/LAYER2/PDCP_v10.1.0/pdcp_fifo.c b/openair2/LAYER2/PDCP_v10.1.0/pdcp_fifo.c
index 552ca6483f24f2560279ccdfad26d15889c150b6..be3d4fd4344bdfe32c17871a3e4e5fb9fb04ae27 100644
--- a/openair2/LAYER2/PDCP_v10.1.0/pdcp_fifo.c
+++ b/openair2/LAYER2/PDCP_v10.1.0/pdcp_fifo.c
@@ -450,7 +450,7 @@ int pdcp_fifo_read_input_sdus (const protocol_ctxt_t* const  ctxt_pP)
                          ctxt.instance, rab_id, rab_id, len);
 
       pdcp_data_req(&ctxt, SRB_FLAG_NO, rab_id, RLC_MUI_UNDEFINED,
-                    RLC_SDU_CONFIRM_NO, len, nl_rx_buf,
+                    RLC_SDU_CONFIRM_NO, len, (unsigned char *)nl_rx_buf,
                     PDCP_TRANSMISSION_MODE_DATA
 #ifdef Rel14
                     , NULL, NULL
diff --git a/openair2/PHY_INTERFACE/phy_stub_UE.c b/openair2/PHY_INTERFACE/phy_stub_UE.c
index 984b4cb56d3ca46c04fff39817514cef24a9e07a..588cde5231d917d1db71b172563c13ab1eee3a26 100644
--- a/openair2/PHY_INTERFACE/phy_stub_UE.c
+++ b/openair2/PHY_INTERFACE/phy_stub_UE.c
@@ -1012,7 +1012,7 @@ uint32_t from_earfcn(int eutra_bandP, uint32_t dl_earfcn) { return(0);}
 
 int32_t get_uldl_offset(int eutra_bandP) { return(0);}
 
-int l1_north_init_eNB() {
+int l1_north_init_eNB(void) {
 return 0;
 }
 
diff --git a/targets/RT/USER/lte-ue.c b/targets/RT/USER/lte-ue.c
index 657b7800a0c952d91fd7fa1d8b7053fb13e6c0b5..492a17a36519c0a609ba73118825622e5c79ed5e 100644
--- a/targets/RT/USER/lte-ue.c
+++ b/targets/RT/USER/lte-ue.c
@@ -37,6 +37,9 @@
 #include "RRC/LTE/rrc_extern.h"
 #include "PHY_INTERFACE/phy_stub_UE.h"
 #include "PHY_INTERFACE/phy_interface_extern.h"
+#include "PHY/INIT/phy_init.h"
+#include "PHY/MODULATION/modulation_UE.h"
+#include "PHY/LTE_ESTIMATION/lte_estimation.h"
 
 #undef MALLOC //there are two conflicting definitions, so we better make sure we don't use it at all
 //#undef FRAME_LENGTH_COMPLEX_SAMPLES //there are two conflicting definitions, so we better make sure we don't use it at all
@@ -44,6 +47,9 @@
 #include "PHY/phy_extern_ue.h"
 #include "LAYER2/MAC/mac_extern.h"
 #include "LAYER2/MAC/mac_proto.h"
+#include "SCHED_UE/sched_UE.h"
+#include "PHY/LTE_UE_TRANSPORT/transport_proto_ue.h"
+
 #include <inttypes.h>
 
 #include "UTIL/LOG/log_extern.h"
@@ -729,7 +735,7 @@ static void *UE_thread_rxn_txnp4(void *arg) {
 #ifdef UE_SLOT_PARALLELISATION
       phy_procedures_slot_parallelization_UE_RX( UE, proc, 0, 0, 1, UE->mode, no_relay, NULL );
 #else
-      phy_procedures_UE_RX( UE, proc, 0, 0, 1, UE->mode, no_relay, NULL );
+      phy_procedures_UE_RX(UE, proc, 0, 0, 1, UE->mode);
 #endif
     }
 
@@ -775,14 +781,14 @@ static void *UE_thread_rxn_txnp4(void *arg) {
     if ((subframe_select( &UE->frame_parms, proc->subframe_tx) == SF_UL) ||
 	(UE->frame_parms.frame_type == FDD) )
       if (UE->mode != loop_through_memory)
-	phy_procedures_UE_TX(UE,proc,0,0,UE->mode,no_relay);
+	phy_procedures_UE_TX(UE,proc,0,0,UE->mode);
 
 
 
     if ((subframe_select( &UE->frame_parms, proc->subframe_tx) == SF_S) &&
 	(UE->frame_parms.frame_type == TDD))
       if (UE->mode != loop_through_memory)
-	phy_procedures_UE_S_TX(UE,0,0,no_relay);
+	phy_procedures_UE_S_TX(UE,0,0);
     updateTimes(current, &t3, 10000, "Delay to process sub-frame (case 3)");
 
     if (pthread_mutex_lock(&proc->mutex_rxtx) != 0) {
@@ -2166,7 +2172,7 @@ static void* timer_thread( void* param ) {
       pdu.header.absSF = (timer_frame*10)+timer_subframe;
       if (nfapi_mode!=3){
       multicast_link_write_sock(0,
-				&pdu,
+				(char *)&pdu,
 				sizeof(UE_tport_header_t));
       }