Dear ROS users, I find that whole plugin description parsing process is aborted on only one error in a description file. I don't know whether this is an intentional feature or just a bug but IMO, it would be better that the pluginlib display exact error messages and continue the process. So, I've modified slightly pluginlib/include/class_loader_imp.h and share the patch here This patch has been done against ros-electric-pluginlib_1.6.0 package. Here's the patch --- patch start --- *** class_loader_imp.old.h 2011-10-07 13:17:40.573426669 +0900 --- class_loader_imp.h 2011-10-07 13:26:41.662301933 +0900 *************** *** 63,77 **** TiXmlElement * config = document.RootElement(); if (config == NULL) { ! ROS_ERROR("XML Document \"%s\" had no Root Element. This likely means the XML is malformed or missing.", it->c_str()); ! return; } if (config->ValueStr() != "library" && config->ValueStr() != "class_libraries") { ! ROS_ERROR("The XML given to add must have either \"library\" or \ ! \"class_libraries\" as the root tag"); ! return ; } //Step into the filter list if necessary if (config->ValueStr() == "class_libraries") --- 63,77 ---- TiXmlElement * config = document.RootElement(); if (config == NULL) { ! ROS_ERROR("Skipping XML Document \"%s\" which had no Root Element. This likely means the XML is malformed or missing.", it->c_str()); ! continue; } if (config->ValueStr() != "library" && config->ValueStr() != "class_libraries") { ! ROS_ERROR("The XML document \"%s\" given to add must have either \"library\" or \ ! \"class_libraries\" as the root tag", it->c_str()); ! continue ; } //Step into the filter list if necessary if (config->ValueStr() == "class_libraries") --- patch end --- Best regards, - Yoonsoo