diff --git a/CMakeLists.txt b/CMakeLists.txt
index aa3bc65c856d498c5dfb5f467ba895e1770ee18c..a88a31df8ae47f6589098e24d1c1eff39ece0211 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -86,7 +86,7 @@ IF (UNIX)
   SET(CPACK_DEBIAN_PACKAGE_MAINTAINER "labrobotica - labrobotica@iri.upc.edu")
 
 # Uncomment to add the necessary mantainer scripts
-#   SET(CPACK_DEBIAN_PACKAGE_CONTROL_EXTRA "${CMAKE_SOURCE_DIR}/package_scripts/preinst;${CMAKE_SOURCE_DIR}/package_scripts/postinst;${CMAKE_SOURCE_DIR}/package_scripts/prerm;${CMAKE_SOURCE_DIR}/package_scripts/postrm")
+  SET(CPACK_DEBIAN_PACKAGE_CONTROL_EXTRA "${CMAKE_SOURCE_DIR}/scripts/debian/postinst;${CMAKE_SOURCE_DIR}/scripts/debian/prerm")
 
 # Uncomment to add dependencies comma separated
 # SET(CPACK_DEBIAN_PACKAGE_DEPENDS "iri-<package_name>-dev (>= 1.0~${DISTRIB})")
diff --git a/scripts/debian/postinst b/scripts/debian/postinst
new file mode 100755
index 0000000000000000000000000000000000000000..2920ec9592890acb088e39a326b8a6d787534cdc
--- /dev/null
+++ b/scripts/debian/postinst
@@ -0,0 +1,22 @@
+#!/bin/bash
+
+set -e
+
+case "$1" in
+  configure)
+    echo "   Trying to add library to ldconfig..."
+    /usr/share/iri/add_lib_to_ld_config.sh -l dynamixel_motor_cont -p && echo "   Done." || echo "   /usr/share/iri/add_lib_to_ld_config.sh doesn't exists. Download it from iriutils and execute it."
+    
+  ;;
+  abort-upgrade)
+
+  ;;
+  abort-remove)
+
+  ;;
+  abort-deconfigure)
+
+  ;;
+esac   
+
+exit 0
diff --git a/scripts/debian/prerm b/scripts/debian/prerm
new file mode 100644
index 0000000000000000000000000000000000000000..163269025969cf5dc27fceee9e23c7e6b1b30c7b
--- /dev/null
+++ b/scripts/debian/prerm
@@ -0,0 +1,22 @@
+#!/bin/bash
+
+set -e
+
+case "$1" in
+  remove)
+    echo "   Trying to remove library from ldconfig..."
+    /usr/share/iri/remove_lib_from_ld_config.sh -l dynamixel_motor_cont -p && echo "   Done." || echo "   /usr/share/iri/remove_lib_from_ld_config.sh doesn't exists. Download it from iriutils and execute it."
+
+  ;;
+  upgrade)
+
+  ;;
+  deconfigure)
+
+  ;;
+  failed-upgrade)
+
+  ;;
+esac    
+
+exit 0
diff --git a/src/dynamixel_motor.cpp b/src/dynamixel_motor.cpp
index d67ac1f5a9b95a03daa1165a53ed8ba1cebe725c..6648e9813929c37978e943a00954e7d4a521a2b4 100644
--- a/src/dynamixel_motor.cpp
+++ b/src/dynamixel_motor.cpp
@@ -438,7 +438,7 @@ void CDynamixelMotor::read_config(std::string &filename,TDynamixel_config &confi
   {
     // try to open the specified file
     try{
-      std::auto_ptr<dynamixel_motor_config_t> cfg(dynamixel_motor_config(filename.c_str(), xml_schema::flags::dont_validate));
+      std::unique_ptr<dynamixel_motor_config_t> cfg(dynamixel_motor_config(filename.c_str(), xml_schema::flags::dont_validate));
       // configure the parameters of the controller
       config.max_angle=cfg->max_angle();
       config.min_angle=cfg->min_angle();
@@ -477,7 +477,7 @@ void CDynamixelMotor::load_config(std::string &filename)
   {
     // try to open the specified file
     try{
-      std::auto_ptr<dynamixel_motor_config_t> cfg(dynamixel_motor_config(filename.c_str(), xml_schema::flags::dont_validate));
+      std::unique_ptr<dynamixel_motor_config_t> cfg(dynamixel_motor_config(filename.c_str(), xml_schema::flags::dont_validate));
       // configure the parameters of the controller
       this->set_turn_off_alarms(cfg->alarm_shtdwn());
       this->set_position_range(cfg->min_angle(), cfg->max_angle());
diff --git a/src/dynamixel_motor_group.cpp b/src/dynamixel_motor_group.cpp
index f29b675e79693922500378f75993cdc573aa2ad9..3f4f935e041b2a00e53f41ec0cbe499afea03c36 100644
--- a/src/dynamixel_motor_group.cpp
+++ b/src/dynamixel_motor_group.cpp
@@ -660,7 +660,7 @@ TDynamixelGroup_config CDynamixelMotorGroup::read_config(std::string &filename)
   {
     // try to open the specified file
     try{
-      std::auto_ptr<dyn_motor_group_config_t> cfg(dyn_motor_group_config(filename.c_str(), xml_schema::flags::dont_validate));
+      std::unique_ptr<dyn_motor_group_config_t> cfg(dyn_motor_group_config(filename.c_str(), xml_schema::flags::dont_validate));
       config.id.resize(cfg->dyn_motor_config().size());
       config.dyn_config.resize(cfg->dyn_motor_config().size());
       config.pid_control.resize(cfg->dyn_motor_config().size());
@@ -703,7 +703,7 @@ void CDynamixelMotorGroup::load_config(std::string &filename)
   {
     // try to open the specified file
     try{
-      std::auto_ptr<dyn_motor_group_config_t> cfg(dyn_motor_group_config(filename.c_str(), xml_schema::flags::dont_validate));
+      std::unique_ptr<dyn_motor_group_config_t> cfg(dyn_motor_group_config(filename.c_str(), xml_schema::flags::dont_validate));
       pid.resize(cfg->dyn_motor_config().size());
       punch.resize(cfg->dyn_motor_config().size());
       compliance.resize(cfg->dyn_motor_config().size());
@@ -717,7 +717,7 @@ void CDynamixelMotorGroup::load_config(std::string &filename)
           this->init_motor(iterator->id());
         // load the configuration file
         full_path=path+iterator->config_file();
-        std::auto_ptr<dynamixel_motor_config_t> motor(dynamixel_motor_config(full_path.c_str(),xml_schema::flags::dont_validate));
+        std::unique_ptr<dynamixel_motor_config_t> motor(dynamixel_motor_config(full_path.c_str(),xml_schema::flags::dont_validate));
         this->set_position_range(i,motor->min_angle(),motor->max_angle());
         this->set_temperature_limit(i,motor->temp_limit());
         this->set_voltage_limits(i,motor->min_voltage(),motor->max_voltage());
diff --git a/src/xml/CMakeLists.txt b/src/xml/CMakeLists.txt
index 2dea08f0b25c5f5f11532c400d93b332f0cd621c..458170b40da7d83a86b5af30e2a0bac833e4bff4 100644
--- a/src/xml/CMakeLists.txt
+++ b/src/xml/CMakeLists.txt
@@ -37,7 +37,7 @@ IF(XSD_FOUND)
       ADD_CUSTOM_TARGET(xsd_files_gen DEPENDS ${XSD_SOURCES_INT})
       ADD_CUSTOM_COMMAND(
          OUTPUT ${XSD_SOURCES_INT}
-         COMMAND xsdcxx cxx-tree --generate-serialization ${XSD_FILES}
+         COMMAND xsdcxx cxx-tree --std c++11 --generate-serialization ${XSD_FILES}
          WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
          DEPENDS ${XSD_PATH_FILES}
          COMMENT "Parsing the xml template file ${XSD_FILES}")