diff --git a/CMakeLists.txt b/CMakeLists.txt
index 7580a954..1e6f59a1 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -76,7 +76,7 @@ install(TARGETS ${PROJECT_NAME}
install(DIRECTORY include/class_loader/
DESTINATION ${CATKIN_PACKAGE_INCLUDE_DESTINATION})
-install(PROGRAMS scripts/class_loader_headers_update.py
+catkin_install_python(PROGRAMS scripts/class_loader_headers_update.py
DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION})
if(CATKIN_ENABLE_TESTING)
diff --git a/include/class_loader/class_loader_core.hpp b/include/class_loader/class_loader_core.hpp
index 791be38f..67418640 100644
--- a/include/class_loader/class_loader_core.hpp
+++ b/include/class_loader/class_loader_core.hpp
@@ -217,7 +217,7 @@ void registerPlugin(const std::string & class_name, const std::string & base_cla
if (factoryMap.find(class_name) != factoryMap.end()) {
CONSOLE_BRIDGE_logWarn(
"class_loader.impl: SEVERE WARNING!!! "
- "A namespace collision has occured with plugin factory for class %s. "
+ "A namespace collision has occurred with plugin factory for class %s. "
"New factory will OVERWRITE existing one. "
"This situation occurs when libraries containing plugins are directly linked against an "
"executable (the one running right now generating this message). "
diff --git a/package.xml b/package.xml
index 66554f3e..6cc29e0e 100644
--- a/package.xml
+++ b/package.xml
@@ -6,7 +6,8 @@
The class_loader package is a ROS-independent package for loading plugins during runtime and the foundation of the higher level ROS "pluginlib" library. class_loader utilizes the host operating system's runtime loader to open runtime libraries (e.g. .so/.dll files), introspect the library for exported plugin classes, and allows users to instantiate objects of said exported classes without the explicit declaration (i.e. header file) for those classes.
- Steven! Ragnarök
+ Michael Carroll
+ Geoffrey Biggs
BSD
http://ros.org/wiki/class_loader
@@ -14,6 +15,7 @@
https://github.com/ros/class_loader
Mirza Shah
+ Steven! Ragnarök
catkin
diff --git a/src/class_loader_core.cpp b/src/class_loader_core.cpp
index fc4da88c..a7ede3e5 100644
--- a/src/class_loader_core.cpp
+++ b/src/class_loader_core.cpp
@@ -542,6 +542,7 @@ void unloadLibrary(const std::string & library_path, ClassLoader * loader)
assert(library->isLoaded() == false);
delete (library);
itr = open_libraries.erase(itr);
+ purgeGraveyardOfMetaobjects(library_path, loader, true);
} else {
CONSOLE_BRIDGE_logDebug(
"class_loader.impl: "