diff --git a/NEWS b/NEWS
index c1fbe7d681898c8ed3ddf1d4819e805011a7ec96..45e6f1356925572912b7022bb584cb21f38577d3 100644
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,12 @@
+New in version 2.5.1 - 2011-12-07
+      Make destructor of TimeDependency virtual.
+      Do not hardcode dl, use ${CMAKE_DL_LIBS}.
+      Win32: Correct the importation/exportation of symbols
+      Win32: Correct a wrong macro
+      Add missing header inclusion
+      Disable a test for mac.
+      For compatibility, added a static function to bind the singleton.
+New in version 2.5 - 2011-06-21
 New in version 1.1 - 2010-09-30
       Configured dynamicGraph package and cmake files. Last-minute adjustment to code for SOT separation (SOT Break)
       Added forgotten files.
diff --git a/include/dynamic-graph/command.h b/include/dynamic-graph/command.h
index ac602054cfc06786545dd49740d52de899c96fed..b8727af9008dd94c867954abf0a76577fbbc28d0 100644
--- a/include/dynamic-graph/command.h
+++ b/include/dynamic-graph/command.h
@@ -40,7 +40,7 @@ namespace dynamicgraph {
     /// Parameters are set by calling Command::setParameterValues with a
     /// vector of Values the types of which should fit the vector specified
     /// at construction.
-    class DYNAMIC_GRAPH_DLLEXPORT Command
+    class DYNAMIC_GRAPH_DLLAPI Command
     {
     public:
       virtual ~Command();
diff --git a/include/dynamic-graph/time-dependency.h b/include/dynamic-graph/time-dependency.h
index 836643a9ffbc85a0e2207c4324853d47df26f3b0..29e80f28a62daf730a3c4bdb2cf400b14d563e9c 100644
--- a/include/dynamic-graph/time-dependency.h
+++ b/include/dynamic-graph/time-dependency.h
@@ -65,7 +65,7 @@ namespace dynamicgraph
     TimeDependency( SignalBase<Time>* sig,
 		    const SignalArray_const<Time>& arr,
 		    const DependencyType dep = DEPENDENCY_TYPE_DEFAULT );
-    ~TimeDependency  () {}
+    virtual ~TimeDependency  () {}
 
     void addDependency( const SignalBase<Time>& sig );
     void removeDependency( const SignalBase<Time>& sig );
diff --git a/include/dynamic-graph/value.h b/include/dynamic-graph/value.h
index 27d0764f65bedc4222f2956ea184d5712e9799ed..5630552a50036c2972c891235b981fb1722365f8 100644
--- a/include/dynamic-graph/value.h
+++ b/include/dynamic-graph/value.h
@@ -28,7 +28,7 @@
 namespace dynamicgraph {
   namespace command {
     class Value;
-    class EitherType {
+    class DYNAMIC_GRAPH_DLLEXPORT EitherType {
     public:
       EitherType(const Value& value);
       ~EitherType();
@@ -92,9 +92,9 @@ namespace dynamicgraph {
       static std::string typeName(Type type);
 
       /// Output in a stream
-      friend std::ostream& operator<<(std::ostream& os, const Value& value);
+      DYNAMIC_GRAPH_DLLEXPORT friend std::ostream& operator<<(std::ostream& os, const Value& value);
     public:
-      friend class EitherType;
+      DYNAMIC_GRAPH_DLLEXPORT friend class EitherType;
       bool boolValue() const;
       unsigned unsignedValue() const;
       int intValue() const;
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 932e858eced55caee1dd300457d0d7066e5d156d..cb11a31aa77f4ad1f480a6c808c14c063b5037d4 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -53,7 +53,7 @@ SET_TARGET_PROPERTIES(${LIBRARY_NAME} PROPERTIES SOVERSION ${PROJECT_VERSION})
 PKG_CONFIG_USE_DEPENDENCY(${LIBRARY_NAME} jrl-mal)
 
 IF (UNIX)
-  TARGET_LINK_LIBRARIES(${LIBRARY_NAME} dl pthread)
+  TARGET_LINK_LIBRARIES(${LIBRARY_NAME} ${CMAKE_DL_LIBS} pthread)
 ENDIF (UNIX)
 
 TARGET_LINK_LIBRARIES(${LIBRARY_NAME} ${Boost_LIBRARIES})
diff --git a/src/traces/tracer.cpp b/src/traces/tracer.cpp
index a40c7ada1ec87264d9660024b23cad8a5be95e59..ec52a3a75026f4351747468730031adb199bbf9c 100644
--- a/src/traces/tracer.cpp
+++ b/src/traces/tracer.cpp
@@ -25,6 +25,7 @@
 /* DG */
 #include <dynamic-graph/tracer.h>
 #include <dynamic-graph/debug.h>
+#include <dynamic-graph/value.h>
 #include <dynamic-graph/pool.h>
 #include <dynamic-graph/factory.h>
 #include <dynamic-graph/all-commands.h>
@@ -32,6 +33,7 @@
 
 using namespace std;
 using namespace dynamicgraph;
+using namespace dynamicgraph::command;
 
 DYNAMICGRAPH_FACTORY_ENTITY_PLUGIN(Tracer,"Tracer");
 
diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt
index f67baf5c7a9c9a02a38a45afda987db8030b56d2..e5f4a1ffb395dcd20c783332c343fc5baee8d5f6 100644
--- a/tests/CMakeLists.txt
+++ b/tests/CMakeLists.txt
@@ -60,7 +60,9 @@ ENDFOREACH()
 DYNAMIC_GRAPH_TEST(signal-cast-registerer)
 
 # Unit testing.
-DYNAMIC_GRAPH_TEST(entity)
+IF(NOT APPLE)
+  DYNAMIC_GRAPH_TEST(entity)
+ENDIF(NOT APPLE)
 DYNAMIC_GRAPH_TEST(custom-entity)
 DYNAMIC_GRAPH_TEST(factory)
 DYNAMIC_GRAPH_TEST(pool)