> > > const control_mode_statusPtr& msg = event.getMessage(); // this is line > 172 > You're assigning to a pointer from a const pointer, which is not allowed. If you want a mutable copy you can subscribe with MessageEvent instead of MessageEvent. You can also make a copy manually. > void controlModesStatusCallback(control_mode_status msg) > { > > string publisher_name = (*(msg.__connection_header))["callerid"]; > ROS_INFO_STREAM("Got control mode status, from: " << publisher_name); > latest_mode_status[node_mode_map[publisher_name]] = msg; > } > > .. is there any issue with using this? > __connection_header has been deprecated for a while, and will cease to exist in a future version of roscpp. Josh