diff --git a/include/grgsm/misc_utils/udp_socket.h b/include/grgsm/misc_utils/udp_socket.h
index d1ceb9f..d048f00 100644
--- a/include/grgsm/misc_utils/udp_socket.h
+++ b/include/grgsm/misc_utils/udp_socket.h
@@ -28,7 +28,6 @@
 #include <boost/function.hpp>
 #include <boost/array.hpp>
 #include <boost/asio.hpp>
-#include <boost/bind.hpp>
 #include <pmt/pmt.h>
 
 namespace gr {
diff --git a/lib/decoding/control_channels_decoder_impl.cc b/lib/decoding/control_channels_decoder_impl.cc
index 81ce161..b49582f 100644
--- a/lib/decoding/control_channels_decoder_impl.cc
+++ b/lib/decoding/control_channels_decoder_impl.cc
@@ -70,7 +70,7 @@
     {
       //setup input/output ports
       message_port_register_in(pmt::mp("bursts"));
-      set_msg_handler(pmt::mp("bursts"), boost::bind(&control_channels_decoder_impl::decode, this, _1));
+      set_msg_handler(pmt::mp("bursts"), boost::bind(&control_channels_decoder_impl::decode, this, boost::placeholders::_1));
       message_port_register_out(pmt::mp("msgs"));
     }
 
diff --git a/lib/decoding/tch_f_decoder_impl.cc b/lib/decoding/tch_f_decoder_impl.cc
index 02dc45a..03e8fc8 100644
--- a/lib/decoding/tch_f_decoder_impl.cc
+++ b/lib/decoding/tch_f_decoder_impl.cc
@@ -92,7 +92,7 @@
     {
         //setup input/output ports
         message_port_register_in(pmt::mp("bursts"));
-        set_msg_handler(pmt::mp("bursts"), boost::bind(&tch_f_decoder_impl::decode, this, _1));
+        set_msg_handler(pmt::mp("bursts"), boost::bind(&tch_f_decoder_impl::decode, this, boost::placeholders::_1));
         message_port_register_out(pmt::mp("msgs"));
         message_port_register_out(pmt::mp("voice"));    
 
diff --git a/lib/decoding/tch_h_decoder_impl.cc b/lib/decoding/tch_h_decoder_impl.cc
index b6827f7..f1ba5ba 100644
--- a/lib/decoding/tch_h_decoder_impl.cc
+++ b/lib/decoding/tch_h_decoder_impl.cc
@@ -81,7 +81,7 @@
         {
             //setup input/output ports
             message_port_register_in(pmt::mp("bursts"));
-            set_msg_handler(pmt::mp("bursts"), boost::bind(&tch_h_decoder_impl::decode, this, _1));
+            set_msg_handler(pmt::mp("bursts"), boost::bind(&tch_h_decoder_impl::decode, this, boost::placeholders::_1));
             message_port_register_out(pmt::mp("msgs"));
             message_port_register_out(pmt::mp("voice"));
 
diff --git a/lib/decryption/decryption_impl.cc b/lib/decryption/decryption_impl.cc
index 551afa4..d189596 100644
--- a/lib/decryption/decryption_impl.cc
+++ b/lib/decryption/decryption_impl.cc
@@ -61,7 +61,7 @@
         validate_k_c();
 
         message_port_register_in(pmt::mp("bursts"));
-        set_msg_handler(pmt::mp("bursts"), boost::bind(&decryption_impl::decrypt, this, _1));
+        set_msg_handler(pmt::mp("bursts"), boost::bind(&decryption_impl::decrypt, this, boost::placeholders::_1));
         message_port_register_out(pmt::mp("bursts"));
     }
 
diff --git a/lib/demapping/tch_f_chans_demapper_impl.cc b/lib/demapping/tch_f_chans_demapper_impl.cc
index bf1ff8f..ee0c05c 100644
--- a/lib/demapping/tch_f_chans_demapper_impl.cc
+++ b/lib/demapping/tch_f_chans_demapper_impl.cc
@@ -58,7 +58,7 @@
         //        }
 
         message_port_register_in(pmt::mp("bursts"));
-        set_msg_handler(pmt::mp("bursts"), boost::bind(&tch_f_chans_demapper_impl::filter_tch_chans, this, _1));
+        set_msg_handler(pmt::mp("bursts"), boost::bind(&tch_f_chans_demapper_impl::filter_tch_chans, this, boost::placeholders::_1));
         message_port_register_out(pmt::mp("tch_bursts"));
         message_port_register_out(pmt::mp("acch_bursts"));
     }
diff --git a/lib/demapping/tch_h_chans_demapper_impl.cc b/lib/demapping/tch_h_chans_demapper_impl.cc
index 73f49e1..101110c 100644
--- a/lib/demapping/tch_h_chans_demapper_impl.cc
+++ b/lib/demapping/tch_h_chans_demapper_impl.cc
@@ -57,7 +57,7 @@
     //std::cout << "d_tch_type is " << d_tch_type << ", tch_h_channel is " << tch_h_channel << std::endl;
 
     message_port_register_in(pmt::mp("bursts"));
-    set_msg_handler(pmt::mp("bursts"), boost::bind(&tch_h_chans_demapper_impl::filter_tch_chans, this, _1));
+    set_msg_handler(pmt::mp("bursts"), boost::bind(&tch_h_chans_demapper_impl::filter_tch_chans, this, boost::placeholders::_1));
     message_port_register_out(pmt::mp("tch_bursts"));
     message_port_register_out(pmt::mp("acch_bursts"));
 }
diff --git a/lib/demapping/universal_ctrl_chans_demapper_impl.cc b/lib/demapping/universal_ctrl_chans_demapper_impl.cc
index 94e8648..c78f8b3 100644
--- a/lib/demapping/universal_ctrl_chans_demapper_impl.cc
+++ b/lib/demapping/universal_ctrl_chans_demapper_impl.cc
@@ -75,7 +75,7 @@
         std::copy(uplink_subslots.begin(), uplink_subslots.end(), d_uplink_subslots.begin());
         
         message_port_register_in(pmt::mp("bursts"));
-        set_msg_handler(pmt::mp("bursts"), boost::bind(&universal_ctrl_chans_demapper_impl::filter_ctrl_chans, this, _1));
+        set_msg_handler(pmt::mp("bursts"), boost::bind(&universal_ctrl_chans_demapper_impl::filter_ctrl_chans, this, boost::placeholders::_1));
         message_port_register_out(pmt::mp("bursts"));
     }
 
diff --git a/lib/flow_control/burst_fnr_filter_impl.cc b/lib/flow_control/burst_fnr_filter_impl.cc
index 49ddc4c..ae129ee 100644
--- a/lib/flow_control/burst_fnr_filter_impl.cc
+++ b/lib/flow_control/burst_fnr_filter_impl.cc
@@ -55,7 +55,7 @@
         message_port_register_in(pmt::mp("in"));       
         message_port_register_out(pmt::mp("out"));
 
-        set_msg_handler(pmt::mp("in"), boost::bind(&burst_fnr_filter_impl::process_burst, this, _1));
+        set_msg_handler(pmt::mp("in"), boost::bind(&burst_fnr_filter_impl::process_burst, this, boost::placeholders::_1));
     }
 
     /*
diff --git a/lib/flow_control/burst_sdcch_subslot_filter_impl.cc b/lib/flow_control/burst_sdcch_subslot_filter_impl.cc
index cc72f99..beb3f58 100644
--- a/lib/flow_control/burst_sdcch_subslot_filter_impl.cc
+++ b/lib/flow_control/burst_sdcch_subslot_filter_impl.cc
@@ -54,7 +54,7 @@
         message_port_register_in(pmt::mp("in"));
         message_port_register_out(pmt::mp("out"));
         
-        set_msg_handler(pmt::mp("in"), boost::bind(&burst_sdcch_subslot_filter_impl::process_burst, this, _1));
+        set_msg_handler(pmt::mp("in"), boost::bind(&burst_sdcch_subslot_filter_impl::process_burst, this, boost::placeholders::_1));
     }
 
     /*
diff --git a/lib/flow_control/burst_sdcch_subslot_splitter_impl.cc b/lib/flow_control/burst_sdcch_subslot_splitter_impl.cc
index 267f6b4..ff86296 100644
--- a/lib/flow_control/burst_sdcch_subslot_splitter_impl.cc
+++ b/lib/flow_control/burst_sdcch_subslot_splitter_impl.cc
@@ -63,7 +63,7 @@
             message_port_register_out(pmt::mp("out7"));
         }
         
-        set_msg_handler(pmt::mp("in"), boost::bind(&burst_sdcch_subslot_splitter_impl::process_burst, this, _1));
+        set_msg_handler(pmt::mp("in"), boost::bind(&burst_sdcch_subslot_splitter_impl::process_burst, this, boost::placeholders::_1));
     }
 
     /*
diff --git a/lib/flow_control/burst_timeslot_filter_impl.cc b/lib/flow_control/burst_timeslot_filter_impl.cc
index 4fcd847..e69c60d 100644
--- a/lib/flow_control/burst_timeslot_filter_impl.cc
+++ b/lib/flow_control/burst_timeslot_filter_impl.cc
@@ -54,7 +54,7 @@
         message_port_register_in(pmt::mp("in"));        
         message_port_register_out(pmt::mp("out"));
         
-        set_msg_handler(pmt::mp("in"), boost::bind(&burst_timeslot_filter_impl::process_burst, this, _1));
+        set_msg_handler(pmt::mp("in"), boost::bind(&burst_timeslot_filter_impl::process_burst, this, boost::placeholders::_1));
     }
 
     /*
diff --git a/lib/flow_control/burst_timeslot_splitter_impl.cc b/lib/flow_control/burst_timeslot_splitter_impl.cc
index 1f1572c..d0cea4e 100644
--- a/lib/flow_control/burst_timeslot_splitter_impl.cc
+++ b/lib/flow_control/burst_timeslot_splitter_impl.cc
@@ -60,7 +60,7 @@
         message_port_register_out(pmt::mp("out6"));
         message_port_register_out(pmt::mp("out7"));
         
-        set_msg_handler(pmt::mp("in"), boost::bind(&burst_timeslot_splitter_impl::process_burst, this, _1));
+        set_msg_handler(pmt::mp("in"), boost::bind(&burst_timeslot_splitter_impl::process_burst, this, boost::placeholders::_1));
     }
 
     /*
diff --git a/lib/flow_control/burst_type_filter_impl.cc b/lib/flow_control/burst_type_filter_impl.cc
index c8bbd7e..113a4a6 100644
--- a/lib/flow_control/burst_type_filter_impl.cc
+++ b/lib/flow_control/burst_type_filter_impl.cc
@@ -55,7 +55,7 @@
         message_port_register_in(pmt::mp("bursts_in"));
         message_port_register_out(pmt::mp("bursts_out"));
         
-        set_msg_handler(pmt::mp("bursts_in"), boost::bind(&burst_type_filter_impl::process_burst, this, _1));
+        set_msg_handler(pmt::mp("bursts_in"), boost::bind(&burst_type_filter_impl::process_burst, this, boost::placeholders::_1));
     }
 
     /*
diff --git a/lib/flow_control/dummy_burst_filter_impl.cc b/lib/flow_control/dummy_burst_filter_impl.cc
index 4621187..7e31990 100644
--- a/lib/flow_control/dummy_burst_filter_impl.cc
+++ b/lib/flow_control/dummy_burst_filter_impl.cc
@@ -66,7 +66,7 @@
         message_port_register_in(pmt::mp("in"));        
         message_port_register_out(pmt::mp("out"));
         
-        set_msg_handler(pmt::mp("in"), boost::bind(&dummy_burst_filter_impl::process_burst, this, _1));
+        set_msg_handler(pmt::mp("in"), boost::bind(&dummy_burst_filter_impl::process_burst, this, boost::placeholders::_1));
     }
 
     /*
diff --git a/lib/flow_control/uplink_downlink_splitter_impl.cc b/lib/flow_control/uplink_downlink_splitter_impl.cc
index de5ae30..424d025 100644
--- a/lib/flow_control/uplink_downlink_splitter_impl.cc
+++ b/lib/flow_control/uplink_downlink_splitter_impl.cc
@@ -50,7 +50,7 @@
         message_port_register_in(pmt::mp("in"));
         message_port_register_out(pmt::mp("uplink"));
         message_port_register_out(pmt::mp("downlink"));
-        set_msg_handler(pmt::mp("in"), boost::bind(&uplink_downlink_splitter_impl::process_msg, this, _1));
+        set_msg_handler(pmt::mp("in"), boost::bind(&uplink_downlink_splitter_impl::process_msg, this, boost::placeholders::_1));
     }
 
     void uplink_downlink_splitter_impl::process_msg(pmt::pmt_t msg)
diff --git a/lib/misc_utils/burst_file_sink_impl.cc b/lib/misc_utils/burst_file_sink_impl.cc
index 9990d86..ddcd583 100644
--- a/lib/misc_utils/burst_file_sink_impl.cc
+++ b/lib/misc_utils/burst_file_sink_impl.cc
@@ -48,7 +48,7 @@
               d_output_file(filename.c_str(), std::ofstream::binary)
     {
         message_port_register_in(pmt::mp("in"));
-        set_msg_handler(pmt::mp("in"), boost::bind(&burst_file_sink_impl::process_burst, this, _1));
+        set_msg_handler(pmt::mp("in"), boost::bind(&burst_file_sink_impl::process_burst, this, boost::placeholders::_1));
     }
 
     /*
diff --git a/lib/misc_utils/burst_to_fn_time_impl.cc b/lib/misc_utils/burst_to_fn_time_impl.cc
index 3e587f0..6f6c1de 100644
--- a/lib/misc_utils/burst_to_fn_time_impl.cc
+++ b/lib/misc_utils/burst_to_fn_time_impl.cc
@@ -52,7 +52,7 @@
 
         // Bind a port handler
         set_msg_handler(pmt::mp("bursts_in"),
-          boost::bind(&burst_to_fn_time_impl::handle_burst, this, _1));
+          boost::bind(&burst_to_fn_time_impl::handle_burst, this, boost::placeholders::_1));
     }
 
     /*
diff --git a/lib/misc_utils/bursts_printer_impl.cc b/lib/misc_utils/bursts_printer_impl.cc
index ab9c319..fbd9bd3 100644
--- a/lib/misc_utils/bursts_printer_impl.cc
+++ b/lib/misc_utils/bursts_printer_impl.cc
@@ -155,7 +155,7 @@
         d_ignore_dummy_bursts = ignore_dummy_bursts;
 
         message_port_register_in(pmt::mp("bursts"));
-        set_msg_handler(pmt::mp("bursts"), boost::bind(&bursts_printer_impl::bursts_print, this, _1));
+        set_msg_handler(pmt::mp("bursts"), boost::bind(&bursts_printer_impl::bursts_print, this, boost::placeholders::_1));
     }
 
     /*
diff --git a/lib/misc_utils/collect_system_info_impl.cc b/lib/misc_utils/collect_system_info_impl.cc
index 072734a..6ab982e 100644
--- a/lib/misc_utils/collect_system_info_impl.cc
+++ b/lib/misc_utils/collect_system_info_impl.cc
@@ -172,7 +172,7 @@
               gr::io_signature::make(0, 0, 0))
     {
         message_port_register_in(pmt::mp("msgs"));
-        set_msg_handler(pmt::mp("msgs"), boost::bind(&collect_system_info_impl::process_messages, this, _1));
+        set_msg_handler(pmt::mp("msgs"), boost::bind(&collect_system_info_impl::process_messages, this, boost::placeholders::_1));
     }
     
     /*
diff --git a/lib/misc_utils/extract_assignment_cmd_impl.cc b/lib/misc_utils/extract_assignment_cmd_impl.cc
index e4aa319..fe75f21 100644
--- a/lib/misc_utils/extract_assignment_cmd_impl.cc
+++ b/lib/misc_utils/extract_assignment_cmd_impl.cc
@@ -70,7 +70,7 @@
               gr::io_signature::make(0, 0, 0))
     {
         message_port_register_in(pmt::mp("msgs"));
-        set_msg_handler(pmt::mp("msgs"), boost::bind(&extract_assignment_cmd_impl::process_messages, this, _1));
+        set_msg_handler(pmt::mp("msgs"), boost::bind(&extract_assignment_cmd_impl::process_messages, this, boost::placeholders::_1));
     }
     
     /*
diff --git a/lib/misc_utils/extract_cmc_impl.cc b/lib/misc_utils/extract_cmc_impl.cc
index 04b0afc..c313b58 100644
--- a/lib/misc_utils/extract_cmc_impl.cc
+++ b/lib/misc_utils/extract_cmc_impl.cc
@@ -83,7 +83,7 @@
               gr::io_signature::make(0, 0, 0))
     {
         message_port_register_in(pmt::mp("msgs"));
-        set_msg_handler(pmt::mp("msgs"), boost::bind(&extract_cmc_impl::process_messages, this, _1));
+        set_msg_handler(pmt::mp("msgs"), boost::bind(&extract_cmc_impl::process_messages, this, boost::placeholders::_1));
     }
     
     /*
diff --git a/lib/misc_utils/extract_immediate_assignment_impl.cc b/lib/misc_utils/extract_immediate_assignment_impl.cc
index a6d1658..579fe61 100644
--- a/lib/misc_utils/extract_immediate_assignment_impl.cc
+++ b/lib/misc_utils/extract_immediate_assignment_impl.cc
@@ -332,7 +332,7 @@
         d_ignore_gprs = ignore_gprs;
         d_unique_references = unique_references;
         message_port_register_in(pmt::mp("msgs"));
-        set_msg_handler(pmt::mp("msgs"), boost::bind(&extract_immediate_assignment_impl::process_message, this, _1));
+        set_msg_handler(pmt::mp("msgs"), boost::bind(&extract_immediate_assignment_impl::process_message, this, boost::placeholders::_1));
     }
 
     /*
diff --git a/lib/misc_utils/extract_system_info_impl.cc b/lib/misc_utils/extract_system_info_impl.cc
index ad7adb8..3fef7d3 100644
--- a/lib/misc_utils/extract_system_info_impl.cc
+++ b/lib/misc_utils/extract_system_info_impl.cc
@@ -304,9 +304,9 @@
               after_reset(false)
     {
         message_port_register_in(pmt::mp("bursts"));
-        set_msg_handler(pmt::mp("bursts"), boost::bind(&extract_system_info_impl::process_bursts, this, _1));
+        set_msg_handler(pmt::mp("bursts"), boost::bind(&extract_system_info_impl::process_bursts, this, boost::placeholders::_1));
         message_port_register_in(pmt::mp("msgs"));
-        set_msg_handler(pmt::mp("msgs"), boost::bind(&extract_system_info_impl::process_sysinfo, this, _1));
+        set_msg_handler(pmt::mp("msgs"), boost::bind(&extract_system_info_impl::process_sysinfo, this, boost::placeholders::_1));
     }
     
     /*
diff --git a/lib/misc_utils/message_file_sink_impl.cc b/lib/misc_utils/message_file_sink_impl.cc
index 7857e6b..3f42d21 100644
--- a/lib/misc_utils/message_file_sink_impl.cc
+++ b/lib/misc_utils/message_file_sink_impl.cc
@@ -48,7 +48,7 @@
               d_output_file(filename.c_str(), std::ofstream::binary)
     {
         message_port_register_in(pmt::mp("in"));
-        set_msg_handler(pmt::mp("in"), boost::bind(&message_file_sink_impl::process_message, this, _1));
+        set_msg_handler(pmt::mp("in"), boost::bind(&message_file_sink_impl::process_message, this, boost::placeholders::_1));
     }
 
     /*
diff --git a/lib/misc_utils/message_printer_impl.cc b/lib/misc_utils/message_printer_impl.cc
index 8342946..200888a 100644
--- a/lib/misc_utils/message_printer_impl.cc
+++ b/lib/misc_utils/message_printer_impl.cc
@@ -108,7 +108,7 @@
         d_prepend_frame_count = prepend_frame_count;
         d_print_gsmtap_header = print_gsmtap_header;
         message_port_register_in(pmt::mp("msgs"));
-        set_msg_handler(pmt::mp("msgs"), boost::bind(&message_printer_impl::message_print, this, _1));
+        set_msg_handler(pmt::mp("msgs"), boost::bind(&message_printer_impl::message_print, this, boost::placeholders::_1));
     }
 
     /*
diff --git a/lib/misc_utils/msg_to_tag_impl.cc b/lib/misc_utils/msg_to_tag_impl.cc
index e08c7e6..e145b77 100644
--- a/lib/misc_utils/msg_to_tag_impl.cc
+++ b/lib/misc_utils/msg_to_tag_impl.cc
@@ -57,7 +57,7 @@
               gr::io_signature::make(1, 1, sizeof(gr_complex)))              
     {
       message_port_register_in(pmt::mp("msg"));
-      set_msg_handler(pmt::mp("msg"), boost::bind(&msg_to_tag_impl::queue_msg, this, _1));
+      set_msg_handler(pmt::mp("msg"), boost::bind(&msg_to_tag_impl::queue_msg, this, boost::placeholders::_1));
     }
 
     /*
diff --git a/lib/misc_utils/tmsi_dumper_impl.cc b/lib/misc_utils/tmsi_dumper_impl.cc
index 043d935..3809eee 100644
--- a/lib/misc_utils/tmsi_dumper_impl.cc
+++ b/lib/misc_utils/tmsi_dumper_impl.cc
@@ -217,7 +217,7 @@
 {
     dump_file.open("tmsicount.txt", std::ios_base::app);
     message_port_register_in(pmt::mp("msgs"));
-    set_msg_handler(pmt::mp("msgs"), boost::bind(&tmsi_dumper_impl::dump_tmsi, this, _1));
+    set_msg_handler(pmt::mp("msgs"), boost::bind(&tmsi_dumper_impl::dump_tmsi, this, boost::placeholders::_1));
 }
 
 /*
diff --git a/lib/qa_utils/burst_sink_impl.cc b/lib/qa_utils/burst_sink_impl.cc
index 5151bf6..f585434 100644
--- a/lib/qa_utils/burst_sink_impl.cc
+++ b/lib/qa_utils/burst_sink_impl.cc
@@ -51,7 +51,7 @@
         d_bursts(pmt::PMT_NIL)
     {
         message_port_register_in(pmt::mp("in"));
-        set_msg_handler(pmt::mp("in"), boost::bind(&burst_sink_impl::process_burst, this, _1));
+        set_msg_handler(pmt::mp("in"), boost::bind(&burst_sink_impl::process_burst, this, boost::placeholders::_1));
     }
 
     /*
diff --git a/lib/qa_utils/message_sink_impl.cc b/lib/qa_utils/message_sink_impl.cc
index c16f133..773bd11 100644
--- a/lib/qa_utils/message_sink_impl.cc
+++ b/lib/qa_utils/message_sink_impl.cc
@@ -48,7 +48,7 @@
               gr::io_signature::make(0, 0, 0))
     {
         message_port_register_in(pmt::mp("in"));
-        set_msg_handler(pmt::mp("in"), boost::bind(&message_sink_impl::process_message, this, _1));
+        set_msg_handler(pmt::mp("in"), boost::bind(&message_sink_impl::process_message, this, boost::placeholders::_1));
     }
 
     /*
diff --git a/lib/receiver/clock_offset_control_impl.cc b/lib/receiver/clock_offset_control_impl.cc
index d62c801..c733346 100644
--- a/lib/receiver/clock_offset_control_impl.cc
+++ b/lib/receiver/clock_offset_control_impl.cc
@@ -50,7 +50,7 @@
 
 {
     message_port_register_in(pmt::mp("measurements"));
-    set_msg_handler(pmt::mp("measurements"), boost::bind(&clock_offset_control_impl::process_measurement, this, _1));    
+    set_msg_handler(pmt::mp("measurements"), boost::bind(&clock_offset_control_impl::process_measurement, this, boost::placeholders::_1));
     message_port_register_out(pmt::mp("ctrl"));
     
     set_fc(fc);
diff --git a/lib/receiver/cx_channel_hopper_impl.cc b/lib/receiver/cx_channel_hopper_impl.cc
index e5be27a..4d19818 100644
--- a/lib/receiver/cx_channel_hopper_impl.cc
+++ b/lib/receiver/cx_channel_hopper_impl.cc
@@ -71,7 +71,7 @@
         }
 
         message_port_register_in(pmt::mp("CX"));
-        set_msg_handler(pmt::mp("CX"), boost::bind(&cx_channel_hopper_impl::assemble_bursts, this, _1));
+        set_msg_handler(pmt::mp("CX"), boost::bind(&cx_channel_hopper_impl::assemble_bursts, this, boost::placeholders::_1));
         message_port_register_out(pmt::mp("bursts"));
     }
 
diff --git a/lib/transmitter/gen_test_ab_impl.cc b/lib/transmitter/gen_test_ab_impl.cc
index 1ce3658..dc0fba7 100644
--- a/lib/transmitter/gen_test_ab_impl.cc
+++ b/lib/transmitter/gen_test_ab_impl.cc
@@ -62,7 +62,7 @@
         message_port_register_in(pmt::intern("bursts_in"));
         message_port_register_out(pmt::intern("bursts_out"));
 
-        set_msg_handler(pmt::intern("bursts_in"),  boost::bind(&gen_test_ab_impl::generate_ab,   this, _1));
+        set_msg_handler(pmt::intern("bursts_in"),  boost::bind(&gen_test_ab_impl::generate_ab,   this, boost::placeholders::_1));
     }
 
     /*
diff --git a/lib/transmitter/preprocess_tx_burst_impl.cc b/lib/transmitter/preprocess_tx_burst_impl.cc
index 5fbac98..2023ee6 100644
--- a/lib/transmitter/preprocess_tx_burst_impl.cc
+++ b/lib/transmitter/preprocess_tx_burst_impl.cc
@@ -55,7 +55,7 @@
         message_port_register_out(pmt::mp("bursts_out"));
 
         set_msg_handler(pmt::mp("bursts_in"),
-          boost::bind(&preprocess_tx_burst_impl::process_burst, this, _1));
+          boost::bind(&preprocess_tx_burst_impl::process_burst, this, boost::placeholders::_1));
     }
 
     /*
diff --git a/lib/transmitter/txtime_setter_impl.cc b/lib/transmitter/txtime_setter_impl.cc
index fecc498..8e6b3cf 100644
--- a/lib/transmitter/txtime_setter_impl.cc
+++ b/lib/transmitter/txtime_setter_impl.cc
@@ -76,10 +76,10 @@
         // Bind message handlers
         set_msg_handler(pmt::mp("fn_time"),
           boost::bind(&txtime_setter_impl::process_fn_time_reference,
-            this, _1));
+            this, boost::placeholders::_1));
         set_msg_handler(pmt::mp("bursts_in"),
           boost::bind(&txtime_setter_impl::process_txtime_of_burst,
-            this, _1));
+            this, boost::placeholders::_1));
     }
 
     /*
diff --git a/lib/trx/trx_burst_if_impl.cc b/lib/trx/trx_burst_if_impl.cc
index fed84a7..70d7d32 100644
--- a/lib/trx/trx_burst_if_impl.cc
+++ b/lib/trx/trx_burst_if_impl.cc
@@ -76,7 +76,7 @@
 
         // Bind a port handler
         set_msg_handler(pmt::mp("bursts"),
-          boost::bind(&trx_burst_if_impl::handle_dl_burst, this, _1));
+          boost::bind(&trx_burst_if_impl::handle_dl_burst, this, boost::placeholders::_1));
 
         // Prepare port numbers
         std::string data_src_port = boost::lexical_cast<std::string> (base_port + 2);
@@ -88,7 +88,7 @@
 
         // Bind DATA interface handler
         d_data_sock->udp_rx_handler = boost::bind(
-          &trx_burst_if_impl::handle_ul_burst, this, _1, _2);
+          &trx_burst_if_impl::handle_ul_burst, this, boost::placeholders::_1, boost::placeholders::_2);
     }
 
     /*
